From 0d500b636d1fc40bf2bed332e3295e5c98282f2e Mon Sep 17 00:00:00 2001 From: decentral1se Date: Thu, 14 Oct 2021 13:30:33 +0200 Subject: [PATCH] feat: more info on version changing deployments --- cli/app/deploy.go | 29 +++++++++++++++++++++++++++++ cli/app/rollback.go | 2 +- cli/app/upgrade.go | 2 +- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/cli/app/deploy.go b/cli/app/deploy.go index 2ba3eee2..1df58966 100644 --- a/cli/app/deploy.go +++ b/cli/app/deploy.go @@ -153,3 +153,32 @@ func DeployOverview(app config.App, version string) error { return nil } + +// NewVersionOverview shows an upgrade or downgrade overview +func NewVersionOverview(app config.App, currentVersion, newVersion string) error { + tableCol := []string{"server", "compose", "domain", "stack", "current version", "to be deployed"} + table := abraFormatter.CreateTable(tableCol) + + deployConfig := "compose.yml" + if composeFiles, ok := app.Env["COMPOSE_FILE"]; ok { + deployConfig = strings.Join(strings.Split(composeFiles, ":"), "\n") + } + + table.Append([]string{app.Server, deployConfig, app.Domain, app.StackName(), currentVersion, newVersion}) + table.Render() + + response := false + prompt := &survey.Confirm{ + Message: "continue with deployment?", + } + + if err := survey.AskOne(prompt, &response); err != nil { + return err + } + + if !response { + logrus.Fatal("exiting as requested") + } + + return nil +} diff --git a/cli/app/rollback.go b/cli/app/rollback.go index 22e539d1..785acd89 100644 --- a/cli/app/rollback.go +++ b/cli/app/rollback.go @@ -144,7 +144,7 @@ data beforehand - see "abra app backup " for more. } if !internal.Force { - if err := DeployOverview(app, chosenDowngrade); err != nil { + if err := NewVersionOverview(app, deployedVersion, chosenDowngrade); err != nil { logrus.Fatal(err) } } diff --git a/cli/app/upgrade.go b/cli/app/upgrade.go index adfd4ca4..f827121a 100644 --- a/cli/app/upgrade.go +++ b/cli/app/upgrade.go @@ -131,7 +131,7 @@ data beforehand - see "abra app backup " for more. } if !internal.Force { - if err := DeployOverview(app, chosenUpgrade); err != nil { + if err := NewVersionOverview(app, deployedVersion, chosenUpgrade); err != nil { logrus.Fatal(err) } }