I am trying dynamically assigning the values from separate values.yaml file to a variable.
My values.yaml file content
peer_cidr1 = x
peer_cidr2 = y
peer_cidr3 = z
Yaml file:
{{- $root := . -}}
{{ range $i, $dn := until (atoi (printf "%d" (int64 .Values.no_of_peers))) }}
{ "dst": "{{ $root.Values.peer_cidr$i }}" }
Referring as Values.peer_cidr$i to refer variables from values.yaml. $i is throwing bad character error.
$root.Values.peer_cidr$i
is invalid syntax in templates.Instead use the
index
function, e.g.Also note that the index stats at
0
but the values you want to look up start at1
(e.g.peer_cidr1
), so the value for index0
will not exist, and you will not visit the last element. So add 1 to the$i
like this: