forked from toolshed/abra
		
	@ -1,14 +1,20 @@
 | 
			
		||||
package app
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/pkg/i18n"
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appAliases = i18n.G("a")
 | 
			
		||||
 | 
			
		||||
var AppCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app` command group
 | 
			
		||||
	Use:     i18n.G("app [cmd] [args] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("a")},
 | 
			
		||||
	Aliases: strings.Split(appAliases, ","),
 | 
			
		||||
	// translators: Short description for `app` command group
 | 
			
		||||
	Short: i18n.G("Manage apps"),
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@ package app
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	"coopcloud.tech/abra/pkg/autocomplete"
 | 
			
		||||
@ -11,10 +12,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app backup list` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appBackupListAliases = i18n.G("ls")
 | 
			
		||||
 | 
			
		||||
var AppBackupListCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app backup list` command
 | 
			
		||||
	Use:     i18n.G("list <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("ls")},
 | 
			
		||||
	Aliases: strings.Split(appBackupListAliases, ","),
 | 
			
		||||
	// translators: Short description for `app backup list` command
 | 
			
		||||
	Short: i18n.G("List the contents of a snapshot"),
 | 
			
		||||
	Args:  cobra.ExactArgs(1),
 | 
			
		||||
@ -63,10 +68,14 @@ var AppBackupListCommand = &cobra.Command{
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app backup download` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appBackupDownloadAliases = i18n.G("d")
 | 
			
		||||
 | 
			
		||||
var AppBackupDownloadCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app backup download` command
 | 
			
		||||
	Use:     i18n.G("download <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("d")},
 | 
			
		||||
	Aliases: strings.Split(appBackupDownloadAliases, ","),
 | 
			
		||||
	// translators: Short description for `app backup download` command
 | 
			
		||||
	Short: i18n.G("Download a snapshot"),
 | 
			
		||||
	Long: i18n.G(`Downloads a backup.tar.gz to the current working directory.
 | 
			
		||||
@ -134,10 +143,14 @@ var AppBackupDownloadCommand = &cobra.Command{
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app backup create` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appBackupCreateAliases = i18n.G("c")
 | 
			
		||||
 | 
			
		||||
var AppBackupCreateCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app backup create` command
 | 
			
		||||
	Use:     i18n.G("create <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("c")},
 | 
			
		||||
	Aliases: strings.Split(appBackupCreateAliases, ","),
 | 
			
		||||
	// translators: Short description for `app backup create` command
 | 
			
		||||
	Short: i18n.G("Create a new snapshot"),
 | 
			
		||||
	Args:  cobra.ExactArgs(1),
 | 
			
		||||
@ -180,10 +193,14 @@ var AppBackupCreateCommand = &cobra.Command{
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app backup snapshots` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appBackupSnapshotsAliases = i18n.G("s")
 | 
			
		||||
 | 
			
		||||
var AppBackupSnapshotsCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app backup snapshots` command
 | 
			
		||||
	Use:     i18n.G("snapshots <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("s")},
 | 
			
		||||
	Aliases: strings.Split(appBackupSnapshotsAliases, ","),
 | 
			
		||||
	// translators: Short description for `app backup snapshots` command
 | 
			
		||||
	Short: i18n.G("List all snapshots"),
 | 
			
		||||
	Args:  cobra.ExactArgs(1),
 | 
			
		||||
@ -217,10 +234,14 @@ var AppBackupSnapshotsCommand = &cobra.Command{
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app backup` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appBackupAliases = i18n.G("b")
 | 
			
		||||
 | 
			
		||||
var AppBackupCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app backup` command group
 | 
			
		||||
	Use:     i18n.G("backup [cmd] [args] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("b")},
 | 
			
		||||
	Aliases: strings.Split(appBackupAliases, ","),
 | 
			
		||||
	// translators: Short description for `app backup` command group
 | 
			
		||||
	Short: i18n.G("Manage app backups"),
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@ package app
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	appPkg "coopcloud.tech/abra/pkg/app"
 | 
			
		||||
@ -13,10 +14,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app check` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appCheckAliases = i18n.G("chk")
 | 
			
		||||
 | 
			
		||||
var AppCheckCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app check` command
 | 
			
		||||
	Use:     i18n.G("check <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("chk")},
 | 
			
		||||
	Aliases: strings.Split(appCheckAliases, ","),
 | 
			
		||||
	// translators: Short description for `app check` command
 | 
			
		||||
	Short: i18n.G("Ensure an app is well configured"),
 | 
			
		||||
	Long: i18n.G(`Compare env vars in both the app ".env" and recipe ".env.sample" file.
 | 
			
		||||
 | 
			
		||||
@ -18,10 +18,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app cmd` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appCmdAliases = i18n.G("cmd")
 | 
			
		||||
 | 
			
		||||
var AppCmdCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app command` command
 | 
			
		||||
	Use:     i18n.G("command <domain> [service | --local] <cmd> [[args] [flags] | [flags] -- [args]]"),
 | 
			
		||||
	Aliases: []string{i18n.G("cmd")},
 | 
			
		||||
	Aliases: strings.Split(appCmdAliases, ","),
 | 
			
		||||
	// translators: Short description for `app cmd` command
 | 
			
		||||
	Short: i18n.G("Run app commands"),
 | 
			
		||||
	Long: i18n.G(`Run an app specific command.
 | 
			
		||||
@ -194,10 +198,14 @@ does not).`),
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app command list` aliases. use a comma separated list of
 | 
			
		||||
// aliases with no spaces in between
 | 
			
		||||
var appCmdListAliases = i18n.G("ls")
 | 
			
		||||
 | 
			
		||||
var AppCmdListCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app cmd list` command
 | 
			
		||||
	Use:     i18n.G("list <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("ls")},
 | 
			
		||||
	Aliases: strings.Split(appCmdListAliases, ","),
 | 
			
		||||
	// translators: Short description for `app cmd list` command
 | 
			
		||||
	Short: i18n.G("List all available commands"),
 | 
			
		||||
	Args:  cobra.MinimumNArgs(1),
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ package app
 | 
			
		||||
import (
 | 
			
		||||
	"os"
 | 
			
		||||
	"os/exec"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	appPkg "coopcloud.tech/abra/pkg/app"
 | 
			
		||||
	"coopcloud.tech/abra/pkg/autocomplete"
 | 
			
		||||
@ -12,10 +13,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app config` aliases. use a comma separated list of
 | 
			
		||||
// aliases with no spaces in between
 | 
			
		||||
var appConfigAliases = i18n.G("cfg")
 | 
			
		||||
 | 
			
		||||
var AppConfigCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app config` command
 | 
			
		||||
	Use:     i18n.G("config <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("cfg")},
 | 
			
		||||
	Aliases: strings.Split(appConfigAliases, ","),
 | 
			
		||||
	// translators: Short description for `app config` command
 | 
			
		||||
	Short:   i18n.G("Edit app config"),
 | 
			
		||||
	Example: i18n.G("  abra config 1312.net"),
 | 
			
		||||
 | 
			
		||||
@ -25,10 +25,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app cp` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appCpAliases = i18n.G("c")
 | 
			
		||||
 | 
			
		||||
var AppCpCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app cp` command
 | 
			
		||||
	Use:     i18n.G("cp <domain> <src> <dst> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("c")},
 | 
			
		||||
	Aliases: strings.Split(appCpAliases, ","),
 | 
			
		||||
	// translators: Short description for `app cp` command
 | 
			
		||||
	Short: i18n.G("Copy files to/from a deployed app service"),
 | 
			
		||||
	Example: i18n.G(`  # copy myfile.txt to the root of the app service
 | 
			
		||||
 | 
			
		||||
@ -24,10 +24,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app deploy` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appDeployAliases = i18n.G("d")
 | 
			
		||||
 | 
			
		||||
var AppDeployCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app deploy` command
 | 
			
		||||
	Use:     i18n.G("deploy <domain> [version] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("d")},
 | 
			
		||||
	Aliases: strings.Split(appDeployAliases, ","),
 | 
			
		||||
	// translators: Short description for `app deploy` command
 | 
			
		||||
	Short: i18n.G("Deploy an app"),
 | 
			
		||||
	Long: i18n.G(`Deploy an app.
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ package app
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"sort"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	"coopcloud.tech/abra/pkg/autocomplete"
 | 
			
		||||
@ -11,10 +12,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app env` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appEnvAliases = i18n.G("e")
 | 
			
		||||
 | 
			
		||||
var AppEnvCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app env` command
 | 
			
		||||
	Use:     i18n.G("env <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("e")},
 | 
			
		||||
	Aliases: strings.Split(appEnvAliases, ","),
 | 
			
		||||
	// translators: Short description for `app env` command
 | 
			
		||||
	Short:   i18n.G("Show app .env values"),
 | 
			
		||||
	Example: i18n.G("  abra app env 1312.net"),
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,7 @@ import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"sort"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	"coopcloud.tech/abra/pkg/autocomplete"
 | 
			
		||||
@ -19,10 +20,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app labels` aliases. use a comma separated list of
 | 
			
		||||
// aliases with no spaces in between
 | 
			
		||||
var appLabelsAliases = i18n.G("lb")
 | 
			
		||||
 | 
			
		||||
var AppLabelsCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app labels` command
 | 
			
		||||
	Use:     i18n.G("labels <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("lb")},
 | 
			
		||||
	Aliases: strings.Split(appLabelsAliases, ","),
 | 
			
		||||
	// translators: Short description for `app labels` command
 | 
			
		||||
	Short:   i18n.G("Show deployment labels"),
 | 
			
		||||
	Long:    i18n.G("Both local recipe and live deployment labels are shown."),
 | 
			
		||||
 | 
			
		||||
@ -39,10 +39,14 @@ type serverStatus struct {
 | 
			
		||||
	UpgradeCount     int         `json:"upgradeCount"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app list` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appListAliases = i18n.G("ls")
 | 
			
		||||
 | 
			
		||||
var AppListCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app list` command
 | 
			
		||||
	Use:     i18n.G("list [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("ls")},
 | 
			
		||||
	Aliases: strings.Split(appListAliases, ","),
 | 
			
		||||
	// translators: Short description for `app list` command
 | 
			
		||||
	Short: i18n.G("List all managed apps"),
 | 
			
		||||
	Long: i18n.G(`Generate a report of all managed apps.
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@ package app
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	appPkg "coopcloud.tech/abra/pkg/app"
 | 
			
		||||
@ -14,10 +15,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app logs` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appLogsAliases = i18n.G("l")
 | 
			
		||||
 | 
			
		||||
var AppLogsCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app logs` command
 | 
			
		||||
	Use:     i18n.G("logs <domain> [service] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("l")},
 | 
			
		||||
	Aliases: strings.Split(appLogsAliases, ","),
 | 
			
		||||
	// translators: Short description for `app logs` command
 | 
			
		||||
	Short: i18n.G("Tail app logs"),
 | 
			
		||||
	Args:  cobra.RangeArgs(1, 2),
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ package app
 | 
			
		||||
import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	"coopcloud.tech/abra/pkg/app"
 | 
			
		||||
@ -42,10 +43,14 @@ You can use the "--pass/-P" to store these generated passwords locally in a
 | 
			
		||||
pass store (see passwordstore.org for more). The pass command must be available
 | 
			
		||||
on your $PATH.`)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app new` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appNewAliases = i18n.G("n")
 | 
			
		||||
 | 
			
		||||
var AppNewCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app new` command
 | 
			
		||||
	Use:     i18n.G("new [recipe] [version] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("n")},
 | 
			
		||||
	Aliases: strings.Split(appNewAliases, ","),
 | 
			
		||||
	// translators: Short description for `app new` command
 | 
			
		||||
	Short: i18n.G("Create a new app"),
 | 
			
		||||
	Long:  appNewDescription,
 | 
			
		||||
 | 
			
		||||
@ -24,10 +24,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app ps` aliases. use a comma separated list of aliases
 | 
			
		||||
// with no spaces in between
 | 
			
		||||
var appPsAliases = i18n.G("p")
 | 
			
		||||
 | 
			
		||||
var AppPsCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app ps` command
 | 
			
		||||
	Use:     i18n.G("ps <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("p")},
 | 
			
		||||
	Aliases: strings.Split(appPsAliases, ","),
 | 
			
		||||
	// translators: Short description for `app ps` command
 | 
			
		||||
	Short: i18n.G("Check app deployment status"),
 | 
			
		||||
	Args:  cobra.ExactArgs(1),
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ package app
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"os"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	"coopcloud.tech/abra/pkg/autocomplete"
 | 
			
		||||
@ -15,10 +16,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app remove` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appRemoveAliases = i18n.G("rm")
 | 
			
		||||
 | 
			
		||||
var AppRemoveCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app remove` command
 | 
			
		||||
	Use:     i18n.G("remove <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("rm")},
 | 
			
		||||
	Aliases: strings.Split(appRemoveAliases, ","),
 | 
			
		||||
	// translators: Short description for `app remove` command
 | 
			
		||||
	Short: i18n.G("Remove all app data, locally and remotely"),
 | 
			
		||||
	Long: i18n.G(`Remove everything related to an app which is already undeployed.
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ package app
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	appPkg "coopcloud.tech/abra/pkg/app"
 | 
			
		||||
@ -17,10 +18,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app restart` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appRestartAliases = i18n.G("re")
 | 
			
		||||
 | 
			
		||||
var AppRestartCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app restart` command
 | 
			
		||||
	Use:     i18n.G("restart <domain> [[service] | --all-services] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("re")},
 | 
			
		||||
	Aliases: strings.Split(appRestartAliases, ","),
 | 
			
		||||
	// translators: Short description for `app restart` command
 | 
			
		||||
	Short: i18n.G("Restart an app"),
 | 
			
		||||
	Long: i18n.G(`This command restarts services within a deployed app.
 | 
			
		||||
 | 
			
		||||
@ -12,10 +12,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app restore` aliases. use a comma separated list of
 | 
			
		||||
// aliases with no spaces in between
 | 
			
		||||
var appRestoreAliases = i18n.G("rs")
 | 
			
		||||
 | 
			
		||||
var AppRestoreCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app restore` command
 | 
			
		||||
	Use:     i18n.G("restore <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("rs")},
 | 
			
		||||
	Aliases: strings.Split(appRestoreAliases, ","),
 | 
			
		||||
	// translators: Short description for `app restore` command
 | 
			
		||||
	Short: i18n.G("Restore a snapshot"),
 | 
			
		||||
	Long: i18n.G(`Snapshots are restored while apps are deployed.
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@ package app
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/pkg/app"
 | 
			
		||||
	appPkg "coopcloud.tech/abra/pkg/app"
 | 
			
		||||
@ -21,10 +22,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app rollback` aliases. use a comma separated list of
 | 
			
		||||
// aliases with no spaces in between
 | 
			
		||||
var appRollbackAliases = i18n.G("rl")
 | 
			
		||||
 | 
			
		||||
var AppRollbackCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app rollback` command
 | 
			
		||||
	Use:     i18n.G("rollback <domain> [version] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("rl")},
 | 
			
		||||
	Aliases: strings.Split(appRollbackAliases, ","),
 | 
			
		||||
	// translators: Short description for `app rollback` command
 | 
			
		||||
	Short: i18n.G("Roll an app back to a previous version"),
 | 
			
		||||
	Long: i18n.G(`This command rolls an app back to a previous version.
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ package app
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	"coopcloud.tech/abra/pkg/autocomplete"
 | 
			
		||||
@ -17,10 +18,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app run` aliases. use a comma separated list of aliases
 | 
			
		||||
// with no spaces in between
 | 
			
		||||
var appRunAliases = i18n.G("r")
 | 
			
		||||
 | 
			
		||||
var AppRunCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app run` command
 | 
			
		||||
	Use:     i18n.G("run <domain> <service> <cmd> [[args] [flags] | [flags] -- [args]]"),
 | 
			
		||||
	Aliases: []string{i18n.G("r")},
 | 
			
		||||
	Aliases: strings.Split(appRunAliases, ","),
 | 
			
		||||
	// translators: Short description for `app run` command
 | 
			
		||||
	Short: i18n.G("Run a command inside a service container"),
 | 
			
		||||
	Example: i18n.G(`  # run <cmd> with args/flags
 | 
			
		||||
 | 
			
		||||
@ -24,10 +24,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app secret generate` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appSecretGenerateAliases = i18n.G("g")
 | 
			
		||||
 | 
			
		||||
var AppSecretGenerateCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app secret generate` command
 | 
			
		||||
	Use:     i18n.G("generate <domain> [[secret] [version] | --all] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("g")},
 | 
			
		||||
	Aliases: strings.Split(appSecretGenerateAliases, ","),
 | 
			
		||||
	// translators: Short description for `app secret generate` command
 | 
			
		||||
	Short: i18n.G("Generate secrets"),
 | 
			
		||||
	Args:  cobra.RangeArgs(1, 3),
 | 
			
		||||
@ -146,10 +150,14 @@ var AppSecretGenerateCommand = &cobra.Command{
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app secret insert` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appSecretInsertAliases = i18n.G("i")
 | 
			
		||||
 | 
			
		||||
var AppSecretInsertCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app secret insert` command
 | 
			
		||||
	Use:     i18n.G("insert <domain> <secret> <version> [<data>] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("i")},
 | 
			
		||||
	Aliases: strings.Split(appSecretInsertAliases, ","),
 | 
			
		||||
	// translators: Short description for `app secret insert` command
 | 
			
		||||
	Short: i18n.G("Insert secret"),
 | 
			
		||||
	Long: i18n.G(`This command inserts a secret into an app environment.
 | 
			
		||||
@ -321,10 +329,14 @@ func secretRm(cl *dockerClient.Client, app appPkg.App, secretName, parsed string
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app secret remove` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appSecretRemoveAliases = i18n.G("rm")
 | 
			
		||||
 | 
			
		||||
var AppSecretRmCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app secret remove` command
 | 
			
		||||
	Use:     i18n.G("remove <domain> [[secret] | --all] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("rm")},
 | 
			
		||||
	Aliases: strings.Split(appSecretRemoveAliases, ","),
 | 
			
		||||
	// translators: Short description for `app secret remove` command
 | 
			
		||||
	Short: i18n.G("Remove a secret"),
 | 
			
		||||
	Long: i18n.G(`This command removes a secret from an app environment.
 | 
			
		||||
@ -436,10 +448,14 @@ match those configured in the recipe beforehand.`),
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app secret ls` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appSecretLsAliases = i18n.G("ls")
 | 
			
		||||
 | 
			
		||||
var AppSecretLsCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app secret list` command
 | 
			
		||||
	Use:     i18n.G("list <domain>"),
 | 
			
		||||
	Aliases: []string{i18n.G("ls")},
 | 
			
		||||
	Aliases: strings.Split(appSecretLsAliases, ","),
 | 
			
		||||
	// translators: Short description for `app secret list` command
 | 
			
		||||
	Short: i18n.G("List all secrets"),
 | 
			
		||||
	Args:  cobra.MinimumNArgs(1),
 | 
			
		||||
 | 
			
		||||
@ -17,10 +17,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app services` aliases. use a comma separated list of
 | 
			
		||||
// aliases with no spaces in between
 | 
			
		||||
var appServicesAliases = i18n.G("sr")
 | 
			
		||||
 | 
			
		||||
var AppServicesCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app services` command
 | 
			
		||||
	Use:     i18n.G("services <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("sr")},
 | 
			
		||||
	Aliases: strings.Split(appServicesAliases, ","),
 | 
			
		||||
	// translators: Short description for `app services` command
 | 
			
		||||
	Short: i18n.G("Display all services of an app"),
 | 
			
		||||
	Args:  cobra.ExactArgs(1),
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ package app
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	appPkg "coopcloud.tech/abra/pkg/app"
 | 
			
		||||
@ -18,12 +19,15 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app undeploy` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appUndeployAliases = i18n.G("un")
 | 
			
		||||
 | 
			
		||||
var AppUndeployCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app undeploy` command
 | 
			
		||||
	Use:     i18n.G("undeploy <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("un")},
 | 
			
		||||
	Use: i18n.G("undeploy <domain> [flags]"),
 | 
			
		||||
	// translators: Short description for `app undeploy` command
 | 
			
		||||
	Short: i18n.G("Undeploy an app"),
 | 
			
		||||
	Aliases: strings.Split(appUndeployAliases, ","),
 | 
			
		||||
	Long: i18n.G(`This does not destroy any application data.
 | 
			
		||||
 | 
			
		||||
However, you should remain vigilant, as your swarm installation will consider
 | 
			
		||||
 | 
			
		||||
@ -25,10 +25,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app upgrade` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appUpgradeAliases = i18n.G("up")
 | 
			
		||||
 | 
			
		||||
var AppUpgradeCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app upgrade` command
 | 
			
		||||
	Use:     i18n.G("upgrade <domain> [version] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("up")},
 | 
			
		||||
	Aliases: strings.Split(appUpgradeAliases, ","),
 | 
			
		||||
	// translators: Short description for `app upgrade` command
 | 
			
		||||
	Short: i18n.G("Upgrade an app"),
 | 
			
		||||
	Long: i18n.G(`Upgrade an app.
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ package app
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"coopcloud.tech/abra/cli/internal"
 | 
			
		||||
	"coopcloud.tech/abra/pkg/autocomplete"
 | 
			
		||||
@ -15,10 +16,14 @@ import (
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// translators: `abra app volume list` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appVolumeListAliases = i18n.G("ls")
 | 
			
		||||
 | 
			
		||||
var AppVolumeListCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app volume list` command
 | 
			
		||||
	Use:     i18n.G("list <domain> [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("ls")},
 | 
			
		||||
	Aliases: strings.Split(appVolumeListAliases, ","),
 | 
			
		||||
	// translators: Short description for `app list` command
 | 
			
		||||
	Short: i18n.G("List volumes associated with an app"),
 | 
			
		||||
	Args:  cobra.ExactArgs(1),
 | 
			
		||||
@ -74,6 +79,10 @@ var AppVolumeListCommand = &cobra.Command{
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app volume remove` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appVolumeRemoveAliases = i18n.G("rm")
 | 
			
		||||
 | 
			
		||||
var AppVolumeRemoveCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app volume remove` command
 | 
			
		||||
	Use: i18n.G("remove <domain> [volume] [flags]"),
 | 
			
		||||
@ -94,7 +103,7 @@ Passing "--force/-f" will select all volumes for removal. Be careful.`),
 | 
			
		||||
 | 
			
		||||
  # delete specific volume
 | 
			
		||||
  abra app volume rm 1312.net my_volume`),
 | 
			
		||||
	Aliases: []string{i18n.G("rm")},
 | 
			
		||||
	Aliases: strings.Split(appVolumeRemoveAliases, ","),
 | 
			
		||||
	Args:    cobra.MinimumNArgs(1),
 | 
			
		||||
	ValidArgsFunction: func(
 | 
			
		||||
		cmd *cobra.Command,
 | 
			
		||||
@ -190,10 +199,14 @@ Passing "--force/-f" will select all volumes for removal. Be careful.`),
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// translators: `abra app volume` aliases. use a comma separated list of aliases with
 | 
			
		||||
// no spaces in between
 | 
			
		||||
var appVolumeAliases = i18n.G("vl")
 | 
			
		||||
 | 
			
		||||
var AppVolumeCommand = &cobra.Command{
 | 
			
		||||
	// translators: `app volume` command group
 | 
			
		||||
	Use:     i18n.G("volume [cmd] [args] [flags]"),
 | 
			
		||||
	Aliases: []string{i18n.G("vl")},
 | 
			
		||||
	Aliases: strings.Split(appVolumeAliases, ","),
 | 
			
		||||
	Short:   i18n.G("Manage app volumes"),
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user