繁体   English   中英

从 yaml 管道传递的 Helm Concat 模板参数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM