From 62f8103fc24bd16ac307e19b50a651325dbfa7d0 Mon Sep 17 00:00:00 2001 From: Cassowary Rusnov Date: Wed, 12 Apr 2023 14:58:21 -0700 Subject: [PATCH] recipe/upgrade: Add non-interactive mode. Add support for -n which just outputs the list of compatible tags for each image. --- cli/recipe/upgrade.go | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/cli/recipe/upgrade.go b/cli/recipe/upgrade.go index dfbc849f..a3b39212 100644 --- a/cli/recipe/upgrade.go +++ b/cli/recipe/upgrade.go @@ -240,15 +240,21 @@ You may invoke this command in "wizard" mode and be prompted for input: compatibleStrings = append(compatibleStrings, regVersion) } } - - prompt := &survey.Select{ - Message: msg, - Help: "enter / return to confirm, choose 'skip' to not upgrade this tag, vim mode is enabled", - VimMode: true, - Options: compatibleStrings, - } - if err := survey.AskOne(prompt, &upgradeTag); err != nil { - logrus.Fatal(err) + if internal.NoInput { + logrus.Infof("potential upgrades for service: %s, image: %s, tag: %s ::\t", service.Name, image, tag) + for _, upgradableVersion := range compatibleStrings[1:] { + logrus.Infof("\t%s\n", upgradableVersion) + } + } else { + prompt := &survey.Select{ + Message: msg, + Help: "enter / return to confirm, choose 'skip' to not upgrade this tag, vim mode is enabled", + VimMode: true, + Options: compatibleStrings, + } + if err := survey.AskOne(prompt, &upgradeTag); err != nil { + logrus.Fatal(err) + } } } }