diff --git a/pkg/libhelm/options/install_options.go b/pkg/libhelm/options/install_options.go index bd775d1e8f..bd4904aa49 100644 --- a/pkg/libhelm/options/install_options.go +++ b/pkg/libhelm/options/install_options.go @@ -27,6 +27,10 @@ type InstallOptions struct { KubernetesClusterAccess *KubernetesClusterAccess TakeOwnership bool CreateNamespace bool + // MaxHistory caps the number of old revisions Helm keeps for this release + // on upgrade (0, the zero value, means unlimited history, matching Helm's + // own default). + MaxHistory int // GitOps related options AutoUpdate *portainer.AutoUpdateSettings diff --git a/pkg/libhelm/sdk/upgrade.go b/pkg/libhelm/sdk/upgrade.go index 3c89396ba8..882cd97468 100644 --- a/pkg/libhelm/sdk/upgrade.go +++ b/pkg/libhelm/sdk/upgrade.go @@ -189,6 +189,7 @@ func initUpgradeClient(actionConfig *action.Configuration, upgradeOpts options.I upgradeClient.WaitStrategy = kube.HookOnlyStrategy } upgradeClient.TakeOwnership = upgradeOpts.TakeOwnership // Equivalent to --take-ownership flag + upgradeClient.MaxHistory = upgradeOpts.MaxHistory err := configureChartPathOptions(&upgradeClient.ChartPathOptions, upgradeOpts.Version, upgradeOpts.Repo, upgradeOpts.Registry) if err != nil { return nil, errors.Wrap(err, "failed to configure chart path options for helm release upgrade")