210 lines
3.9 KiB
Go
210 lines
3.9 KiB
Go
package cli
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/olekukonko/tablewriter"
|
|
"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,
|
|
}
|
|
|
|
var Context string
|
|
var ContextFlag = &cli.StringFlag{
|
|
Name: "context",
|
|
Value: "",
|
|
Aliases: []string{"c"},
|
|
Destination: &Context,
|
|
}
|
|
|
|
func createTable(columns []string) *tablewriter.Table {
|
|
table := tablewriter.NewWriter(os.Stdout)
|
|
table.SetHeader(columns)
|
|
|
|
// Settings to create very bare tab padded table
|
|
table.SetAutoWrapText(false)
|
|
table.SetAutoFormatHeaders(true)
|
|
table.SetHeaderAlignment(tablewriter.ALIGN_LEFT)
|
|
table.SetAlignment(tablewriter.ALIGN_LEFT)
|
|
table.SetCenterSeparator("")
|
|
table.SetColumnSeparator("")
|
|
table.SetRowSeparator("")
|
|
table.SetHeaderLine(false)
|
|
table.SetBorder(false)
|
|
table.SetTablePadding("\t") // pad with tabs
|
|
table.SetNoWhiteSpace(true)
|
|
table.SetColWidth(1)
|
|
return table
|
|
}
|