[英]Helm Concat tamplate parameter which passed from yaml pipeline
我有几个 yaml 文件,我尝试对其进行概括。
我有util.tpl
:
{{- define "pod-test" -}}
{{- if eq .Values.appName.properties.name "m1" }}
x: {{.Values.appName.properties.x }}
{{- end }}
我想让Values.appName.properties.x
中的appName
字符串动态化。
我从目的地 YAML 调用此模板
{{- include "pod-test" . (list "app-name") | indent 2}}
但我找不到一种方法来连接到类似的东西:
{{- $arg1 := index . 0 }}
{{.Values.{{ $arg1 }}.properties.x }}
这只是行不通,最好的方法是什么?
不会在掌舵上工作。 相反,您可以使用index
function。 由此:
{{ .Values.{{ .app-name }}.properties.x }}
对此:
{{ (index .Values .app-name).properties.x }}
请记住.Values[.app-name]
应该存在,否则它将引发错误,因为它将尝试从nil
object 访问属性。 您可以做的是将其包含在 if 块中,检查属性是否存在。
{{ if has .Values .index }}
{{ (index .Values .app-name).properties.x }}
{{ end }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.