diff --git a/README.md b/README.md index 5b41d84..b01b72e 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,45 @@ The official [Helm chart](https://helm.sh/) for [Hypeledger Firefly](https://hyp related connector microservices. See the [chart `README`](charts/firefly/README.md) for installation and configuration instructions. +## Quick Start + +If you want to run these charts locally on your own machine, you can run a single command to get a fully working stack, end-to-end: + +``` +make stack +``` + +This will create a pre-set environment with the following configuration: + +- Runs all containers in [kind](https://kind.sigs.k8s.io/) +- Sets up a PostgreSQL DB in the K8s cluster +- Creates a basic single node Besu blockchain also running in the K8s cluster +- Sets up FireFly and all of its dependencies to use these services +- Sets up an ERC-20 / ERC-721 Token Connector in this stack +- Provides an optional script to enable multiparty mode after initial set up + +If you wish to make changes to your stack you can modify `./charts/firefly/local-kind-values.yaml` and run: + +``` +helm upgrade --install firefly ./charts/firefly -f ./charts/firefly/local-kind-values.yaml +``` + +### Enabling multiparty mode + +After you run the quickstart command above, you can also (optionally) enable Multiparty mode. This will enabled FireFly's advanced Messaging features. To enable that, you can run the shell script: + +``` +./hack/multiparty.sh +``` + +This will deploy the multiparty contract, update the config file, and register the org/node for you automatically. If you need to upgrade the multiparty in the future, you can run this script again and it will deploy and configure a new contract. It will not re-run registration if the org/node are already registered. + +> NOTE: If you have enabled multiparty mode and you wish to make changes by customizing your values file, be sure to include the multiparty values as well, otherwise they will be removed and your multiparty network will not work. +> +> ``` +> helm upgrade --install firefly ./charts/firefly -f ./charts/firefly/local-kind-values.yaml -f ./hack/multiparty-values.yaml +> ``` + ## Accessing the Helm Repo Helm's [experimental OCI registry support](https://helm.sh/docs/topics/registries/) is used for publishing and retrieving @@ -25,9 +64,9 @@ helm registry login ghcr.io ### Prerequisites -* [kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installing-with-a-package-manager) 0.11+ -* [helm](https://helm.sh/docs/intro/install/) 3.7+ -* [ct](https://github.com/helm/chart-testing#installation) 3.4+ +- [kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installing-with-a-package-manager) 0.11+ +- [helm](https://helm.sh/docs/intro/install/) 3.7+ +- [ct](https://github.com/helm/chart-testing#installation) 3.4+ ### Linting