我的
values.yaml
中有一个带有对象数组的舵图。
每个对象都有:
名称、路径、令牌。
所以数组看起来像:
my_array:
- name: hi
path: /some_path
token: some_token
我想按如下方式迭代该数组(创建一个秘密):
{{ - range .Values.my_array }}
{{ .name }}-data: {{ $.Files.Get .path }}
{{ .name }}-token: {{ .token }}
{{ end }}
在每个
{{ .name }}-data
中,我想要该路径中文件的实际内容。
按照上面的方法我得到:
Unknown object "nil"
其他一切都工作正常,如果我将文件路径更改为实际路径而不是
.path
,它就可以正常工作。
正确的语法是什么?
您的代码似乎是正确的,也许是需要修复的路径?
考虑以下文件夹结构:
/my-helmchart
/files
bar.txt
foo.txt
/templates
sometemplate.yaml
Chart.yaml
values.yaml
迭代数组:
data:
{{- range .Values.my_array }}
{{ .name }}-data: {{ $.Files.Get .path }}
{{ .name }}-token: {{ .token }}
{{- end }}
使用以下
values.yaml
my_array:
- name: foo
path: files/foo.txt
token: foo_token
- name: bar
path: files/bar.txt
token: bar_token
helm template
的输出:
# Source: my-helmchart/templates/sometemplate.yaml
data:
foo-data: This is the content of foo.txt
foo-token: foo_token
bar-data: This is the content of bar.txt
bar-token: bar_token