Mojaloop published Helm Repo: http://mojaloop.io/helm/repo/
Mojaloop deployment documentation: http://mojaloop.io/documentation/deployment-guide/
Refer to Helm docs for more information: https://docs.helm.sh/
- Add Helm dependency repositories:
helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator;
helm repo add kiwigrid https://kiwigrid.github.io;
helm repo add elastic https://helm.elastic.co
- Add Mojaloop repo
helm repo add mojaloop http://mojaloop.io/helm/repo/
- Keep your local Mojaloop repo up to date
helm repo up mojaloop
- Deploy specific chart
helm install --debug --namespace=<namespace> --name=<release-name> --repo=http://mojaloop.io/helm/repo <chart_name>
e.g. helm install --debug --namespace=mojaloop --name=dev --repo=http://mojaloop.io/helm/repo centralledger
- Deploy specific chart overriding values
helm install --debug --namespace=<namespace> --name=<release-name> --repo=http://mojaloop.io/helm/repo -f <values_file> <chart_name>
e.g. helm install --debug --namespace=mojaloop --name=dev --repo=http://mojaloop.io/helm/repo -f ./values.yaml centralledger
Refer to the following default chart config file for values: http://mojaloop.io/helm/<chart_name>/values.yaml
- Deploy Mojaloop components
Warning: This will deploy all charts.
helm install --debug --namespace=<namespace> --name=<release-name> --repo=http://mojaloop.io/helm/repo mojaloop
e.g. helm install --debug --namespace=mojaloop --name=dev --repo=http://mojaloop.io/helm/repo mojaloop
helm upgrade --debug <release-name> --repo=http://mojaloop.io/helm/repo <chart_name>
e.g. helm upgrade --debug dev --repo=http://mojaloop.io/helm/repo centralenduserregistry
Note: Please ensure that you update the Chart dependencies in the order show below.
helm dep up centralkms
helm dep up forensicloggingsidecar
helm dep up centralledger
helm dep up centralhub
helm dep up mockpathfinder
helm dep up centralenduserregistry
helm dep up centraldirectory
helm dep up centralsettlement
helm dep up central
helm dep up ml-api-adapter
helm dep up interop-switch
helm dep up mojaloop
We are quitely waiting on recursive updates: helm/helm#2247
Alternatively please use the helper script sh ./update-charts-dep.sh
.
This script will ensure the correct order is maintained.
- Deploy specific chart
helm install --debug --namespace=<namespace> --name=<release-name> <chart_directory>
e.g. helm install --debug --namespace=mojaloop --name=dev ./centralledger
- Deploy mojaloop componenets
Warning: This will deploy all charts.
helm install --debug --namespace=<namespace> --name=<release-name> ./mojaloop
e.g. helm install --debug --namespace=mojaloop --name=dev ./mojaloop
- Deploy Ingress
helm install --debug --namespace=<namespace> --name=<release-name> ./kube-public/ingress-nginx
e.g. helm install --debug --namespace=kube-public --name=<release-name> ./kube-public/ingress-nginx
helm upgrade --debug <release-name> <chart_directory>
e.g. helm upgrade --debug dev ./centralenduserregistry/
- Add the following to your hosts file and ensure you have installed Ingress Controller on your Kubernetes Cluster:
<ip-of-k8s-node-ingress> ml-api-adapter.local central-ledger.local account-lookup-service.local quoting-service.local central-settlement.local moja-simulator.local
- Curl Health End-points for ML-API-Adapter
curl http://ml-api-adapter.local/health
Expected output:
{"status":"OK"}
- Curl Health End-points for Central Ledger
curl http://central-ledger.local/health
Expected output:
{"status":"OK"}
helm del --purge <release-name>
e.g. helm del --purge dev
- Execute a dry-run to display all the Kubernetes deployment files
helm install --dry-run --debug --namespace=<namespace> --name=<release-name> <chart_directory>
- Use Helm Linter to check for any issues
helm lint --strict <chart_directory>
1.) Lint charts
This will Lint all parent charts to ensure they conform to Helm standards
lint-charts.sh
1.) Update charts
Update all charts, and their respective dependencies (requirements).
update-charts-dep.sh
1.) Package charts
Package all charts, and created an index.yaml in ./repo directory
sh package.sh
Refer to Monitoring Documentation