diff --git a/cli/app/backup.go b/cli/app/backup.go index 25def0ea..27cdc5ec 100644 --- a/cli/app/backup.go +++ b/cli/app/backup.go @@ -39,7 +39,6 @@ var appBackupListCommand = cli.Command{ Name: "list", Aliases: []string{"ls"}, Flags: []cli.Flag{ - internal.OfflineFlag, snapshotFlag, includePathFlag, }, @@ -88,7 +87,6 @@ var appBackupDownloadCommand = cli.Command{ Name: "download", Aliases: []string{"d"}, Flags: []cli.Flag{ - internal.OfflineFlag, snapshotFlag, includePathFlag, }, @@ -161,7 +159,6 @@ var appBackupCreateCommand = cli.Command{ Name: "create", Aliases: []string{"c"}, Flags: []cli.Flag{ - internal.OfflineFlag, resticRepoFlag, }, Before: internal.SubCommandBefore, @@ -221,7 +218,6 @@ var appBackupSnapshotsCommand = cli.Command{ Name: "snapshots", Aliases: []string{"s"}, Flags: []cli.Flag{ - internal.OfflineFlag, snapshotFlag, }, Before: internal.SubCommandBefore, diff --git a/cli/app/cmd.go b/cli/app/cmd.go index e627cc4b..4b8c8808 100644 --- a/cli/app/cmd.go +++ b/cli/app/cmd.go @@ -37,7 +37,6 @@ using the "-- " syntax. internal.LocalCmdFlag, internal.RemoteUserFlag, internal.TtyFlag, - internal.OfflineFlag, internal.ChaosFlag, }, Before: internal.SubCommandBefore, @@ -202,7 +201,6 @@ var appCmdListCommand = cli.Command{ UsageText: "abra app cmd ls [options] ", HideHelpCommand: true, Flags: []cli.Flag{ - internal.OfflineFlag, internal.ChaosFlag, }, EnableShellCompletion: true, diff --git a/cli/app/cp.go b/cli/app/cp.go index 5daddb90..49b759d5 100644 --- a/cli/app/cp.go +++ b/cli/app/cp.go @@ -30,11 +30,8 @@ var appCpCommand = cli.Command{ Aliases: []string{"c"}, HideHelpCommand: true, UsageText: "abra app cp [options] ", - Flags: []cli.Flag{ - internal.NoInputFlag, - }, - Before: internal.SubCommandBefore, - Usage: "Copy files to/from a deployed app service", + Before: internal.SubCommandBefore, + Usage: "Copy files to/from a deployed app service", Description: `Copy files to and from any app service file system. If you want to copy a myfile.txt to the root of the app service: diff --git a/cli/app/deploy.go b/cli/app/deploy.go index e569f59e..55241d72 100644 --- a/cli/app/deploy.go +++ b/cli/app/deploy.go @@ -26,12 +26,10 @@ var appDeployCommand = cli.Command{ HideHelpCommand: true, UsageText: "abra app deploy [options] []", Flags: []cli.Flag{ - internal.NoInputFlag, internal.ForceFlag, internal.ChaosFlag, internal.NoDomainChecksFlag, internal.DontWaitConvergeFlag, - internal.OfflineFlag, }, Before: internal.SubCommandBefore, Description: `Deploy an app. diff --git a/cli/app/list.go b/cli/app/list.go index 0e29cb9d..f7b9e2e4 100644 --- a/cli/app/list.go +++ b/cli/app/list.go @@ -86,7 +86,6 @@ can take some time.`, statusFlag, listAppServerFlag, recipeFlag, - internal.OfflineFlag, }, Before: internal.SubCommandBefore, Action: func(ctx context.Context, cmd *cli.Command) error { diff --git a/cli/app/new.go b/cli/app/new.go index f5efaf81..b33c868c 100644 --- a/cli/app/new.go +++ b/cli/app/new.go @@ -45,12 +45,10 @@ var appNewCommand = cli.Command{ Usage: "Create a new app", Description: appNewDescription, Flags: []cli.Flag{ - internal.NoInputFlag, internal.NewAppServerFlag, internal.DomainFlag, internal.PassFlag, internal.SecretsFlag, - internal.OfflineFlag, internal.ChaosFlag, }, Before: internal.SubCommandBefore, diff --git a/cli/app/remove.go b/cli/app/remove.go index 3a52c765..71aa4fac 100644 --- a/cli/app/remove.go +++ b/cli/app/remove.go @@ -39,8 +39,6 @@ To delete everything without prompt, use the "--force/-f" or the "--no-input/n" flag.`, Flags: []cli.Flag{ internal.ForceFlag, - internal.NoInputFlag, - internal.OfflineFlag, }, EnableShellCompletion: true, ShellComplete: autocomplete.AppNameComplete, diff --git a/cli/app/restart.go b/cli/app/restart.go index 7ce64e3d..81bc4792 100644 --- a/cli/app/restart.go +++ b/cli/app/restart.go @@ -22,7 +22,6 @@ var appRestartCommand = cli.Command{ HideHelpCommand: true, UsageText: "abra app restart [options] []", Flags: []cli.Flag{ - internal.OfflineFlag, internal.AllServicesFlag, }, Before: internal.SubCommandBefore, diff --git a/cli/app/restore.go b/cli/app/restore.go index ce68c6dc..119a3828 100644 --- a/cli/app/restore.go +++ b/cli/app/restore.go @@ -26,7 +26,6 @@ var appRestoreCommand = cli.Command{ HideHelpCommand: true, UsageText: "abra app restore [options] ", Flags: []cli.Flag{ - internal.OfflineFlag, targetPathFlag, }, Before: internal.SubCommandBefore, diff --git a/cli/app/rollback.go b/cli/app/rollback.go index 9bbe711d..90c6036c 100644 --- a/cli/app/rollback.go +++ b/cli/app/rollback.go @@ -25,11 +25,9 @@ var appRollbackCommand = cli.Command{ HideHelpCommand: true, UsageText: "abra app rollback [options] []", Flags: []cli.Flag{ - internal.NoInputFlag, internal.ForceFlag, internal.NoDomainChecksFlag, internal.DontWaitConvergeFlag, - internal.OfflineFlag, }, Before: internal.SubCommandBefore, Description: `This command rolls an app back to a previous version. diff --git a/cli/app/secret.go b/cli/app/secret.go index 205cb044..ee8bba10 100644 --- a/cli/app/secret.go +++ b/cli/app/secret.go @@ -50,7 +50,6 @@ var appSecretGenerateCommand = cli.Command{ allSecretsFlag, internal.PassFlag, internal.MachineReadableFlag, - internal.OfflineFlag, internal.ChaosFlag, }, Before: internal.SubCommandBefore, diff --git a/cli/app/undeploy.go b/cli/app/undeploy.go index 01a14160..a3b2ec2b 100644 --- a/cli/app/undeploy.go +++ b/cli/app/undeploy.go @@ -67,7 +67,6 @@ var appUndeployCommand = cli.Command{ UsageText: "abra app undeploy [options] ", HideHelpCommand: true, Flags: []cli.Flag{ - internal.NoInputFlag, pruneFlag, }, Before: internal.SubCommandBefore, diff --git a/cli/app/upgrade.go b/cli/app/upgrade.go index 786bb903..cbd69410 100644 --- a/cli/app/upgrade.go +++ b/cli/app/upgrade.go @@ -23,11 +23,9 @@ var appUpgradeCommand = cli.Command{ Usage: "Upgrade an app", UsageText: "abra app upgrade [options] []", Flags: []cli.Flag{ - internal.NoInputFlag, internal.ForceFlag, internal.NoDomainChecksFlag, internal.DontWaitConvergeFlag, - internal.OfflineFlag, internal.ReleaseNotesFlag, }, Before: internal.SubCommandBefore, diff --git a/cli/app/volume.go b/cli/app/volume.go index 8357ad9a..18ea8005 100644 --- a/cli/app/volume.go +++ b/cli/app/volume.go @@ -14,12 +14,9 @@ import ( ) var appVolumeListCommand = cli.Command{ - Name: "list", - Aliases: []string{"ls"}, - UsageText: "abra app volume list [options] ", - Flags: []cli.Flag{ - internal.NoInputFlag, - }, + Name: "list", + Aliases: []string{"ls"}, + UsageText: "abra app volume list [options] ", Before: internal.SubCommandBefore, Usage: "List volumes associated with an app", HideHelpCommand: true, diff --git a/cli/catalogue/catalogue.go b/cli/catalogue/catalogue.go index e17fcb38..910229e7 100644 --- a/cli/catalogue/catalogue.go +++ b/cli/catalogue/catalogue.go @@ -26,12 +26,10 @@ var catalogueGenerateCommand = cli.Command{ HideHelpCommand: true, UsageText: "abra catalogue generate [options] []", Flags: []cli.Flag{ - internal.NoInputFlag, internal.PublishFlag, internal.DryFlag, internal.SkipUpdatesFlag, internal.ChaosFlag, - internal.OfflineFlag, }, Before: internal.SubCommandBefore, Description: `Generate a new copy of the recipe catalogue. diff --git a/cli/cli.go b/cli/cli.go index ab8b8d0b..ed71c973 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -139,6 +139,8 @@ func newAbraApp(version, commit string) *cli.Command { Version: fmt.Sprintf("%s-%s", version, commit[:7]), Flags: []cli.Flag{ internal.DebugFlag, + internal.OfflineFlag, + internal.NoInputFlag, }, Commands: []*cli.Command{ &app.AppCommand, diff --git a/cli/internal/cli.go b/cli/internal/cli.go index 8423b6fe..a799ea58 100644 --- a/cli/internal/cli.go +++ b/cli/internal/cli.go @@ -96,6 +96,7 @@ var NoInputFlag = &cli.BoolFlag{ Aliases: []string{"n"}, Usage: "Toggle non-interactive mode", Destination: &NoInput, + Persistent: true, } // Debug stores the variable from DebugFlag. @@ -119,6 +120,7 @@ var OfflineFlag = &cli.BoolFlag{ Aliases: []string{"o"}, Destination: &Offline, Usage: "Prefer offline & filesystem access when possible", + Persistent: true, } // ReleaseNotes stores the variable from ReleaseNotesFlag. diff --git a/cli/recipe/diff.go b/cli/recipe/diff.go index 4a5b94fc..fcaf71d6 100644 --- a/cli/recipe/diff.go +++ b/cli/recipe/diff.go @@ -11,15 +11,12 @@ import ( ) var recipeDiffCommand = cli.Command{ - Name: "diff", - Usage: "Show unstaged changes in recipe config", - Description: "This command requires /usr/bin/git.", - HideHelpCommand: true, - Aliases: []string{"d"}, - UsageText: "abra recipe diff [options] ", - Flags: []cli.Flag{ - internal.NoInputFlag, - }, + Name: "diff", + Usage: "Show unstaged changes in recipe config", + Description: "This command requires /usr/bin/git.", + HideHelpCommand: true, + Aliases: []string{"d"}, + UsageText: "abra recipe diff [options] ", Before: internal.SubCommandBefore, EnableShellCompletion: true, ShellComplete: autocomplete.RecipeNameComplete, diff --git a/cli/recipe/fetch.go b/cli/recipe/fetch.go index 6da69f58..6a5db557 100644 --- a/cli/recipe/fetch.go +++ b/cli/recipe/fetch.go @@ -12,15 +12,11 @@ import ( ) var recipeFetchCommand = cli.Command{ - Name: "fetch", - Usage: "Fetch recipe(s)", - Aliases: []string{"f"}, - UsageText: "abra recipe fetch [options] []", - Description: "Retrieves all recipes if no argument is passed", - Flags: []cli.Flag{ - internal.NoInputFlag, - internal.OfflineFlag, - }, + Name: "fetch", + Usage: "Fetch recipe(s)", + Aliases: []string{"f"}, + UsageText: "abra recipe fetch [options] []", + Description: "Retrieves all recipes if no argument is passed", Before: internal.SubCommandBefore, EnableShellCompletion: true, ShellComplete: autocomplete.RecipeNameComplete, diff --git a/cli/recipe/lint.go b/cli/recipe/lint.go index b0a667b8..e0148d12 100644 --- a/cli/recipe/lint.go +++ b/cli/recipe/lint.go @@ -20,8 +20,6 @@ var recipeLintCommand = cli.Command{ HideHelpCommand: true, Flags: []cli.Flag{ internal.OnlyErrorFlag, - internal.OfflineFlag, - internal.NoInputFlag, internal.ChaosFlag, }, Before: internal.SubCommandBefore, diff --git a/cli/recipe/list.go b/cli/recipe/list.go index 0a45a9be..0a88aad9 100644 --- a/cli/recipe/list.go +++ b/cli/recipe/list.go @@ -32,7 +32,6 @@ var recipeListCommand = cli.Command{ Flags: []cli.Flag{ internal.MachineReadableFlag, patternFlag, - internal.OfflineFlag, }, Before: internal.SubCommandBefore, Action: func(ctx context.Context, cmd *cli.Command) error { diff --git a/cli/recipe/new.go b/cli/recipe/new.go index 96a5b24f..b03021ba 100644 --- a/cli/recipe/new.go +++ b/cli/recipe/new.go @@ -35,8 +35,6 @@ var recipeNewCommand = cli.Command{ Name: "new", Aliases: []string{"n"}, Flags: []cli.Flag{ - internal.NoInputFlag, - internal.OfflineFlag, internal.GitNameFlag, internal.GitEmailFlag, }, diff --git a/cli/recipe/release.go b/cli/recipe/release.go index ea770124..99d77042 100644 --- a/cli/recipe/release.go +++ b/cli/recipe/release.go @@ -49,13 +49,11 @@ Publish your new release to git.coopcloud.tech with "-p/--publish". This requires that you have permission to git push to these repositories and have your SSH keys configured on your account.`, Flags: []cli.Flag{ - internal.NoInputFlag, internal.DryFlag, internal.MajorFlag, internal.MinorFlag, internal.PatchFlag, internal.PublishFlag, - internal.OfflineFlag, }, Before: internal.SubCommandBefore, EnableShellCompletion: true, diff --git a/cli/recipe/reset.go b/cli/recipe/reset.go index e302f361..dd1f9be7 100644 --- a/cli/recipe/reset.go +++ b/cli/recipe/reset.go @@ -12,15 +12,12 @@ import ( ) var recipeResetCommand = cli.Command{ - Name: "reset", - Usage: "Remove all unstaged changes from recipe config", - Description: "WARNING: this will delete your changes. Be Careful.", - HideHelpCommand: true, - Aliases: []string{"rs"}, - UsageText: "abra recipe reset [options] ", - Flags: []cli.Flag{ - internal.NoInputFlag, - }, + Name: "reset", + Usage: "Remove all unstaged changes from recipe config", + Description: "WARNING: this will delete your changes. Be Careful.", + HideHelpCommand: true, + Aliases: []string{"rs"}, + UsageText: "abra recipe reset [options] ", Before: internal.SubCommandBefore, EnableShellCompletion: true, ShellComplete: autocomplete.RecipeNameComplete, diff --git a/cli/recipe/sync.go b/cli/recipe/sync.go index b52386db..bffc726a 100644 --- a/cli/recipe/sync.go +++ b/cli/recipe/sync.go @@ -23,7 +23,6 @@ var recipeSyncCommand = cli.Command{ HideHelpCommand: true, UsageText: "abra recipe lint [options] []", Flags: []cli.Flag{ - internal.NoInputFlag, internal.DryFlag, internal.MajorFlag, internal.MinorFlag, diff --git a/cli/recipe/upgrade.go b/cli/recipe/upgrade.go index c94f32bf..37f99445 100644 --- a/cli/recipe/upgrade.go +++ b/cli/recipe/upgrade.go @@ -57,7 +57,6 @@ interface. You may invoke this command in "wizard" mode and be prompted for input.`, UsageText: "abra recipe upgrade [options] []", Flags: []cli.Flag{ - internal.NoInputFlag, internal.PatchFlag, internal.MinorFlag, internal.MajorFlag, diff --git a/cli/recipe/version.go b/cli/recipe/version.go index 20b9f170..7ce75be9 100644 --- a/cli/recipe/version.go +++ b/cli/recipe/version.go @@ -31,8 +31,6 @@ var recipeVersionCommand = cli.Command{ UsageText: "abra recipe version [options] ", HideHelpCommand: true, Flags: []cli.Flag{ - internal.OfflineFlag, - internal.NoInputFlag, internal.MachineReadableFlag, }, Before: internal.SubCommandBefore, diff --git a/cli/server/add.go b/cli/server/add.go index 2ed5803a..aac34ba7 100644 --- a/cli/server/add.go +++ b/cli/server/add.go @@ -120,7 +120,6 @@ You can also pass "--no-domain-checks/-D" flag to use any arbitrary name instead of a real domain. The host will be resolved with the "Hostname" entry of your ~/.ssh/config. Checks for a valid online domain will be skipped.`, Flags: []cli.Flag{ - internal.NoInputFlag, internal.NoDomainChecksFlag, localFlag, }, diff --git a/cli/server/list.go b/cli/server/list.go index 8f2c0454..aa8aabd0 100644 --- a/cli/server/list.go +++ b/cli/server/list.go @@ -22,7 +22,6 @@ var serverListCommand = cli.Command{ Flags: []cli.Flag{ internal.DebugFlag, internal.MachineReadableFlag, - internal.OfflineFlag, }, Before: internal.SubCommandBefore, Action: func(ctx context.Context, cmd *cli.Command) error { diff --git a/cli/server/prune.go b/cli/server/prune.go index b581cbde..9547a91b 100644 --- a/cli/server/prune.go +++ b/cli/server/prune.go @@ -44,8 +44,6 @@ app. This can result in unwanted data loss if not used carefully.`, Flags: []cli.Flag{ allFilterFlag, volumesFilterFlag, - internal.OfflineFlag, - internal.NoInputFlag, }, Before: internal.SubCommandBefore, EnableShellCompletion: true, diff --git a/cli/server/remove.go b/cli/server/remove.go index b2a8568e..fa13b0a4 100644 --- a/cli/server/remove.go +++ b/cli/server/remove.go @@ -24,10 +24,6 @@ var serverRemoveCommand = cli.Command{ Abra will remove the internal bookkeeping ($ABRA_DIR/servers/...) and underlying client connection context. This server will then be lost in time, like tears in rain.`, - Flags: []cli.Flag{ - internal.NoInputFlag, - internal.OfflineFlag, - }, Before: internal.SubCommandBefore, EnableShellCompletion: true, ShellComplete: autocomplete.ServerNameComplete,