Giter Club home page Giter Club logo

helm's Introduction

Mojaloop Helm Charts

Mojaloop published Helm Repo: http://mojaloop.io/helm/repo/

Refer to Helm docs for more information: https://docs.helm.sh/

Deployment from Repo

  1. 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

  1. 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

  1. Deploy Mojaloop componenets

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

  1. Deploy Ingress
  • helm install --debug --namespace=<namespace> --name=<release-name> --repo=http://mojaloop.io/helm/repo ingress-nginx

e.g. helm install --debug --namespace=kube-public --name=<release-name> --repo=http://mojaloop.io/helm/repo ingress-nginx

Upgrading Deployments from Repo

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

Update Chart Dependencies for Source

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 central
  • 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.

Deployment from Source

  1. Deploy specific chart
  • helm install --debug --namespace=<namespace> --name=<release-name> <chart_directory>

e.g. helm install --debug --namespace=mojaloop --name=dev ./centralledger

  1. 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

  1. 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

Upgrading Deployments from Source

helm upgrade --debug <release-name> <chart_directory>

e.g. helm upgrade --debug dev ./centralenduserregistry/

Testing Deployments

  1. Add the following to your hosts file and ensure you have installed Ingress Controller on your Kubernetes Cluster:

<ip-of-k8s-node-ingress> central-kms.local forensic-logging-sidecar.local central-ledger.local central-end-user-registry.local central-directory.local central-hub.local

If your running Minikube, you can use the following cmd to discover your <ip-of-k8s-node-ingress>:

minikube ip

  1. Curl Health End-points for Central Ledger http://central-ledger.local/admin/accounts

curl http://central-ledger.local/health

curl http://central-ledger.local/admin/health

Expected output:

{"status":"OK"}

  1. Confirm Central Ledger DB Connectivity

curl http://central-ledger.local/admin/accounts

Expected output:

[{"name":"LedgerName","id":"central-ledger.local/accounts/LedgerName","created":"2017-12-06T20:57:05.760Z","is_disabled":false,"_links":{"self":"central-ledger.local/accounts/LedgerName"}}]

  1. Open the Central Management Hub in your browser

http://central-hub.local/members

Check to see that an account name "LedgerName" is displayed

Removing Deployments

helm del --purge <release-name>

e.g. helm del --purge dev

Debugging Charts

  1. Execute a dry-run to display all the Kubernetes deployment files

helm install --dry-run --debug --namespace=<namespace> --name=<release-name> <chart_directory>

  1. Use Helm Linter to check for any issues

helm lint --strict <chart_directory>

Helper scripts

Ingress

1.) Deploy Ingress

This will deploy a new Ingress Nginx Controller with TCP and HTTP Ingress

sh deploy-ingress.sh -r lb -e -o ./config-ingress.yaml

2.) Undeploy Ingress

sh clean.sh -r lb -e

Central

1.) Deploy Central

This will deploy a new Ingress Nginx Controller with TCP and HTTP Ingress

sh deploy-central.sh -r dev -e -o ./config-central.yaml

2.) Undeploy Central

sh clean.sh -r dev -e

Package

1.) Package charts

Package all charts, and created an index.yaml in ./repo directory

sh package.sh

helm's People

Contributors

mdebarros avatar ksatya77 avatar fbotha-stratuscloud avatar

Stargazers

 avatar

Forkers

shashi165

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.