I've devised below way for managing helm chart dependencies in the context of CI/CD pipelines and not sure it's correct.
- each chart source code has to be in a dedicated repository as a convention.
- each chart should specify its dependencies in Chart.yaml under dependencies field
- folder
charts
should be in.gitignore
- CI pipelines will:
- run
helm repo add
for each dependency helm repo - run
helm dependency build
to download dependencies tocharts
folder according to lock file. - run
helm package
in order to includecharts
folder in the built chart duringrelease
phase. Built chart will be promoted to higher environments and pipelines as is with its dependencies (no dependency updates will be performed there).
- run
What's the industry standard way for managing dependencies of a helm chart (should they be ignored in .gitignore
?)