forked from toolshed/abra
		
	feat: added app commands and flags for commands
This commit is contained in:
		
							
								
								
									
										46
									
								
								cli/app.go
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								cli/app.go
									
									
									
									
									
								
							| @ -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{ | ||||
|  | ||||
							
								
								
									
										175
									
								
								cli/common.go
									
									
									
									
									
								
							
							
						
						
									
										175
									
								
								cli/common.go
									
									
									
									
									
								
							| @ -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, | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user