From 7eaef524786486530d6e3fc191fcd9da1f675213 Mon Sep 17 00:00:00 2001 From: Joe Lanford Date: Thu, 30 May 2024 12:35:22 -0400 Subject: [PATCH] reconciler: use server-side dry-run to generate candidate upgrade manifest Signed-off-by: Joe Lanford --- pkg/client/postrenderer_test.go | 1 + .../v1/scaffolds/internal/templates/config/rbac/manager_role.go | 1 + pkg/reconciler/reconciler.go | 1 + 3 files changed, 3 insertions(+) diff --git a/pkg/client/postrenderer_test.go b/pkg/client/postrenderer_test.go index e3b28782..8b957504 100644 --- a/pkg/client/postrenderer_test.go +++ b/pkg/client/postrenderer_test.go @@ -206,6 +206,7 @@ func getTestManifest() string { testChart := testutil.MustLoadChart("../../pkg/internal/testdata/test-chart-1.2.0.tgz") i := action.NewInstall(&action.Configuration{}) i.DryRun = true + i.DryRunOption = "client" i.Replace = true i.ReleaseName = "release-name" i.ClientOnly = true diff --git a/pkg/plugins/helm/v1/scaffolds/internal/templates/config/rbac/manager_role.go b/pkg/plugins/helm/v1/scaffolds/internal/templates/config/rbac/manager_role.go index 1f1a71ad..3c55875d 100644 --- a/pkg/plugins/helm/v1/scaffolds/internal/templates/config/rbac/manager_role.go +++ b/pkg/plugins/helm/v1/scaffolds/internal/templates/config/rbac/manager_role.go @@ -349,6 +349,7 @@ func generateRoleRules(dc roleDiscoveryInterface, chart *chart.Chart) ([]rbacv1. func getDefaultManifests(c *chart.Chart) ([]releaseutil.Manifest, error) { install := action.NewInstall(&action.Configuration{}) install.DryRun = true + install.DryRunOption = "client" install.ReleaseName = "release-name" install.Replace = true install.ClientOnly = true diff --git a/pkg/reconciler/reconciler.go b/pkg/reconciler/reconciler.go index a72df23d..93e9c5fb 100644 --- a/pkg/reconciler/reconciler.go +++ b/pkg/reconciler/reconciler.go @@ -758,6 +758,7 @@ func (r *Reconciler) getReleaseState(client helmclient.ActionInterface, obj meta } opts = append(opts, func(u *action.Upgrade) error { u.DryRun = true + u.DryRunOption = "server" return nil }) specRelease, err := client.Upgrade(obj.GetName(), obj.GetNamespace(), r.chrt, vals, opts...)