werf реализует режим гитерминизма при чтении конфигурации helm. Все конфигурационные файлы и дополнительные файлы (указанные через параметры) должны быть в коммитнуты в текущем коммите git репозитория проекта, потому что werf будет читать конфигурацию напрямую из git. Эти файлы включают в себя:
-
Все конфигурационные файлы чарта:
.helm/ Chart.yaml Chart.lock templates/ <name>.yaml <name>.tpl <some_dir>/ <name>.yaml <name>.tpl charts/ secret/ values.yaml secret-values.yaml
-
Любые дополнительные файлы со значениями (values), указанные пользователем с помощью опций
--values
,--secret-values
,--set-file
.
ЗАМЕЧАНИЕ werf поддерживает режим разработки, который позволяет работать с файлами проекта без создания ненужных промежуточных коммитов в процессе отладки и разработки. Режим активируется опцией --dev
(к примеру, werf converge --dev
).
Сабчарты и гитерминизм
Для корректного использования сабчартов необходимо добавить файл .helm/Chart.lock
и коммитнуть его в git репозиторий. werf автоматически скачает все зависимости указанные в lock-файле и загрузит файлы сабчартов корректно. Для стандартного кейса использования рекомендуется добавить директорию .helm/charts
в .gitignore
.
Имеется возможность явно добавить файлы сабчартов в директорию .helm/charts/
и коммитнуть содержимое этой директории в git репозиторий. В таком случае werf скачает все сабчарты указанные в .helm/Chart.lock
и загрузит чарты существующие в директории .helm/charts
и совместит их. Чарты указанные в .helm/charts
будут иметь приоритет в данном случае и должны переопределять чарты указанные в .helm/Chart.lock
.
Больше информации по сабчартам в отдельной статье: зависимости чартов.