func init() { stdcli.RegisterCommand(cli.Command{ Name: "start", Description: "start an app for local development", Usage: "[directory]", Action: cmdStart, Flags: []cli.Flag{ cli.StringFlag{ Name: "file, f", Value: "docker-compose.yml", Usage: "a file to use in place of docker-compose.yml", }, cli.BoolFlag{ Name: "no-cache", Usage: "Do not use Docker cache during build.", }, }, }) stdcli.RegisterCommand(cli.Command{ Name: "init", Description: "initialize an app for local development", Usage: "[directory]", Action: cmdInit, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "start", Description: "start an app for local development", Usage: "[directory]", Action: cmdStart, Flags: []cli.Flag{ cli.StringFlag{ Name: "file, f", Value: "docker-compose.yml", Usage: "path to an alternate docker compose manifest file", }, cli.BoolFlag{ Name: "no-cache", Usage: "pull fresh image dependencies", }, cli.BoolTFlag{ Name: "sync", Usage: "synchronize local file changes into the running containers", }, }, }) stdcli.RegisterCommand(cli.Command{ Name: "init", Description: "initialize an app for local development", Usage: "[directory]", Action: cmdInit, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "build", Description: "create a new build", Usage: "", Action: cmdBuildsCreate, Flags: buildCreateFlags, }) stdcli.RegisterCommand(cli.Command{ Name: "builds", Description: "manage an app's builds", Usage: "", Action: cmdBuilds, Flags: []cli.Flag{appFlag, rackFlag}, Subcommands: []cli.Command{ { Name: "create", Description: "create a new build", Usage: "", Action: cmdBuildsCreate, Flags: buildCreateFlags, }, { Name: "copy", Description: "copy a build to an app", Usage: "<ID> <app>", Action: cmdBuildsCopy, Flags: []cli.Flag{ appFlag, rackFlag, cli.BoolFlag{ Name: "promote", Usage: "promote the release after copy", }, }, }, { Name: "info", Description: "print output for a build", Usage: "<ID>", Action: cmdBuildsInfo, Flags: []cli.Flag{appFlag, rackFlag}, }, { Name: "delete", Description: "Archive a build and its artifacts", Usage: "<ID>", Action: cmdBuildsDelete, Flags: []cli.Flag{appFlag, rackFlag}, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "build", Description: "create a new build", Usage: "", Action: cmdBuildsCreate, Flags: []cli.Flag{ appFlag, cli.BoolFlag{ Name: "no-cache", Usage: "Do not use Docker cache during build.", }, cli.StringFlag{ Name: "file, f", Value: "docker-compose.yml", Usage: "a file to use in place of docker-compose.yml", }, }, }) stdcli.RegisterCommand(cli.Command{ Name: "builds", Description: "manage an app's builds", Usage: "", Action: cmdBuilds, Flags: []cli.Flag{appFlag}, Subcommands: []cli.Command{ { Name: "create", Description: "create a new build", Usage: "", Action: cmdBuildsCreate, Flags: []cli.Flag{ appFlag, cli.StringFlag{ Name: "file, f", Value: "docker-compose.yml", Usage: "a file to use in place of docker-compose.yml", }, }, }, { Name: "info", Description: "print output for a build", Usage: "<ID>", Action: cmdBuildsInfo, Flags: []cli.Flag{appFlag}, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "start", Description: "start an app for local development", Usage: "[directory]", Action: cmdStart, }) stdcli.RegisterCommand(cli.Command{ Name: "init", Description: "initialize an app for local development", Usage: "[directory]", Action: cmdInit, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "builds", Description: "manage an app's builds", Usage: "", Action: cmdBuilds, Flags: []cli.Flag{appFlag}, Subcommands: []cli.Command{ { Name: "create", Description: "create a new build", Usage: "", Action: cmdBuildsCreate, Flags: []cli.Flag{appFlag}, }, { Name: "info", Description: "print output for a build", Usage: "<ID>", Action: cmdBuildsInfo, Flags: []cli.Flag{appFlag}, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "env", Description: "manage an app's environment variables", Usage: "[get|set|unset]", Action: cmdEnvList, Flags: []cli.Flag{appFlag}, Subcommands: []cli.Command{ { Name: "get", Description: "get all environment variables", Usage: "VARIABLE", Action: cmdEnvGet, Flags: []cli.Flag{appFlag}, }, { Name: "set", Description: "set an environment variable", Usage: "VARIABLE=VALUE", Action: cmdEnvSet, Flags: []cli.Flag{appFlag}, }, { Name: "unset", Description: "delete an environment varible", Usage: "VARIABLE", Action: cmdEnvUnset, Flags: []cli.Flag{appFlag}, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "doctor", Action: cmdDoctor, Description: "Check your app for common Convox compatibility issues.", }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "deploy", Description: "deploy an app to AWS", Usage: "<directory>", Action: cmdDeploy, Flags: []cli.Flag{ appFlag, cli.BoolFlag{ Name: "no-cache", Usage: "pull fresh image dependencies", }, cli.BoolFlag{ Name: "incremental", Usage: "use incremental build", }, cli.StringFlag{ Name: "file, f", Value: "docker-compose.yml", Usage: "location of docker-compose.yml", }, cli.StringFlag{ Name: "description", Value: "", Usage: "description of the build", }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "logs", Description: "stream the logs for an application", Usage: "", Action: cmdLogsStream, Flags: []cli.Flag{ appFlag, rackFlag, cli.StringFlag{ Name: "filter", Usage: "filter the logs by a given token", }, cli.BoolTFlag{ Name: "follow", Usage: "keep streaming new log output (default)", }, cli.DurationFlag{ Name: "since", Usage: "show logs since a duration (e.g. 10m or 1h2m10s)", Value: 2 * time.Minute, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "scale", Description: "scale an app's processes", Usage: "<process> [--count=2] [--memory=256] [--cpu=256]", Action: cmdScale, Flags: []cli.Flag{ appFlag, rackFlag, cli.IntFlag{ Name: "count", Usage: "Number of processes to keep running for specified process type.", }, cli.IntFlag{ Name: "memory", Usage: "Amount of memory, in MB, available to specified process type.", }, cli.IntFlag{ Name: "cpu", Usage: "CPU units available to specified process type.", }, cli.BoolFlag{ Name: "wait", Usage: "wait for app to finish scaling before returning", }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "ssl", Action: cmdSSLList, Description: "manage SSL certificates", Subcommands: []cli.Command{ { Name: "create", Description: "create a new SSL listener", Usage: "<port> <foo.crt> <foo.key>", Action: cmdSSLCreate, Flags: []cli.Flag{ appFlag, }, }, { Name: "delete", Description: "delete an SSL listener", Usage: "<port>", Action: cmdSSLDelete, Flags: []cli.Flag{ appFlag, }, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "rack", Description: "manage your Convox rack", Usage: "", Action: cmdRack, Subcommands: []cli.Command{ { Name: "update", Description: "update rack to the latest version", Usage: "[version]", Action: cmdRackUpdate, }, { Name: "scale", Description: "scale the rack capacity", Usage: "", Action: cmdRackScale, Flags: []cli.Flag{ cli.IntFlag{ Name: "count", Usage: "horizontally scale the instance count, e.g. 3 or 10", }, cli.StringFlag{ Name: "type", Usage: "vertically scale the instance type, e.g. t2.small or c3.xlargs", }, }, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "instances", Description: "list your Convox rack's instances", Usage: "", Action: cmdInstancesList, Flags: []cli.Flag{rackFlag}, Subcommands: []cli.Command{ { Name: "keyroll", Description: "generate and replace the ec2 keypair used for SSH", Usage: "", Action: cmdInstancesKeyroll, Flags: []cli.Flag{rackFlag}, }, { Name: "ssh", Description: "establish secure shell with EC2 instance", Usage: "<id> [command]", Action: cmdInstancesSSH, Flags: []cli.Flag{rackFlag}, SkipFlagParsing: true, }, { Name: "terminate", Description: "terminate an EC2 instance", Usage: "<id>", Flags: []cli.Flag{rackFlag}, Action: cmdInstancesTerminate, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "services", Description: "manage services", Usage: "", Action: cmdServices, Subcommands: []cli.Command{ { Name: "create", Description: "create a new service", Usage: "<type> <name>", Action: cmdServiceCreate, }, { Name: "delete", Description: "delete a service", Usage: "<name>", Action: cmdServiceDelete, }, { Name: "info", Description: "info about a service", Usage: "<name>", Action: cmdServiceInfo, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "releases", Description: "list an app's releases", Usage: "", Action: cmdReleases, Flags: []cli.Flag{appFlag}, Subcommands: []cli.Command{ { Name: "info", Description: "see info about a release", Usage: "<release id>", Action: cmdReleaseInfo, Flags: []cli.Flag{appFlag}, }, { Name: "promote", Description: "promote a release", Usage: "<release id>", Action: cmdReleasePromote, Flags: []cli.Flag{appFlag}, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "apps", Action: cmdApps, Description: "list deployed apps", Subcommands: []cli.Command{ { Name: "create", Description: "create a new application", Usage: "[name]", Action: cmdAppCreate, }, { Name: "delete", Description: "delete an application", Usage: "[name]", Action: cmdAppDelete, }, { Name: "info", Description: "see info about an app", Usage: "", Action: cmdAppInfo, Flags: []cli.Flag{appFlag}, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "releases", Description: "list an app's releases", Usage: "", Action: cmdReleases, Flags: []cli.Flag{appFlag, rackFlag}, Subcommands: []cli.Command{ { Name: "info", Description: "see info about a release", Usage: "<release id>", Action: cmdReleaseInfo, Flags: []cli.Flag{appFlag, rackFlag}, }, { Name: "promote", Description: "promote a release", Usage: "<release id>", Action: cmdReleasePromote, Flags: []cli.Flag{ appFlag, rackFlag, cli.BoolFlag{ Name: "wait", Usage: "wait for release to finish promoting before returning", }, }, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "api", Description: "api endpoint", Usage: "", Action: cmdApi, Flags: []cli.Flag{rackFlag}, Subcommands: []cli.Command{ { Name: "get", Description: "get an api endpoint", Usage: "<endpoint>", Action: cmdApiGet, Flags: []cli.Flag{rackFlag}, }, { Name: "delete", Description: "delete an api endpoint", Usage: "<endpoint>", Action: cmdApiDelete, Flags: []cli.Flag{rackFlag}, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "start", Description: "start an app for local development", Usage: "[service] [command]", Action: cmdStart, Flags: []cli.Flag{ cli.StringFlag{ Name: "file, f", Value: "docker-compose.yml", Usage: "path to an alternate docker compose manifest file", }, cli.BoolFlag{ Name: "no-cache", Usage: "Pull fresh image dependencies", }, cli.IntFlag{ Name: "shift", Usage: "shift allocated port numbers by the given amount", }, cli.BoolFlag{ Name: "no-sync", Usage: "do not synchronize local file changes into the running containers", }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "ps", Description: "list an app's processes", Usage: "", Action: cmdPs, Flags: []cli.Flag{ appFlag, cli.BoolFlag{ Name: "stats", Usage: "display process cpu/memory stats", }, }, Subcommands: []cli.Command{ { Name: "info", Description: "show info for a process", Usage: "<id>", Action: cmdPsInfo, Flags: []cli.Flag{appFlag}, }, { Name: "stop", Description: "stop a process", Usage: "<id>", Action: cmdPsStop, Flags: []cli.Flag{appFlag}, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "apps", Action: cmdApps, Description: "list deployed apps", Flags: []cli.Flag{rackFlag}, Subcommands: []cli.Command{ { Name: "cancel", Description: "cancel an update", Usage: "", Action: cmdAppCancel, Flags: []cli.Flag{appFlag, rackFlag}, }, { Name: "create", Description: "create a new application", Usage: "<name>", Action: cmdAppCreate, Flags: []cli.Flag{ rackFlag, cli.BoolFlag{ Name: "wait", Usage: "wait for app to finish creating before returning", }, }, }, { Name: "delete", Description: "delete an application", Usage: "<name>", Action: cmdAppDelete, Flags: []cli.Flag{rackFlag}, }, { Name: "info", Description: "see info about an app", Usage: "[name]", Action: cmdAppInfo, Flags: []cli.Flag{appFlag, rackFlag}, }, { Name: "params", Description: "list advanced parameters for an app", Usage: "[name]", Action: cmdAppParams, Flags: []cli.Flag{appFlag, rackFlag}, Subcommands: []cli.Command{ { Name: "set", Description: "update advanced parameters for an app", Usage: "NAME=VALUE [NAME=VALUE]", Action: cmdAppParamsSet, Flags: []cli.Flag{appFlag, rackFlag}, }, }, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "certs", Action: cmdCertsList, Description: "list certificates", Subcommands: []cli.Command{ { Name: "create", Description: "upload a certificate", Usage: "<cert.pub> <cert.key>", Action: cmdCertsCreate, Flags: []cli.Flag{ cli.StringFlag{ Name: "chain", Usage: "intermediate certificate chain", }, }, }, { Name: "delete", Description: "delete a certificate", Usage: "<id>", Action: cmdCertsDelete, }, { Name: "generate", Description: "generate a certificate", Usage: "<domain> [domain...]", Action: cmdCertsGenerate, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "ssl", Action: cmdSSLList, Description: "manage SSL certificates", Flags: []cli.Flag{ appFlag, rackFlag, }, Subcommands: []cli.Command{ { Name: "update", Description: "upload a replacement ssl certificate", Usage: "<process:port> <certificate>", Action: cmdSSLUpdate, Flags: []cli.Flag{ appFlag, rackFlag, cli.StringFlag{ Name: "chain", Usage: "Intermediate certificate chain.", }, }, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "rack", Description: "manage your Convox rack", Usage: "", Action: cmdRack, Subcommands: []cli.Command{ { Name: "params", Description: "list advanced rack parameters", Usage: "", Action: cmdRackParams, Subcommands: []cli.Command{ { Name: "set", Description: "update advanced rack parameters", Usage: "NAME=VALUE [NAME=VALUE]", Action: cmdRackParamsSet, Flags: []cli.Flag{appFlag}, }, }, }, { Name: "scale", Description: "scale the rack capacity", Usage: "", Action: cmdRackScale, Flags: []cli.Flag{ cli.IntFlag{ Name: "count", Usage: "horizontally scale the instance count, e.g. 3 or 10", }, cli.StringFlag{ Name: "type", Usage: "vertically scale the instance type, e.g. t2.small or c3.xlarge", }, }, }, { Name: "update", Description: "update rack to the given version", Usage: "[version]", Action: cmdRackUpdate, }, { Name: "releases", Description: "list rack releases", Usage: "", Action: cmdRackReleases, Flags: []cli.Flag{ cli.BoolFlag{ Name: "unpublished", Usage: "include unpublished versions", }, }, }, }, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "update", Description: "update the cli", Usage: "", Action: cmdUpdate, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "racks", Description: "list your Convox racks", Usage: "", Action: cmdRacks, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "switch", Description: "switch to another Convox rack", Usage: "[rack name]", Action: cmdSwitch, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "instances", Description: "list your Convox rack's instances", Usage: "", Action: cmdInstancesList, }) }
func init() { stdcli.RegisterCommand(cli.Command{ Name: "proxy", Description: "proxy local ports into a rack", Usage: "<[port:]host:hostport> [[port:]host:hostport]...", Action: cmdProxy, }) }