Helm is the package manager for Kubernetes. Helm uses a packaging format called charts. A chart is a collection of files that describe a related set of Kubernetes resources. A single chart might be used to deploy something simple, like a memcached pod, or something complex, like a full web app stack with HTTP servers, databases, caches, and so on.
Bahmni preferred using helm-charts over other tools due to the following reasons:
🔘 Reduces the complexity of deploying microservices
🔘 Simplifies deployment scripts and files (all defined in YAML)
🔘 Improves the productivity of the deployments and rollback
🔘 Provides a way of versioning the Kubernetes resources as a single unit.
Bahmni: Helm Charts
Bahmni is using Helm-charts for its Kubernetes Packaging Structure . All the deployments in the Lite env happened using helm-charts deployment. We have implemented helm-umbrella-charts for better management of resources.
Below is the K8s packaging Structure we follow in Bahmni: