github.com/helmwave/helmwave@v0.36.4-0.20240509190856-b35563eba4c6/pkg/release/uninstall.go (about) 1 package release 2 3 import ( 4 "context" 5 "fmt" 6 7 "github.com/helmwave/helmwave/pkg/helper" 8 "helm.sh/helm/v3/pkg/release" 9 ) 10 11 func (rel *config) Uninstall(ctx context.Context) (resp *release.UninstallReleaseResponse, err error) { 12 ctx = helper.ContextWithReleaseUniq(ctx, rel.Uniq()) 13 14 // Run hooks 15 err = rel.Lifecycle.RunPreDown(ctx) 16 if err != nil { 17 return 18 } 19 20 defer func() { 21 lifecycleErr := rel.Lifecycle.RunPostDown(ctx) 22 if lifecycleErr != nil { 23 if err == nil { 24 err = lifecycleErr 25 } 26 } 27 }() 28 29 client := rel.newUninstall() 30 31 resp, err = client.Run(rel.Name()) 32 if err != nil { 33 err = fmt.Errorf("failed to uninstall release %s: %w", rel.Uniq(), err) 34 } 35 36 return 37 }