I have a deployment.yaml template
env:
{{- range .Values.env_map }}
- name: {{ .name }}
value: {{ .value }}
{{ end }}
and my file env variable : env/values.dev.yaml
env_map:
- name: toto
value: {{ .Values.release_name }}-toto-{{ .Values.env }}
my values.yaml
release_name: {{ .Release.Name }}
I want to use .Release.Name and variable inside the same file.
I have got an error when I try :
helm template toto . -f env/values.dev.yaml
Error: failed to parse env/values.dev.yaml: error converting YAML to JSON: yaml: line 2: did not find expected key
how I can give Release.Name through the env file
try tpl function
values.yaml
env_map:
- name: toto
value: "{{ .Release.Name }}-toto-{{ .Release.Name }}"
- name: momo
value: "{{ .Release.Name }}-momo-{{ .Release.Name }}"
- name: nono
value: "{{ .Release.Name }}-nono-{{ .Release.Name }}"
templates/deployment.yaml
env:
{{- range .Values.env_map }}
- name: {{ .name }}
value: {{ tpl .value $ }}
{{- end }}
output
env:
- name: toto
value: test-toto-test
- name: momo
value: test-momo-test
- name: nono
value: test-nono-test