Make purge optional when running "helmfile delete"

`helmfile delete` has been implying `--purge` but it is not the case since this change.

The new behavior is `helmfile delete --purge` to actually purge releases.
Run just `helmfile delete` to delete releases but not purge them.

Resolves #71
This commit is contained in:
Yusuke KUOKA
2018-05-11 16:41:02 +09:00
parent fb781be560
commit 3979c18ad3
7 changed files with 36 additions and 9 deletions
+6 -2
View File
@@ -356,14 +356,18 @@ func (state *HelmState) ReleaseStatuses(helm helmexec.Interface, workerLimit int
}
// DeleteReleases wrapper for executing helm delete on the releases
func (state *HelmState) DeleteReleases(helm helmexec.Interface) []error {
func (state *HelmState) DeleteReleases(helm helmexec.Interface, purge bool) []error {
var wg sync.WaitGroup
errs := []error{}
for _, release := range state.Releases {
wg.Add(1)
go func(wg *sync.WaitGroup, release ReleaseSpec) {
if err := helm.DeleteRelease(release.Name); err != nil {
flags := []string{}
if purge {
flags = append(flags, "--purge")
}
if err := helm.DeleteRelease(release.Name, flags...); err != nil {
errs = append(errs, err)
}
wg.Done()
+1 -1
View File
@@ -546,7 +546,7 @@ func (helm *mockHelmExec) ReleaseStatus(release string) error {
helm.releases = append(helm.releases, mockRelease{name: release, flags: []string{}})
return nil
}
func (helm *mockHelmExec) DeleteRelease(name string) error {
func (helm *mockHelmExec) DeleteRelease(name string, flags ...string) error {
return nil
}
func (helm *mockHelmExec) DecryptSecret(name string) (string, error) {