我可以在头盔模板中引用值文件中的整个部分吗?

时间:2019-10-17 01:31:02

标签: kubernetes-helm

我的我的values.yaml如下

account:
  - name: abc
    value: value1
  - name: xyz
    value: value2

我想在我的头盔模板中引用它们。而不是将它们称为

accounts:
  - name: acount1
    value: "{{ .Values.account.abc }}"
  - name: account2
    value: "{{ .Values.account.xyz }}"

有没有一种方法可以将模板中的整个块称为

accounts:
      {{ .Values.account }}

,它将遍历values.yaml文件中传递的所有值?

2 个答案:

答案 0 :(得分:0)

Helm具有一个文档最少的toYaml函数,该函数将把任意结构编写为YAML。您还需要将其缩进到输出结构中的accounts:下,而sprig indentnindent函数可以帮助解决这个问题。

accounts: {{- .Values.account | toYaml | trim | nindent 2 }}

答案 1 :(得分:0)

可以弄清楚。这行得通。

accounts:
   {{- range $account := .Values.account }}
   - name: {{ $account.name }}
     value: {{ $account.value | quote }}
   {{- end }}