diff --git a/pkg/app/app_diff_test.go b/pkg/app/app_diff_test.go index 7f071ee9..280385c8 100644 --- a/pkg/app/app_diff_test.go +++ b/pkg/app/app_diff_test.go @@ -149,7 +149,7 @@ releases: t.Run("fail on unselected need by default", func(t *testing.T) { check(t, testcase{ selectors: []string{"app=test"}, - error: `in ./helmfile.yaml: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`, + error: `in ./helmfile.yaml: release(s) "default/default/external-secrets" depend(s) on an undefined release "default/kube-system/kubernetes-external-secrets". Perhaps you made a typo in "needs" or forgot defining a release named "kubernetes-external-secrets" with appropriate "namespace" and "kubeContext"?`, }) }) diff --git a/pkg/app/app_lint_test.go b/pkg/app/app_lint_test.go index bcab8164..7e92788a 100644 --- a/pkg/app/app_lint_test.go +++ b/pkg/app/app_lint_test.go @@ -186,7 +186,7 @@ releases: t.Run("fail on unselected need by default when skip-need=false", func(t *testing.T) { check(t, testcase{ selectors: []string{"app=test"}, - error: `in ./helmfile.yaml: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`, + error: `in ./helmfile.yaml: release(s) "default/default/external-secrets" depend(s) on an undefined release "default/kube-system/kubernetes-external-secrets". Perhaps you made a typo in "needs" or forgot defining a release named "kubernetes-external-secrets" with appropriate "namespace" and "kubeContext"?`, }) }) diff --git a/pkg/app/app_template_test.go b/pkg/app/app_template_test.go index b1105b8a..702fb85b 100644 --- a/pkg/app/app_template_test.go +++ b/pkg/app/app_template_test.go @@ -177,7 +177,7 @@ releases: t.Run("fail on unselected need by default", func(t *testing.T) { check(t, testcase{ selectors: []string{"app=test"}, - error: `in ./helmfile.yaml: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`, + error: `in ./helmfile.yaml: release(s) "default/default/external-secrets" depend(s) on an undefined release "default/kube-system/kubernetes-external-secrets". Perhaps you made a typo in "needs" or forgot defining a release named "kubernetes-external-secrets" with appropriate "namespace" and "kubeContext"?`, }) }) diff --git a/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default b/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default index 56e4c05b..540de2b8 100644 --- a/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default +++ b/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default @@ -104,5 +104,5 @@ second-pass rendering result of "helmfile.yaml.part.0": merged environment: &{default map[] map[]} 2 release(s) matching app=test found in helmfile.yaml -err: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies +err: release(s) "default/default/external-secrets" depend(s) on an undefined release "default/kube-system/kubernetes-external-secrets". Perhaps you made a typo in "needs" or forgot defining a release named "kubernetes-external-secrets" with appropriate "namespace" and "kubeContext"? changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default_when_skip-need=false b/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default_when_skip-need=false new file mode 100644 index 00000000..540de2b8 --- /dev/null +++ b/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default_when_skip-need=false @@ -0,0 +1,108 @@ +processing file "helmfile.yaml" in directory "." +changing working directory to "/path/to" +first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= +first-pass uses: &{default map[] map[]} +first-pass rendering output of "helmfile.yaml.part.0": + 0: + 1: releases: + 2: - name: logging + 3: chart: incubator/raw + 4: namespace: kube-system + 5: + 6: - name: kubernetes-external-secrets + 7: chart: incubator/raw + 8: namespace: kube-system + 9: needs: +10: - kube-system/logging +11: +12: - name: external-secrets +13: chart: incubator/raw +14: namespace: default +15: labels: +16: app: test +17: needs: +18: - kube-system/kubernetes-external-secrets +19: +20: - name: my-release +21: chart: incubator/raw +22: namespace: default +23: labels: +24: app: test +25: needs: +26: - default/external-secrets +27: +28: +29: # Disabled releases are treated as missing +30: - name: disabled +31: chart: incubator/raw +32: namespace: kube-system +33: installed: false +34: +35: - name: test2 +36: chart: incubator/raw +37: needs: +38: - kube-system/disabled +39: +40: - name: test3 +41: chart: incubator/raw +42: needs: +43: - test2 +44: + +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": + 0: + 1: releases: + 2: - name: logging + 3: chart: incubator/raw + 4: namespace: kube-system + 5: + 6: - name: kubernetes-external-secrets + 7: chart: incubator/raw + 8: namespace: kube-system + 9: needs: +10: - kube-system/logging +11: +12: - name: external-secrets +13: chart: incubator/raw +14: namespace: default +15: labels: +16: app: test +17: needs: +18: - kube-system/kubernetes-external-secrets +19: +20: - name: my-release +21: chart: incubator/raw +22: namespace: default +23: labels: +24: app: test +25: needs: +26: - default/external-secrets +27: +28: +29: # Disabled releases are treated as missing +30: - name: disabled +31: chart: incubator/raw +32: namespace: kube-system +33: installed: false +34: +35: - name: test2 +36: chart: incubator/raw +37: needs: +38: - kube-system/disabled +39: +40: - name: test3 +41: chart: incubator/raw +42: needs: +43: - test2 +44: + +merged environment: &{default map[] map[]} +2 release(s) matching app=test found in helmfile.yaml + +err: release(s) "default/default/external-secrets" depend(s) on an undefined release "default/kube-system/kubernetes-external-secrets". Perhaps you made a typo in "needs" or forgot defining a release named "kubernetes-external-secrets" with appropriate "namespace" and "kubeContext"? +changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default b/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default new file mode 100644 index 00000000..540de2b8 --- /dev/null +++ b/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default @@ -0,0 +1,108 @@ +processing file "helmfile.yaml" in directory "." +changing working directory to "/path/to" +first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= +first-pass uses: &{default map[] map[]} +first-pass rendering output of "helmfile.yaml.part.0": + 0: + 1: releases: + 2: - name: logging + 3: chart: incubator/raw + 4: namespace: kube-system + 5: + 6: - name: kubernetes-external-secrets + 7: chart: incubator/raw + 8: namespace: kube-system + 9: needs: +10: - kube-system/logging +11: +12: - name: external-secrets +13: chart: incubator/raw +14: namespace: default +15: labels: +16: app: test +17: needs: +18: - kube-system/kubernetes-external-secrets +19: +20: - name: my-release +21: chart: incubator/raw +22: namespace: default +23: labels: +24: app: test +25: needs: +26: - default/external-secrets +27: +28: +29: # Disabled releases are treated as missing +30: - name: disabled +31: chart: incubator/raw +32: namespace: kube-system +33: installed: false +34: +35: - name: test2 +36: chart: incubator/raw +37: needs: +38: - kube-system/disabled +39: +40: - name: test3 +41: chart: incubator/raw +42: needs: +43: - test2 +44: + +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": + 0: + 1: releases: + 2: - name: logging + 3: chart: incubator/raw + 4: namespace: kube-system + 5: + 6: - name: kubernetes-external-secrets + 7: chart: incubator/raw + 8: namespace: kube-system + 9: needs: +10: - kube-system/logging +11: +12: - name: external-secrets +13: chart: incubator/raw +14: namespace: default +15: labels: +16: app: test +17: needs: +18: - kube-system/kubernetes-external-secrets +19: +20: - name: my-release +21: chart: incubator/raw +22: namespace: default +23: labels: +24: app: test +25: needs: +26: - default/external-secrets +27: +28: +29: # Disabled releases are treated as missing +30: - name: disabled +31: chart: incubator/raw +32: namespace: kube-system +33: installed: false +34: +35: - name: test2 +36: chart: incubator/raw +37: needs: +38: - kube-system/disabled +39: +40: - name: test3 +41: chart: incubator/raw +42: needs: +43: - test2 +44: + +merged environment: &{default map[] map[]} +2 release(s) matching app=test found in helmfile.yaml + +err: release(s) "default/default/external-secrets" depend(s) on an undefined release "default/kube-system/kubernetes-external-secrets". Perhaps you made a typo in "needs" or forgot defining a release named "kubernetes-external-secrets" with appropriate "namespace" and "kubeContext"? +changing working directory back to "/path/to"