TLDR;
Невозможно объявить dict многострочным способом, как с оператором Perl с запятой .
Пожалуйста, проверьте ссылку из «Sprig: Шаблонные функции для шаблонов Go».
Вместо этого вы можете использовать этот хакерский способ для достижения аналогичного результата:
- Храните каждую пару значений ключа в отдельной строке, в файле глобальных значений для удобства чтения:
# values.yaml
--
global:
someMap:
coffee: robusta
origin: Angola
crema: yes
Определить вспомогательный шаблон в _helpers.tpl:
{{- define "mychart.labels.standard"}}
{{- $global := default (dict) .Values.global.someMap -}}
Release: {{ .Release.Name | quote }}
Chart: {{ .Chart.Name }}
Values:
{{- $global := default (dict) .Values.global.someMap -}}
{{- range $key, $value := $global }}
{{ $key }}: {{ $value }}
{{- end }}
{{- end -}}
Включить его в другой шаблон:
helm_data:
{{- $global := default (dict) .Values.global -}}
{{- range $key, $value := $global }}
{{ $key }}: {{ $value }}
{{- end }}
{{ include "mychart.labels.standard" . | nindent 0 -}}
Визуализация для проверки результата (шаблон руля --name dict-chart.)
---
# Source: mychart/templates/data_type.yaml
helm_data:
someMap: map[crema:true origin:Angola coffee:robusta]
Release: "dict-chart"
Chart: mychart
Values:
coffee: robusta
crema: true
origin: Angol