如何从名称中包含破折号的子图表访问父 Helm 图表中的值?

问题描述 投票:0回答:1

我正在尝试使用此 PR 中描述的方法从子图表访问父 Helm 图表中的值

{{ template "foo-bar.fullname" .Subcharts.foo-bar }}-rest-of-string

但是,由于子图表名称中包含破折号,因此在执行此操作时出现

bad character U+002D '-'
错误。

无法重命名子图,因为它位于上游。

我该如何规避这个问题?

使用helm v3.13.0。

kubernetes-helm go-templates
1个回答
0
投票

Go text/template 文档没有完全阐明变量或字段名称中允许使用哪些字符的规则,但如果遵循 Go 的规则,则

-
不允许出现在名称中间(在Go 这将是一个减法运算符)。

您可以使用标准的

index
函数来解决这个问题。
index $foo "bar"
$foo.bar
相同,但
index
使用带引号的字符串(或变量)来查找映射键,因此它不具有相同的语法约束。

{{ template "foo-bar.fullname" (index .Subcharts "foo-bar") }}-rest-of-string
© www.soinside.com 2019 - 2024. All rights reserved.