feat: added app commands and flags for commands
This commit is contained in:
parent
9a0bd6dc11
commit
1adca5ca0e
30
cli/app.go
30
cli/app.go
@ -4,33 +4,53 @@ import "github.com/urfave/cli/v2"
|
|||||||
|
|
||||||
var appNewCommand = &cli.Command{
|
var appNewCommand = &cli.Command{
|
||||||
Name: "new",
|
Name: "new",
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
ServerFlag,
|
||||||
|
DomainFlag,
|
||||||
|
AppNameFlag,
|
||||||
|
PassFlag,
|
||||||
|
SecretsFlag,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
var appDeployCommand = &cli.Command{
|
var appDeployCommand = &cli.Command{
|
||||||
Name: "deploy",
|
Name: "deploy",
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
UpdateFlag,
|
||||||
|
ForceFlag,
|
||||||
|
SkipVersionCheckFlag,
|
||||||
|
NoDomainPollFlag,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
var appUndeployCommand = &cli.Command{
|
var appUndeployCommand = &cli.Command{
|
||||||
Name: "undeploy",
|
Name: "undeploy",
|
||||||
}
|
}
|
||||||
var appBackupCommand = &cli.Command{
|
var appBackupCommand = &cli.Command{
|
||||||
Name: "backup",
|
Name: "backup",
|
||||||
|
Flags: []cli.Flag{AllFlag},
|
||||||
}
|
}
|
||||||
var appRestoreCommand = &cli.Command{
|
var appRestoreCommand = &cli.Command{
|
||||||
Name: "restore",
|
Name: "restore",
|
||||||
|
Flags: []cli.Flag{AllFlag},
|
||||||
|
ArgsUsage: "<service> [<backup file>]",
|
||||||
}
|
}
|
||||||
var appListCommand = &cli.Command{
|
var appListCommand = &cli.Command{
|
||||||
Name: "list",
|
Name: "list",
|
||||||
|
Aliases: []string{"ls"},
|
||||||
|
Flags: []cli.Flag{StatusFlag, ServerFlag, TypeFlag},
|
||||||
}
|
}
|
||||||
var appCheckCommand = &cli.Command{
|
var appCheckCommand = &cli.Command{
|
||||||
Name: "check",
|
Name: "check",
|
||||||
}
|
}
|
||||||
var appCpCommand = &cli.Command{
|
var appCpCommand = &cli.Command{
|
||||||
Name: "cp",
|
Name: "cp",
|
||||||
|
ArgsUsage: "<src> <dst>",
|
||||||
}
|
}
|
||||||
var appConfigCommand = &cli.Command{
|
var appConfigCommand = &cli.Command{
|
||||||
Name: "config",
|
Name: "config",
|
||||||
}
|
}
|
||||||
var appLogsCommand = &cli.Command{
|
var appLogsCommand = &cli.Command{
|
||||||
Name: "logs",
|
Name: "logs",
|
||||||
|
ArgsUsage: "[<service>]",
|
||||||
}
|
}
|
||||||
|
|
||||||
var appPsCommand = &cli.Command{
|
var appPsCommand = &cli.Command{
|
||||||
@ -38,17 +58,27 @@ var appPsCommand = &cli.Command{
|
|||||||
}
|
}
|
||||||
var appRemoveCommand = &cli.Command{
|
var appRemoveCommand = &cli.Command{
|
||||||
Name: "remove",
|
Name: "remove",
|
||||||
|
Flags: []cli.Flag{VolumesFlag, SecretsFlag},
|
||||||
}
|
}
|
||||||
var appRunCommand = &cli.Command{
|
var appRunCommand = &cli.Command{
|
||||||
Name: "run",
|
Name: "run",
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
NoTTYFlag,
|
||||||
|
UserFlag,
|
||||||
|
},
|
||||||
|
ArgsUsage: "<service> <args>...",
|
||||||
}
|
}
|
||||||
|
|
||||||
var appRollbackCommand = &cli.Command{
|
var appRollbackCommand = &cli.Command{
|
||||||
Name: "rollback",
|
Name: "rollback",
|
||||||
|
ArgsUsage: "[<version>]",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Replicating what the bash abra does might be hard
|
||||||
|
// with the mix of subcommands and flags
|
||||||
var appSecretCommand = &cli.Command{
|
var appSecretCommand = &cli.Command{
|
||||||
Name: "secret",
|
Name: "secret",
|
||||||
|
Flags: []cli.Flag{AllFlag, PassFlag},
|
||||||
}
|
}
|
||||||
|
|
||||||
var AppCommand = &cli.Command{
|
var AppCommand = &cli.Command{
|
||||||
|
175
cli/common.go
175
cli/common.go
@ -1,3 +1,178 @@
|
|||||||
package cli
|
package cli
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/urfave/cli/v2"
|
||||||
|
)
|
||||||
|
|
||||||
const emptyArgsUsage = " " // Removes "[arguments]" from help. Empty str's are ignored
|
const emptyArgsUsage = " " // Removes "[arguments]" from help. Empty str's are ignored
|
||||||
|
|
||||||
|
// Flags
|
||||||
|
|
||||||
|
var Status bool
|
||||||
|
var StatusFlag = &cli.BoolFlag{
|
||||||
|
Name: "status",
|
||||||
|
Value: false,
|
||||||
|
Destination: &Status,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Domain string
|
||||||
|
var DomainFlag = &cli.StringFlag{
|
||||||
|
Name: "domain",
|
||||||
|
Value: "",
|
||||||
|
Destination: &Domain,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Server string
|
||||||
|
var ServerFlag = &cli.StringFlag{
|
||||||
|
Name: "server",
|
||||||
|
Value: "",
|
||||||
|
Destination: &Server,
|
||||||
|
}
|
||||||
|
|
||||||
|
var AppName string
|
||||||
|
var AppNameFlag = &cli.StringFlag{
|
||||||
|
Name: "app-name",
|
||||||
|
Value: "",
|
||||||
|
Destination: &AppName,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Secrets bool
|
||||||
|
var SecretsFlag = &cli.BoolFlag{
|
||||||
|
Name: "secrets",
|
||||||
|
Value: false,
|
||||||
|
Destination: &Secrets,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Pass bool
|
||||||
|
var PassFlag = &cli.BoolFlag{
|
||||||
|
Name: "pass",
|
||||||
|
Value: false,
|
||||||
|
Destination: &Pass,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Force bool
|
||||||
|
var ForceFlag = &cli.BoolFlag{
|
||||||
|
Name: "force",
|
||||||
|
Value: false,
|
||||||
|
Destination: &Force,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Update bool
|
||||||
|
var UpdateFlag = &cli.BoolFlag{
|
||||||
|
Name: "update",
|
||||||
|
Value: false,
|
||||||
|
Destination: &Update,
|
||||||
|
}
|
||||||
|
|
||||||
|
var NoDomainPoll bool
|
||||||
|
var NoDomainPollFlag = &cli.BoolFlag{
|
||||||
|
Name: "no-domain-poll",
|
||||||
|
Value: false,
|
||||||
|
Destination: &NoDomainPoll,
|
||||||
|
}
|
||||||
|
|
||||||
|
var SkipVersionCheck bool
|
||||||
|
var SkipVersionCheckFlag = &cli.BoolFlag{
|
||||||
|
Name: "skip-version-check",
|
||||||
|
Value: false,
|
||||||
|
Destination: &SkipVersionCheck,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Volumes bool
|
||||||
|
var VolumesFlag = &cli.BoolFlag{
|
||||||
|
Name: "volumes",
|
||||||
|
Value: false,
|
||||||
|
Destination: &Volumes,
|
||||||
|
}
|
||||||
|
|
||||||
|
var All bool
|
||||||
|
var AllFlag = &cli.BoolFlag{
|
||||||
|
Name: "all",
|
||||||
|
Value: false,
|
||||||
|
Destination: &All,
|
||||||
|
}
|
||||||
|
|
||||||
|
var NoTTY bool
|
||||||
|
var NoTTYFlag = &cli.BoolFlag{
|
||||||
|
Name: "no-tty",
|
||||||
|
Value: false,
|
||||||
|
Destination: &NoTTY,
|
||||||
|
}
|
||||||
|
|
||||||
|
var User string
|
||||||
|
var UserFlag = &cli.StringFlag{
|
||||||
|
Name: "user",
|
||||||
|
Value: "",
|
||||||
|
Destination: &User,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Env string
|
||||||
|
var EnvFlag = &cli.PathFlag{
|
||||||
|
Name: "env",
|
||||||
|
Aliases: []string{"e"},
|
||||||
|
Value: "",
|
||||||
|
Destination: &Env,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Verbose bool
|
||||||
|
var VerboseFlag = &cli.BoolFlag{
|
||||||
|
Name: "verbose",
|
||||||
|
Aliases: []string{"V"},
|
||||||
|
Value: false,
|
||||||
|
Destination: &Verbose,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Debug bool
|
||||||
|
var DebugFlag = &cli.BoolFlag{
|
||||||
|
Name: "debug",
|
||||||
|
Aliases: []string{"d"},
|
||||||
|
Value: false,
|
||||||
|
Destination: &Debug,
|
||||||
|
}
|
||||||
|
|
||||||
|
var NoPrompt bool
|
||||||
|
var NoPromptFlag = &cli.BoolFlag{
|
||||||
|
Name: "no-prompt",
|
||||||
|
Aliases: []string{"n"},
|
||||||
|
Value: false,
|
||||||
|
Destination: &NoPrompt,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Branch string
|
||||||
|
var BranchFlag = &cli.StringFlag{
|
||||||
|
Name: "branch",
|
||||||
|
Aliases: []string{"b"},
|
||||||
|
Value: "",
|
||||||
|
Destination: &Branch,
|
||||||
|
}
|
||||||
|
|
||||||
|
var SkipUpdate bool
|
||||||
|
var SkipUpdateFlag = &cli.BoolFlag{
|
||||||
|
Name: "skip-update",
|
||||||
|
Aliases: []string{"U"},
|
||||||
|
Value: false,
|
||||||
|
Destination: &SkipUpdate,
|
||||||
|
}
|
||||||
|
|
||||||
|
var SkipCheck bool
|
||||||
|
var SkipCheckFlag = &cli.BoolFlag{
|
||||||
|
Name: "skip-check",
|
||||||
|
Aliases: []string{"C"},
|
||||||
|
Value: false,
|
||||||
|
Destination: &SkipCheck,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Stack string
|
||||||
|
var StackFlag = &cli.StringFlag{
|
||||||
|
Name: "stack",
|
||||||
|
Aliases: []string{"s"},
|
||||||
|
Value: "",
|
||||||
|
Destination: &Stack,
|
||||||
|
}
|
||||||
|
|
||||||
|
var Type string
|
||||||
|
var TypeFlag = &cli.StringFlag{
|
||||||
|
Name: "type",
|
||||||
|
Value: "",
|
||||||
|
Destination: &Type,
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user