From 5b9cf6dedbe497b18c6bf670a53074bf6a2aeb10 Mon Sep 17 00:00:00 2001 From: ayushi-work Date: Thu, 18 Jun 2026 00:26:12 +0530 Subject: [PATCH] fix(uninstall): skip post-delete hook when SSA option is invalid - Guard execHook call to avoid running hooks with a bad server-side apply value - Clarify ServerSideApply field comment to note it affects hooks specifically Signed-off-by: ayushi-work --- pkg/action/uninstall.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkg/action/uninstall.go b/pkg/action/uninstall.go index 47b5cbd04..c79fe01d4 100644 --- a/pkg/action/uninstall.go +++ b/pkg/action/uninstall.go @@ -49,10 +49,10 @@ type Uninstall struct { DeletionPropagation string Timeout time.Duration Description string - // ServerSideApply enables changes to be applied via Kubernetes server-side apply - // Can be the string: "true", "false" or "auto" - // When "auto", server-side usage will be based upon the release's previous usage - // see: https://kubernetes.io/docs/reference/using-api/server-side-apply/ + // ServerSideApply controls whether pre-delete and post-delete hooks are applied + // via Kubernetes server-side apply. Can be the string: "true", "false" or "auto". + // When "auto", server-side usage will be based upon the release's previous usage. + // See: https://kubernetes.io/docs/reference/using-api/server-side-apply/ ServerSideApply string } @@ -236,11 +236,9 @@ func (u *Uninstall) Run(name string) (*releasei.UninstallReleaseResponse, error) } if !u.DisableHooks { - serverSideApply, err := getServerSideApplyValue(u.ServerSideApply, rel.ApplyMethod) - if err != nil { + if serverSideApply, err := getServerSideApplyValue(u.ServerSideApply, rel.ApplyMethod); err != nil { errs = append(errs, err) - } - if err := u.cfg.execHook(rel, release.HookPostDelete, u.WaitStrategy, u.WaitOptions, u.Timeout, serverSideApply); err != nil { + } else if err := u.cfg.execHook(rel, release.HookPostDelete, u.WaitStrategy, u.WaitOptions, u.Timeout, serverSideApply); err != nil { errs = append(errs, err) } }