From 015508177aef133b338be293b72bcd2b599f048f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Arnqvist?= Date: Wed, 2 Apr 2025 17:52:10 +0200 Subject: [PATCH] fix: Check needs with context and namespace MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: André Arnqvist --- pkg/state/state.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/state/state.go b/pkg/state/state.go index 8d090723..e89269e9 100644 --- a/pkg/state/state.go +++ b/pkg/state/state.go @@ -488,7 +488,7 @@ func (st *HelmState) reformat(spec *ReleaseSpec) []string { var needs []string releaseInstalledInfo := make(map[string]bool) for _, r := range st.OrginReleases { - releaseInstalledInfo[r.Name] = r.Desired() + releaseInstalledInfo[fmt.Sprintf("%s/%s/%s", r.KubeContext, r.Namespace, r.Name)] = r.Desired() } // Since the representation differs between needs and id, @@ -501,9 +501,6 @@ func (st *HelmState) reformat(spec *ReleaseSpec) []string { components := strings.Split(n, "/") name = components[len(components)-1] - if spec.Desired() && !releaseInstalledInfo[name] { - st.logger.Warnf("WARNING: %s", fmt.Sprintf("release %s needs %s, but %s is not installed due to installed: false. Either mark %s as installed or remove %s from %s's needs", spec.Name, name, name, name, name, spec.Name)) - } if len(components) > 1 { ns = components[len(components)-2] @@ -519,6 +516,10 @@ func (st *HelmState) reformat(spec *ReleaseSpec) []string { kubecontext = spec.KubeContext } + if spec.Desired() && !releaseInstalledInfo[fmt.Sprintf("%s/%s/%s", kubecontext, ns, name)] { + st.logger.Warnf("WARNING: %s", fmt.Sprintf("release %s needs %s, but %s is not installed due to installed: false. Either mark %s as installed or remove %s from %s's needs", spec.Name, name, name, name, name, spec.Name)) + } + var componentsAfterOverride []string if kubecontext != "" {