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