5. Helmfile
Helmfile is a way to install multiple helm charts easily. To install, download from https://github.com/helmfile/helmfile/releases, extract the archive, and copy helmfile to a directory on your $PATH.
An example Helmfile app is at https://github.com/wkrzywiec/helm-course/tree/5-3. First, inspect the helmfile.yaml:
helmDefaults:
wait: true
timeout: 600
repositories:
- name: helm-app
url: https://wkrzywiec.github.io/helm-app
- name: bitnami
url: https://charts.bitnami.com/bitnami
releases:
- name: kanban-frontend
namespace: kanban
chart: ./app
values:
- kanban-frontend.yaml
- name: kanban-backend
namespace: kanban
chart: helm-app/app
values:
- kanban-backend.yaml
needs:
- postgres
- name: postgres
namespace: kanban
chart: bitnami/postgresql
values:
- postgres.yaml
We see that the three Helm charts required for the app are all defined in the file, with kanban-backend listed as requiring postgres as a dependency.
All included Helm charts can be installed in one line with helmfile sync, and uninstalled with helmfile destroy.
Other commands include helmfile lint which lints all the charts in the helmfile, and helmfile show-dag to show the partial order of chart installation defined by the listed dependencies between charts.
For more information, see https://helmfile.readthedocs.io/en/latest/.