MCPcopy
hub / github.com/helm/helm / Run

Method Run

pkg/action/rollback.go:74–106  ·  view source on GitHub ↗

Run executes 'helm rollback' against the given release.

(name string)

Source from the content-addressed store, hash-verified

72
73// Run executes 'helm rollback' against the given release.
74func (r *Rollback) Run(name string) error {
75 if err := r.cfg.KubeClient.IsReachable(); err != nil {
76 return err
77 }
78
79 r.cfg.Releases.MaxHistory = r.MaxHistory
80
81 r.cfg.Logger().Debug("preparing rollback", "name", name)
82 currentRelease, targetRelease, serverSideApply, err := r.prepareRollback(name)
83 if err != nil {
84 return err
85 }
86
87 if !isDryRun(r.DryRunStrategy) {
88 r.cfg.Logger().Debug("creating rolled back release", "name", name)
89 if err := r.cfg.Releases.Create(targetRelease); err != nil {
90 return err
91 }
92 }
93
94 r.cfg.Logger().Debug("performing rollback", "name", name)
95 if _, err := r.performRollback(currentRelease, targetRelease, serverSideApply); err != nil {
96 return err
97 }
98
99 if !isDryRun(r.DryRunStrategy) {
100 r.cfg.Logger().Debug("updating status for rolled back release", "name", name)
101 if err := r.cfg.Releases.Update(targetRelease); err != nil {
102 return err
103 }
104 }
105 return nil
106}
107
108// prepareRollback finds the previous release and prepares a new release object with
109// the previous release's configuration

Callers 4

failReleaseMethod · 0.95
newRollbackCmdFunction · 0.95

Calls 7

prepareRollbackMethod · 0.95
performRollbackMethod · 0.95
isDryRunFunction · 0.85
IsReachableMethod · 0.65
LoggerMethod · 0.65
CreateMethod · 0.65
UpdateMethod · 0.65