werf implements giterminism mode when reading helm configuration. Configuration files or any supplement files should reside in the current commit of the git repository of the project, because werf would read all of these files directly from the git repository. These files include:
-
All chart configuration files:
.helm/ Chart.yaml Chart.lock templates/ <name>.yaml <name>.tpl <some_dir>/ <name>.yaml <name>.tpl charts/ secret/ values.yaml secret-values.yaml
-
Any supplement user defined values files passed with
--values
,--secret-values
,--set-file
options.
NOTE werf has the development mode, allowing working with project files without redundant commits during debugging and development. To enable the mode, specify the --dev
option (e.g., werf converge --dev
).
Subcharts and giterminism
To use subcharts correctly one must add .helm/Chart.lock
file and commit into the git repository. werf will automatically download all dependencies specified in the lock-file and load subcharts correctly. It is better to add .helm/charts
directory into the project .gitignore
in such case.
One may explicitly add chart files into the .helm/charts/
directory and commit this directory into the repo. In such case werf will download subcharts specified in the .helm/Chart.lock
and also load .helm/charts
directory charts and merge resulting charts. Charts defined in the .helm/charts
will have a higher priority in such case and should redefine duplicates from .helm/Chart.lock
.
More info about subcharts available in the separate article.