我正在尝试使用此 PR 中描述的方法从子图表访问父 Helm 图表中的值:
{{ template "foo-bar.fullname" .Subcharts.foo-bar }}-rest-of-string
但是,由于子图表名称中包含破折号,因此在执行此操作时出现
bad character U+002D '-'
错误。
无法重命名子图,因为它位于上游。
我该如何规避这个问题?
使用helm v3.13.0。
Go text/template 文档没有完全阐明变量或字段名称中允许使用哪些字符的规则,但如果遵循 Go 的规则,则
-
不允许出现在名称中间(在Go 这将是一个减法运算符)。
您可以使用标准的
index
函数来解决这个问题。 index $foo "bar"
与 $foo.bar
相同,但 index
使用带引号的字符串(或变量)来查找映射键,因此它不具有相同的语法约束。
{{ template "foo-bar.fullname" (index .Subcharts "foo-bar") }}-rest-of-string