While re-syncing a helmfile
that has been running for years for the first time since a few months, I suddenly get errors key "chart" already set in map
for every item.
I'm not sure with which helmfile
version it last worked (the error occurs at least on 0.153.1+
), but I found a few related issues here (initial) and here (allegedly solved) that seem to suggest that actually old versions had this bug but new versions solved it; for me it's exactly the opposite.
An excerpt from the helmfile.yaml
:
---
# Based on example https://github.com/costimuraru/helmfile-examples/tree/master/gotmpl
# Ordered list of releases.
helmfiles:
- "common/repos.yaml"
# the rest based on this excellent article: https://www.arthurkoziel.com/managing-helm-charts-with-helmfile/
helmDefaults:
atomic: true
cleanupOnFail: true
templates:
default: &default
chart: charts/{{`{{ .Release.Name }}`}}
missingFileHandler: Warn
values:
- charts/{{`{{ .Release.Name }}`}}/values-{{ .Environment.Name }}.yaml
secrets:
- charts/{{`{{ .Release.Name }}`}}/secrets-{{ .Environment.Name }}.yaml
releases:
- name: metallb
<<: *default
chart: metallb/metallb
namespace: metallb
...
and the output with error:
...
first-pass produced: &{default map[] map[]}
first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]}
vals:
map[]
defaultVals:[]
second-pass rendering result of "helmfile.yaml.part.0":
...
35:
36: - name: metallb
37: <<: *default
38: chart: metallb/metallb
39: namespace: metallb
40:
...
err: failed to read helmfile.yaml: reading document at index 1: yaml: unmarshal errors:
line 39: key "chart" already set in map
EDIT: a new search turned up a report of the same issue, as yet unanswered...