feat: app rm - check if the app is undeployed before removing
All checks were successful
continuous-integration/drone/pr Build is passing

This commit is contained in:
knoflook 2021-09-03 15:04:43 +02:00
parent b1d4f12e7d
commit 0d548869e8
Signed by: knoflook
GPG Key ID: D6A1D0E8FC4FEF1C

View File

@ -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 {