From a724ab73f697521dc89ae74114565a9d1a2fa3de Mon Sep 17 00:00:00 2001 From: yxxhero <11087727+yxxhero@users.noreply.github.com> Date: Thu, 19 Jan 2023 09:37:22 +0800 Subject: [PATCH] fix inherit chart empty check issue (#635) Signed-off-by: yxxhero Signed-off-by: yxxhero --- pkg/app/desired_state_file_loader.go | 6 ------ pkg/state/state_exec_tmpl.go | 4 ++++ .../snapshot/release_template_inheritance/input.yaml | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/pkg/app/desired_state_file_loader.go b/pkg/app/desired_state_file_loader.go index d519581c..e2081494 100644 --- a/pkg/app/desired_state_file_loader.go +++ b/pkg/app/desired_state_file_loader.go @@ -220,12 +220,6 @@ func (ld *desiredStateLoader) load(env, overrodeEnv *environment.Environment, ba return nil, err } - for i, r := range currentState.Releases { - if r.Chart == "" { - return nil, fmt.Errorf("error during %s parsing: encountered empty chart while reading release %q at index %d", id, r.Name, i) - } - } - if finalState == nil { finalState = currentState } else { diff --git a/pkg/state/state_exec_tmpl.go b/pkg/state/state_exec_tmpl.go index d9d3a17b..532b0199 100644 --- a/pkg/state/state_exec_tmpl.go +++ b/pkg/state/state_exec_tmpl.go @@ -131,6 +131,10 @@ func (st *HelmState) ExecuteTemplates() (*HelmState, error) { return nil, fmt.Errorf("failed executing templates in release \"%s\".\"%s\": %s", st.FilePath, release.Name, "recursive references can't be resolved") } + + if st.Releases[i].Chart == "" { + return nil, fmt.Errorf("encountered empty chart while reading release %q", st.Releases[i].Name) + } } return &r, nil diff --git a/test/e2e/template/helmfile/testdata/snapshot/release_template_inheritance/input.yaml b/test/e2e/template/helmfile/testdata/snapshot/release_template_inheritance/input.yaml index 6e6cc0ed..3fa6a0ee 100644 --- a/test/e2e/template/helmfile/testdata/snapshot/release_template_inheritance/input.yaml +++ b/test/e2e/template/helmfile/testdata/snapshot/release_template_inheritance/input.yaml @@ -8,6 +8,7 @@ templates: - base: base labels: base: base + chart: ../../charts/raw-0.1.0 template1: values: - template1: template1 @@ -34,7 +35,6 @@ templates: releases: - name: foo1 - chart: ../../charts/raw-0.1.0 inherit: template: template1 values: @@ -48,7 +48,6 @@ releases: data: {{` {{ (unset .Values "templates") | toYaml | nindent 2 }} `}} - name: foo2 - chart: ../../charts/raw-0.1.0 inherit: template: template2 values: