From 2c0776ddd656a2df34184547141b7f44129216cc Mon Sep 17 00:00:00 2001 From: "Adam D. Cornett" Date: Mon, 13 Jan 2025 08:40:01 -0700 Subject: [PATCH] fix constant reconcilation issue in helm controller Signed-off-by: Adam D. Cornett --- internal/helm/controller/reconcile.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/helm/controller/reconcile.go b/internal/helm/controller/reconcile.go index 1954501651..0f19862ae2 100644 --- a/internal/helm/controller/reconcile.go +++ b/internal/helm/controller/reconcile.go @@ -18,6 +18,7 @@ import ( "context" "errors" "fmt" + "reflect" "strconv" "strings" "time" @@ -104,6 +105,7 @@ func (r HelmOperatorReconciler) Reconcile(ctx context.Context, request reconcile } status := types.StatusFor(o) + originalStatus := o.DeepCopy().Object["status"] log = log.WithValues("release", manager.ReleaseName()) reconcileResult := reconcile.Result{RequeueAfter: r.ReconcilePeriod} @@ -421,7 +423,10 @@ func (r HelmOperatorReconciler) Reconcile(ctx context.Context, request reconcile Manifest: expectedRelease.Manifest, } - err = r.updateResourceStatus(ctx, o, status) + if !reflect.DeepEqual(status, originalStatus) { + err = r.updateResourceStatus(ctx, o, status) + } + return reconcileResult, err }