diff --git a/pkg/action/rollback.go b/pkg/action/rollback.go index 2c8c4420c..be94d075b 100644 --- a/pkg/action/rollback.go +++ b/pkg/action/rollback.go @@ -35,16 +35,17 @@ import ( type Rollback struct { cfg *Configuration - Version int - Timeout time.Duration - Wait bool - WaitForJobs bool - DisableHooks bool - DryRun bool - Recreate bool // will (if true) recreate pods after a rollback. - Force bool // will (if true) force resource upgrade through uninstall/recreate if needed - CleanupOnFail bool - MaxHistory int // MaxHistory limits the maximum number of revisions saved per release + Version int + Timeout time.Duration + Wait bool + WaitForJobs bool + DisableHooks bool + DryRun bool + Recreate bool // will (if true) recreate pods after a rollback. + Force bool // will (if true) force resource upgrade through uninstall/recreate if needed + CleanupOnFail bool + MaxHistory int // MaxHistory limits the maximum number of revisions saved per release + DisableOpenAPIValidation bool // DisableOpenAPIValidation controls whether OpenAPI validation is enforced. } // NewRollback creates a new Rollback object with the given configuration. @@ -142,12 +143,12 @@ func (r *Rollback) prepareRollback(name string) (*release.Release, *release.Rele func (r *Rollback) performRollback(currentRelease, targetRelease *release.Release) (*release.Release, error) { - current, err := r.cfg.KubeClient.Build(bytes.NewBufferString(currentRelease.Manifest), true) + current, err := r.cfg.KubeClient.Build(bytes.NewBufferString(currentRelease.Manifest), r.DisableOpenAPIValidation) if err != nil { return targetRelease, errors.Wrap(err, "unable to build kubernetes objects from current release manifest") } - target, err := r.cfg.KubeClient.Build(bytes.NewBufferString(targetRelease.Manifest), true) + target, err := r.cfg.KubeClient.Build(bytes.NewBufferString(targetRelease.Manifest), r.DisableOpenAPIValidation) if err != nil { return targetRelease, errors.Wrap(err, "unable to build kubernetes objects from new release manifest") }