feat: added app commands and flags for commands

This commit is contained in:
Roxie Gibson 2021-07-15 06:17:47 +01:00
parent 9a0bd6dc11
commit 1adca5ca0e
Signed by untrusted user: roxxers
GPG Key ID: 5D0140EDEE123F4D
2 changed files with 213 additions and 8 deletions

View File

@ -4,51 +4,81 @@ import "github.com/urfave/cli/v2"
var appNewCommand = &cli.Command{
Name: "new",
Flags: []cli.Flag{
ServerFlag,
DomainFlag,
AppNameFlag,
PassFlag,
SecretsFlag,
},
}
var appDeployCommand = &cli.Command{
Name: "deploy",
Flags: []cli.Flag{
UpdateFlag,
ForceFlag,
SkipVersionCheckFlag,
NoDomainPollFlag,
},
}
var appUndeployCommand = &cli.Command{
Name: "undeploy",
}
var appBackupCommand = &cli.Command{
Name: "backup",
Name: "backup",
Flags: []cli.Flag{AllFlag},
}
var appRestoreCommand = &cli.Command{
Name: "restore",
Name: "restore",
Flags: []cli.Flag{AllFlag},
ArgsUsage: "<service> [<backup file>]",
}
var appListCommand = &cli.Command{
Name: "list",
Name: "list",
Aliases: []string{"ls"},
Flags: []cli.Flag{StatusFlag, ServerFlag, TypeFlag},
}
var appCheckCommand = &cli.Command{
Name: "check",
}
var appCpCommand = &cli.Command{
Name: "cp",
Name: "cp",
ArgsUsage: "<src> <dst>",
}
var appConfigCommand = &cli.Command{
Name: "config",
}
var appLogsCommand = &cli.Command{
Name: "logs",
Name: "logs",
ArgsUsage: "[<service>]",
}
var appPsCommand = &cli.Command{
Name: "ps",
}
var appRemoveCommand = &cli.Command{
Name: "remove",
Name: "remove",
Flags: []cli.Flag{VolumesFlag, SecretsFlag},
}
var appRunCommand = &cli.Command{
Name: "run",
Flags: []cli.Flag{
NoTTYFlag,
UserFlag,
},
ArgsUsage: "<service> <args>...",
}
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{
Name: "secret",
Name: "secret",
Flags: []cli.Flag{AllFlag, PassFlag},
}
var AppCommand = &cli.Command{

View File

@ -1,3 +1,178 @@
package cli
import (
"github.com/urfave/cli/v2"
)
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,
}