values.yaml
...
sloth:
service: '{{ include "test.serviceName" . }}.{{ .Release.Namespace }}'
...
в templates/some-shit.yaml
...
spec:
service: {{ tpl .Values.sloth.service . }}
...
если в values оставить '{{ include "test.serviceName" . }}.{{ .Release.Namespace }}' в одинарных кавычках, то так работает. Если одинарные кавычки убрать, то отваливается с такой ошибкой
Error: cannot load values.yaml: error converting YAML to JSON: yaml: line 59: did not find expected key
Хотелось бы чтобы го шаблон в values.yaml был без кавычек.
Пробовал такой вариант
{{ .Values.sloth.service | quote | tpl }}
— не помогло.
В общем нужно, чтобы кавычки ставились уже в templates/some-shit.yaml а не в values.yaml
согласно спецификации ямла (https://yaml.org/spec/1.2.2/) в качестве значения {{ .. }} не подходит. Поэтому оборачивая его в ''/"" вы превращаете его в строку (что уже является допустимым типом значений)
я бы хотел, чтобы он оборачивал в "" значение {{ ... }} из values на этапе рендеринга в temlates файле
хельм проверяет валидность yaml-файла - и если файл невалидный, то ругается. Разве что ключ у хельма поискать чтобы он валидацию values.yaml не делал
Обсуждают сегодня