使用环境中定义的嵌套值
Using nested values defined in environment
我有以下 helmfile
releases:
- name: whoami-mn
namespace: whoami-mn-{{ .Environment.Name }}
chart: tons/whoami-mn
version: {{ .Values.chartVersions.whoami }}
installed: {{ .Values.installed }}
values:
- env/{{ .Environment.Name }}-values.yaml
environments:
dev:
values:
- installed: true
- chartVersions:
whoami: 0.3.0
otherApp: 0.2.0
prod:
values:
- installed: true
- chartVersions:
whoami: 0.2.0
otherApp: 0.1.0
但是当 运行 helmfile -e dev template
我得到以下错误
in ./helmfile.yaml: error during helmfile.yaml.part.0 parsing: template: stringTemplate:5:23: executing "stringTemplate" at <.Values.chartVersions.whoami>: map has no entry for key "chartVersions"
我可以做类似下面的事情
environments:
dev:
values:
- installed: true
- chartVersionWhoami: 0.3.0
这行得通,但我更喜欢将所有图表版本分组在一个父键下。关于如何让前者工作有什么建议吗?
更新:
以下作品
...
version: {{ (index .Values "chartVersions").whoamiMn }}
...
环境定义如下
environments:
dev:
values:
- installed: true
- chartVersions:
whoamiMn: 0.3.0
但我真的觉得我的第一次尝试也应该成功!
经过进一步试验和讨论here。我发现我可以通过简单地在我的 releases
之前列出我的 environments
来解决这个问题。以我迂腐的观点,我很乐意将我的 releases
列在第一位,但它确实有效。
我有以下 helmfile
releases:
- name: whoami-mn
namespace: whoami-mn-{{ .Environment.Name }}
chart: tons/whoami-mn
version: {{ .Values.chartVersions.whoami }}
installed: {{ .Values.installed }}
values:
- env/{{ .Environment.Name }}-values.yaml
environments:
dev:
values:
- installed: true
- chartVersions:
whoami: 0.3.0
otherApp: 0.2.0
prod:
values:
- installed: true
- chartVersions:
whoami: 0.2.0
otherApp: 0.1.0
但是当 运行 helmfile -e dev template
我得到以下错误
in ./helmfile.yaml: error during helmfile.yaml.part.0 parsing: template: stringTemplate:5:23: executing "stringTemplate" at <.Values.chartVersions.whoami>: map has no entry for key "chartVersions"
我可以做类似下面的事情
environments:
dev:
values:
- installed: true
- chartVersionWhoami: 0.3.0
这行得通,但我更喜欢将所有图表版本分组在一个父键下。关于如何让前者工作有什么建议吗?
更新: 以下作品
...
version: {{ (index .Values "chartVersions").whoamiMn }}
...
环境定义如下
environments:
dev:
values:
- installed: true
- chartVersions:
whoamiMn: 0.3.0
但我真的觉得我的第一次尝试也应该成功!
经过进一步试验和讨论here。我发现我可以通过简单地在我的 releases
之前列出我的 environments
来解决这个问题。以我迂腐的观点,我很乐意将我的 releases
列在第一位,但它确实有效。