1

我有以下 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

但我真的觉得我的第一次尝试也应该奏效!

4

1 回答 1

0

经过这里的进一步实验和讨论。我发现我可以通过简单地在 myenvironments之前列出 my 来解决这个问题releases。从我迂腐的角度来看,我很高兴能releases先列出我的列表,但它确实有效。

于 2020-09-11T04:41:34.507 回答