Коллеги из флант (@ilya_lesikov) , добрый день. Есть вопрос по

helm-apps

Действительно ли должна работать конструкция на строках 23-24 из скриншота (т.е. в секции global._includes)? В репе файла config/test-include-from-file.yaml нет, что там внутри не понятно (пробовал положить простой map). Но конструкция не работает, значения из файла укзанного в _include_from_file не подтягиваются. При этом сама конструкция _include_from_file в других местах values.yaml, работает.

https://github.com/flant/helm-apps/blob/main/tests/.helm/values.yaml

вариант (21-22 строки):
global:
_includes:
_include_from_file: xxxx

работает, да. Но хотелось бы иметь несколько файлов из которых брать те или иные дефолтные значения, так как
global:
_includes:
_include_from_file: xxxx
_include_from_file: yyyy

не работает, видимо ключ _include_from_file под _includes может быть только один. При этом в сабчартах такой global._includes уже не оверрайдится, поэтому приходится мержить в этот xxxx всё необходимое для сабчартов и файл сильно жирный и нечитаемым становится

11 ответов

29 просмотров

Вопрос терпит до понедельника?

Сергей-Голод Автор вопроса
Aleksei Igrychev
Вопрос терпит до понедельника?

думаю что да. Я пока дополню, там походу ещё проблема вскрылась

Сергей-Голод Автор вопроса

Дополню дополнительной проблемой(?)/вопросом: имею вот такую конструкцию: values.yaml: global: connectorsEnvs: _include_from_file: envs.yaml _addon_fixed: _default: "111" master: "222" envs.yaml: PARAM1: _default: "default_value" master: "prod_value" PARAM2: _default: "default_value" master: "prod_value" в родительском чарте есть генератор ConfigMap (templates/cm.yaml): --- apiVersion: v1 kind: ConfigMap metadata: name: global-connectors-envs data: env: {{ include "fl.generateContainerEnvVars" (list $ . $.Values.global.connectorsEnvs) | nindent 4 }} при генерации манифестов родительского чарта всё работает корректно: ... data: env: - name: "PARAM1" value: "default_value" - name: "PARAM2" value: "default_value" - name: "_addon_fixed" value: "111" но точно такой генератор есть и в сабчарте, и там генерация не работает (значения из файла envs.yaml не подтягиваются), что с одной стороны логично (Values.global не являются результатом генерации). Но при отладке: data: {{ $.Values.global.connectorsEnvs | toYaml | nindent 2 }} действительное содержимое в сабчарте: data: _addon_fixed: _default: "111" master: "222" т.е. строка _include_from_file: envs.yaml была обработана(применена) для корневого чарта и далее удалена из глобальной мапы в и не передалась в сабчарт Это ожидаемое поведение?

Сергей Голод
Дополню дополнительной проблемой(?)/вопросом: имею...

Воу, а что за конструкция _include_from_file где про это почитать?

Сергей-Голод Автор вопроса
Konstantin S
Воу, а что за конструкция _include_from_file где п...

это не совсем относится к werf. Это "универсальный" чарт от этой же команды: https://github.com/flant/helm-apps/blob/main/docs/example/.helm/values.yaml

Сергей-Голод Автор вопроса
Aleksei Igrychev
Вопрос терпит до понедельника?

Утро! Апну), раз пнд уже наступил. Там и второе было следом: https://t.me/werf_ru/37121

На 24 строке видимо просто опечатка, в таком виде не должно работать. Но вообще это просто тесты. Так действительно нельзя, скорее всего это даже невалидный yaml: global: _includes: _include_from_file: xxxx _include_from_file: yyyy На всякий случай попробуйте ещё так, вдруг реализовано: global: _includes: _include_from_file: ["xxxx", "yyyy"] Если нет, значит сейчас оно так не умеет. Но предполагаю, что разбить на несколько файлов можно таким образом: global: _includes: backend: _include_from_file: "values-backend.yaml" frontend: _include_from_file: "values-frontend.yaml"

Сергей Голод
Дополню дополнительной проблемой(?)/вопросом: имею...

а файл envs.yaml где лежит? И сколько штук таких файлов, одна?

Сергей-Голод Автор вопроса
Ilya Lesikov L.
а файл envs.yaml где лежит? И сколько штук таких ф...

в .helm/envs.yaml в корневом чарте этот файл в единственном экземпляре. В качестве временного решения пришлось положить этот же файл и в сабчарт но проблема обнаружена и воспроизводима именно с файлом в единственном экземпляре

Похожие вопросы

Обсуждают сегодня

Приветствую еще раз) Появился вопрос, можно ли в kube-run прокинуть ENV переменные из сикрета и/или конфигмапы а еще лучше из values, в примерах видел только из .env, но это ...
Vladislav Antipov
5
Всем привет, все время юзал бандлы, но появилась задача по базовому образу и команда werf build не пушит образ werf build --config='./root/werf.yaml' --repo ${CI_REGISTRY_IMAG...
Илья Корж
4
всем трям! Кто-нибудь работал со связкой werf + harbor + trivy ? Во время сборки образа выходит ошибка "PROJECTPOLICYVIOLATION: current image with "Pending" status of vulnerab...
Авессалом
16
Всем привет, подскажите, пожалуйста, сколько живет connection к рэббиту, могу ли я использовать один инстанс подключения? Если да, то считается ли это хорошей практикой? Вот п...
Sergey
3
Подскажите пожалуйста, почему на mac m1 (arm) не монтируется ssh-agent сокет в собираемый образ? В системе не запущен ssh-agent и переменная среды SSH_AUTH_SOCK не задана. tes...
Eugene Shutov
6
Всем здравствуйте!) У меня такой вопрос. Есть два роута, роут1 и роут2. Они связаны с очередью some_queue. По задаче предполагается, что есть два паблиша. Паблиш1 отправляет...
Format
10
У меня вот такая ситуация. Хочу собирать кастомизированный образ postgres, но катить его чарт bitnami/postgresql. В .helm/Chart.yaml моего проекта добавлен зависимый чарт bitn...
Ilya Kanyukov
2
А если для werf организовать отдельный репозиторий, а сервисы из проекта подключить как симлинки? И симлинки в гитигнор добавить?
Dmitriy Andreev
13
Всем, привет Есть задача использовать публичные helm чарты и добавлять к ним свои изменения отдельным файлом. Это позволит легко обновляться при выходе новой версии чарта, та...
Andrey Asoskov
1
Всем привет! Хочу скрестить ужа с ежом, но не могу понять как лучше реализовать. Подскажите, пожалуйста. У меня есть кастомный оператор для бандлов werf. Он худо-бедно свою з...
სერგეი ქრისტოვი
6
Карта сайта