- I think it would be better if one for commands only, one for the spec handling core logic so people won't be confused by the core logic inside the commands folder (cleaner I guess) - Regen docs
85 lines
4.7 KiB
Go
85 lines
4.7 KiB
Go
package ops
|
|
|
|
import (
|
|
"github.com/versenilvis/iris/spec"
|
|
)
|
|
|
|
func init() {
|
|
spec.Register(&spec.Spec{
|
|
Name: "tsuru",
|
|
Description: "Plan",
|
|
Subcommands: []spec.Subcommand{
|
|
{Name: "app", Description: "App commands"},
|
|
{Name: "build", Description: "Builds a tsuru app image respecting"},
|
|
{Name: "create", Description: "Creates a new app using the given name and platform"},
|
|
{Name: "platform", Description: "Platform of the app"},
|
|
{Name: "deploy", Description: "Deploys set of files and/or directories to tsuru server"},
|
|
{Name: "list", Description: "List information about deploys for an application"},
|
|
{Name: "rebuild", Description: "Rebuild and deploy the last app image"},
|
|
{Name: "rollback", Description: "Deploys an existing image for an app"},
|
|
{Name: "y", Description: "Answer yes to all questions"},
|
|
{Name: "update", Description: "Locks an existing image of an app"},
|
|
{Name: "grant", Description: "Allows a team to access an application"},
|
|
{Name: "team", Description: "Team name"},
|
|
{Name: "info", Description: "Shows information about an app"},
|
|
{Name: "log", Description: "Shows the logs of an app"},
|
|
{Name: "no-data", Description: "No date information"},
|
|
{Name: "metadata", Description: "Manage metadata for an app"},
|
|
{Name: "get", Description: "Retrieves metadata for an application"},
|
|
{Name: "set", Description: "Sets metadata for an application"},
|
|
{Name: "<NAME=value>", Description: "The metadata key"},
|
|
{Name: "unset", Description: "Unsets metadata for an application"},
|
|
{Name: "NAME", Description: "The metadata key"},
|
|
{Name: "quota", Description: "Shows the quota of an app"},
|
|
{Name: "change", Description: "Changes the limit of units that an app can have"},
|
|
{Name: "limit", Description: "The new limit of units"},
|
|
{Name: "view", Description: "Displays the current usage and limit of the given app"},
|
|
{Name: "remove", Description: "Removes an app"},
|
|
{Name: "restart", Description: "Restarts an application, or one of the processes of the application"},
|
|
{Name: "revoke", Description: "Removes a team access to an application"},
|
|
{Name: "router", Description: "Manage routers for an app"},
|
|
{Name: "add", Description: "Adds a router to an app"},
|
|
{Name: "version", Description: "Manage router versions for an app"},
|
|
{Name: "routes", Description: "List all routers"},
|
|
{Name: "run", Description: "Runs a command inside an app"},
|
|
{Name: "shell", Description: "Opens a remote shell inside unit, using the API server as a proxy"},
|
|
{Name: "start", Description: "Starts an app"},
|
|
{Name: "stop", Description: "Stops an application"},
|
|
{Name: "swap", Description: "Swaps routing between two apps"},
|
|
{Name: "unlock", Description: "Forces the removal of an application lock"},
|
|
{Name: "env", Description: "App environment variables"},
|
|
{Name: "cluster", Description: "Cluster commands"},
|
|
{Name: "certificate", Description: "Certificate commands"},
|
|
{Name: "login", Description: "Login to tsuru server"},
|
|
{Name: "logout", Description: "Logout from tsuru server"},
|
|
},
|
|
Options: []spec.Option{
|
|
{Name: "-a", Description: "App name"},
|
|
{Name: "-o", Description: "Filter applications by pool"},
|
|
{Name: "-p", Description: "Filter applications by platform"},
|
|
{Name: "-t", Description: "Team that will own the app"},
|
|
{Name: "-f", Description: "Enables single file build into the root of the app's tree"},
|
|
{Name: "-h", Description: "Help for build"},
|
|
{Name: "-d", Description: "Description of the app"},
|
|
{Name: "-g", Description: "Tag to be used by the app"},
|
|
{Name: "--router-opts", Description: "Router options"},
|
|
{Name: "-i", Description: "The image to deploy in app"},
|
|
{Name: "-m", Description: "A message describing this deploy"},
|
|
{Name: "--new-version", Description: "Force replace all deployed versions by this new deploy"},
|
|
{Name: "-r", Description: "The reason why the rollback has to be disabled"},
|
|
{Name: "-n", Description: "Filter applications by name"},
|
|
{Name: "-q", Description: "Display only applications name"},
|
|
{Name: "-s", Description: "Filter applications by owner"},
|
|
{Name: "-l", Description: "Number of lines to show"},
|
|
{Name: "-u", Description: "The log from the given unit"},
|
|
{Name: "--no-restart", Description: "Do not restart the app after the metadata is set"},
|
|
{Name: "--version", Description: "Removes a team access to an application"},
|
|
{Name: "-c", Description: "Swap only the cname"},
|
|
{Name: "-y", Description: "Don't ask for confirmation"},
|
|
{Name: "--cpu", Description: "Changes description for the app"},
|
|
{Name: "--memory", Description: "Prevent tsuru from restarting the application"},
|
|
{Name: "--help", Description: "Show help for tsuru"},
|
|
},
|
|
})
|
|
}
|