package internal import ( "github.com/urfave/cli/v2" ) // Secrets stores the variable from SecretsFlag var Secrets bool // SecretsFlag turns on/off automatically generating secrets var SecretsFlag = &cli.BoolFlag{ Name: "secrets", Aliases: []string{"S"}, Value: false, Usage: "Automatically generate secrets", Destination: &Secrets, } // Pass stores the variable from PassFlag var Pass bool // PassFlag turns on/off storing generated secrets in pass var PassFlag = &cli.BoolFlag{ Name: "pass", Aliases: []string{"P"}, Value: false, Usage: "Store the generated secrets in a local pass store", Destination: &Pass, } // Context is temp var Context string // ContextFlag is temp var ContextFlag = &cli.StringFlag{ Name: "context", Value: "", Aliases: []string{"c"}, Destination: &Context, } // Force force functionality without asking. var Force bool // ForceFlag turns on/off force functionality. var ForceFlag = &cli.BoolFlag{ Name: "force", Value: false, Aliases: []string{"f"}, Destination: &Force, } // Chaos engages chaos mode. var Chaos bool // ChaosFlag turns on/off chaos functionality. var ChaosFlag = &cli.BoolFlag{ Name: "chaos", Value: false, Aliases: []string{"ch"}, Usage: "Deploy uncommitted recipes changes. Use with care!", Destination: &Chaos, } // DNSProvider specifies a DNS provider. var DNSProvider string // DNSProviderFlag selects a DNS provider. var DNSProviderFlag = &cli.StringFlag{ Name: "provider", Value: "", Aliases: []string{"p"}, Usage: "DNS provider", Destination: &DNSProvider, } var NoInput bool var NoInputFlag = &cli.BoolFlag{ Name: "no-input", Value: false, Aliases: []string{"n"}, Usage: "Toggle non-interactive mode", Destination: &NoInput, } var DNSType string var DNSTypeFlag = &cli.StringFlag{ Name: "type", Value: "", Aliases: []string{"t"}, Usage: "Domain name record type (e.g. A)", Destination: &DNSType, } var DNSName string var DNSNameFlag = &cli.StringFlag{ Name: "name", Value: "", Aliases: []string{"n"}, Usage: "Domain name record name (e.g. mysubdomain)", Destination: &DNSName, } var DNSValue string var DNSValueFlag = &cli.StringFlag{ Name: "value", Value: "", Aliases: []string{"v"}, Usage: "Domain name record value (e.g. 192.168.1.1)", Destination: &DNSValue, } var DNSTTL int var DNSTTLFlag = &cli.IntFlag{ Name: "ttl", Value: 86400, Aliases: []string{"T"}, Usage: "Domain name TTL value)", Destination: &DNSTTL, } var DNSPriority int var DNSPriorityFlag = &cli.IntFlag{ Name: "priority", Value: 10, Aliases: []string{"P"}, Usage: "Domain name priority value", Destination: &DNSPriority, } var ServerProvider string var ServerProviderFlag = &cli.StringFlag{ Name: "provider", Aliases: []string{"p"}, Usage: "3rd party server provider", Destination: &ServerProvider, } var CapsulInstanceURL string var CapsulInstanceURLFlag = &cli.StringFlag{ Name: "capsul-url", Value: "yolo.servers.coop", Aliases: []string{"cu"}, Usage: "capsul instance URL", Destination: &CapsulInstanceURL, } var CapsulName string var CapsulNameFlag = &cli.StringFlag{ Name: "capsul-name", Value: "", Aliases: []string{"cn"}, Usage: "capsul name", Destination: &CapsulName, } var CapsulType string var CapsulTypeFlag = &cli.StringFlag{ Name: "capsul-type", Value: "f1-xs", Aliases: []string{"ct"}, Usage: "capsul type", Destination: &CapsulType, } var CapsulImage string var CapsulImageFlag = &cli.StringFlag{ Name: "capsul-image", Value: "debian10", Aliases: []string{"ci"}, Usage: "capsul image", Destination: &CapsulImage, } var CapsulSSHKeys cli.StringSlice var CapsulSSHKeysFlag = &cli.StringSliceFlag{ Name: "capsul-ssh-keys", Aliases: []string{"cs"}, Usage: "capsul SSH key", Destination: &CapsulSSHKeys, } var CapsulAPIToken string var CapsulAPITokenFlag = &cli.StringFlag{ Name: "capsul-token", Aliases: []string{"ca"}, Usage: "capsul API token", EnvVars: []string{"CAPSUL_TOKEN"}, Destination: &CapsulAPIToken, } var HetznerCloudName string var HetznerCloudNameFlag = &cli.StringFlag{ Name: "hetzner-name", Value: "", Aliases: []string{"hn"}, Usage: "hetzner cloud name", Destination: &HetznerCloudName, } var HetznerCloudType string var HetznerCloudTypeFlag = &cli.StringFlag{ Name: "hetzner-type", Aliases: []string{"ht"}, Usage: "hetzner cloud type", Destination: &HetznerCloudType, Value: "cx11", } var HetznerCloudImage string var HetznerCloudImageFlag = &cli.StringFlag{ Name: "hetzner-image", Aliases: []string{"hi"}, Usage: "hetzner cloud image", Value: "debian-10", Destination: &HetznerCloudImage, } var HetznerCloudSSHKeys cli.StringSlice var HetznerCloudSSHKeysFlag = &cli.StringSliceFlag{ Name: "hetzner-ssh-keys", Aliases: []string{"hs"}, Usage: "hetzner cloud SSH keys (e.g. me@foo.com)", Destination: &HetznerCloudSSHKeys, } var HetznerCloudLocation string var HetznerCloudLocationFlag = &cli.StringFlag{ Name: "hetzner-location", Aliases: []string{"hl"}, Usage: "hetzner cloud server location", Value: "hel1", Destination: &HetznerCloudLocation, } var HetznerCloudAPIToken string var HetznerCloudAPITokenFlag = &cli.StringFlag{ Name: "hetzner-token", Aliases: []string{"ha"}, Usage: "hetzner cloud API token", EnvVars: []string{"HCLOUD_TOKEN"}, Destination: &HetznerCloudAPIToken, }