仅当地图中存在条目时才在 helm 模板中创建条目
Create entry in helm template only if an entry exists in a map
假设这张地图存在于我的 values.yaml
something:
somethingElse:
variable1: value1
variable2: value2
variable3: value3
我想为 kubernetes
Secret
资源创建一个 helm 模板(虽然这不是最重要的)当且仅当说键 - 值对 variable2: value2
存在. (我实际上只是想匹配 variable2
的存在,而不是 value2
的值)
我知道如何range
包含所有条目
{{- range $name, $value := .Values.something.somethingElse }}
{{indent 4 $name }}: {{ $value }}
{{- end }}
但在伪代码中,我想要的是
if variable2 in .Values.something.somethingElse
variable2: value2
使用 helm
模板语言是否可行?
Helm 包含流程控制,您可以创建 if / else
条件块,对于您的情况,此示例可能会有所帮助。
在你的values.yaml
foo:
enabled: true
因此,在您的模板中:
{{- if .Values.foo.enabled }}
--- TEMPLATE CODE --
{{- end }}
参考:https://helm.sh/docs/chart_template_guide/control_structures/
你可以这样做:
{{if (index .Values.something.somethingElse "variable2")}}
假设这张地图存在于我的 values.yaml
something:
somethingElse:
variable1: value1
variable2: value2
variable3: value3
我想为 kubernetes
Secret
资源创建一个 helm 模板(虽然这不是最重要的)当且仅当说键 - 值对 variable2: value2
存在. (我实际上只是想匹配 variable2
的存在,而不是 value2
的值)
我知道如何range
包含所有条目
{{- range $name, $value := .Values.something.somethingElse }}
{{indent 4 $name }}: {{ $value }}
{{- end }}
但在伪代码中,我想要的是
if variable2 in .Values.something.somethingElse
variable2: value2
使用 helm
模板语言是否可行?
Helm 包含流程控制,您可以创建 if / else
条件块,对于您的情况,此示例可能会有所帮助。
在你的values.yaml
foo:
enabled: true
因此,在您的模板中:
{{- if .Values.foo.enabled }}
--- TEMPLATE CODE --
{{- end }}
参考:https://helm.sh/docs/chart_template_guide/control_structures/
你可以这样做:
{{if (index .Values.something.somethingElse "variable2")}}