From 0d548869e89655998ef436e464eda76f8ef12d69 Mon Sep 17 00:00:00 2001 From: knoflook Date: Fri, 3 Sep 2021 15:04:43 +0200 Subject: [PATCH] feat: app rm - check if the app is undeployed before removing --- cli/app/remove.go | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/cli/app/remove.go b/cli/app/remove.go index 9ca4ae14..a7ee66da 100644 --- a/cli/app/remove.go +++ b/cli/app/remove.go @@ -65,6 +65,16 @@ var appRemoveCommand = &cli.Command{ if err != nil { logrus.Fatal(err) } + if !internal.Force { + // get app status and check if it's deployed + statuses, err := config.GetAppStatuses(appFiles) + if err != nil { + logrus.Fatal(err) + } + if statuses[appName] == "deployed" { + return errors.New("app still deployed. Run abra app undeploy first. (or pass --force)") + } + } fs := filters.NewArgs() fs.Add("name", appName) @@ -74,14 +84,14 @@ var appRemoveCommand = &cli.Command{ } secrets := make(map[string]string) + var secretNames []string + + for _, cont := range secretList { + secrets[cont.Spec.Annotations.Name] = cont.ID // we have to map the names to ID's + secretNames = append(secretNames, cont.Spec.Annotations.Name) + } + if len(secrets) > 0 { - var secretNames []string - - for _, cont := range secretList { - secrets[cont.Spec.Annotations.Name] = cont.ID // we have to map the names to ID's - secretNames = append(secretNames, cont.Spec.Annotations.Name) - } - var secretNamesToRemove []string if !internal.Force { secretsPrompt := &survey.MultiSelect{ @@ -112,11 +122,11 @@ var appRemoveCommand = &cli.Command{ } var vols []string - if len(vols) > 0 { - for _, vol := range volumeList { - vols = append(vols, vol.Name) - } + for _, vol := range volumeList { + vols = append(vols, vol.Name) + } + if len(vols) > 0 { if Volumes { var removeVols []string if !internal.Force { -- 2.40.1