- 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
107 lines
6.7 KiB
Go
107 lines
6.7 KiB
Go
package ops
|
|
|
|
import (
|
|
"github.com/versenilvis/iris/spec"
|
|
)
|
|
|
|
func init() {
|
|
spec.Register(&spec.Spec{
|
|
Name: "flyctl",
|
|
Description: "Command line tool for Fly.io services",
|
|
Subcommands: []spec.Subcommand{
|
|
{Name: "ping", Description: "Ping the Fly agent"},
|
|
{Name: "restart", Description: "Restart the Fly agent"},
|
|
{Name: "daemon-start", Description: "Run the Fly agent in the foreground"},
|
|
{Name: "start", Description: "Start the Fly agent"},
|
|
{Name: "stop", Description: "Stop the Fly agent"},
|
|
{Name: "apps", Description: "Manage apps"},
|
|
{Name: "create", Description: "Create a new application"},
|
|
{Name: "destroy", Description: "Permanently destroys an app"},
|
|
{Name: "list", Description: "List applications"},
|
|
{Name: "move", Description: "Move an app to another organization"},
|
|
{Name: "open", Description: "Open browser to current deployed application"},
|
|
{Name: "releases", Description: "List app releases"},
|
|
{Name: "auth", Description: "Manage authentication"},
|
|
{Name: "docker", Description: "Authenticate docker"},
|
|
{Name: "login", Description: "Log in a user"},
|
|
{Name: "logout", Description: "Logs out the currently logged in user"},
|
|
{Name: "signup", Description: "Create a new fly account"},
|
|
{Name: "token", Description: "Show the current auth token"},
|
|
{Name: "autoscale", Description: "Autoscaling app resources"},
|
|
{Name: "balanced", Description: "Configure a traffic balanced app with params (min=int max=int)"},
|
|
{Name: "disable", Description: "Disable autoscaling"},
|
|
{Name: "set", Description: "Set current models autoscaling parameters"},
|
|
{Name: "show", Description: "Show current autoscaling configuration"},
|
|
{Name: "standard", Description: "Configure a standard balanced app with params (min=int max=int)"},
|
|
{Name: "builds", Description: "Manage application builds"},
|
|
{Name: "certs", Description: "Manage certificates"},
|
|
{Name: "check", Description: "Checks DNS configuration"},
|
|
{Name: "delete", Description: "Removes a certificate from an app"},
|
|
{Name: "checks", Description: "Manage health checks"},
|
|
{Name: "handlers", Description: "Manage health check handlers"},
|
|
{Name: "completion", Description: "Generate the autocompletion script for the specified shell"},
|
|
{Name: "bash", Description: "Generate the autocompletion script for bash"},
|
|
{Name: "fish", Description: "Generate the autocompletion script for fish"},
|
|
{Name: "powershell", Description: "Generate the autocompletion script for powershell"},
|
|
{Name: "zsh", Description: "Generate the autocompletion script for zsh"},
|
|
{Name: "config", Description: "Manage an app's configuration"},
|
|
{Name: "display", Description: "Display an app's configuration"},
|
|
{Name: "env", Description: "Display an app's runtime environment variables"},
|
|
{Name: "save", Description: "Save an app's config file"},
|
|
{Name: "validate", Description: "Validate an app's config file"},
|
|
{Name: "curl", Description: "Run a performance test against a URL"},
|
|
{Name: "dash", Description: "Open web browser on Fly Web UI for this app"},
|
|
{Name: "metrics", Description: "Open web browser on Fly Web UI for this app's metrics"},
|
|
{Name: "deploy", Description: "Deploy Fly applications"},
|
|
{Name: "dig", Description: "Make DNS requests against Fly.io's internal DNS server"},
|
|
{Name: "dns-records", Description: "Manage DNS records"},
|
|
{Name: "export", Description: "Export DNS records"},
|
|
{Name: "import", Description: "Import DNS records"},
|
|
{Name: "docs", Description: "View Fly documentation"},
|
|
{Name: "doctor", Description: "The DOCTOR command allows you to debug your Fly environment"},
|
|
},
|
|
Options: []spec.Option{
|
|
{Name: "--generate-name", Description: "Generate a name for the app"},
|
|
{Name: "--name", Description: "The app name to use"},
|
|
{Name: "--network", Description: "Specify custom network id"},
|
|
{Name: "--org", Description: "The organization to operate on"},
|
|
{Name: "--yes", Description: "Accept all confirmations"},
|
|
{Name: "--app", Description: "Application name"},
|
|
{Name: "--config", Description: "Path to application configuration file"},
|
|
{Name: "--image", Description: "Display the Docker image reference of the release"},
|
|
{Name: "-f", Description: "Restarts app without waiting for health checks. ( Machines only )"},
|
|
{Name: "--email", Description: "Login email"},
|
|
{Name: "--interactive", Description: "Log in with an email and password interactively"},
|
|
{Name: "--otp", Description: "One time password"},
|
|
{Name: "--password", Description: "Login password"},
|
|
{Name: "--organization", Description: "The organization to add the handler to"},
|
|
{Name: "--type", Description: "The type of handler to create, can be slack or pagerduty"},
|
|
{Name: "--check-name", Description: "Filter checks by name"},
|
|
{Name: "--no-descriptions", Description: "Disable completion descriptions"},
|
|
{Name: "--build-arg", Description: "Build but do not deploy"},
|
|
{Name: "--build-target", Description: "Set the target build stage to build if the Dockerfile has more than one stage"},
|
|
{Name: "--detach", Description: "Return immediately instead of monitoring deployment progress"},
|
|
{Name: "--dockerfile", Description: "Path to a Dockerfile. Defaults to the Dockerfile in the working directory"},
|
|
{Name: "--env", Description: "The image tag or ID to deploy"},
|
|
{Name: "--image-label", Description: "Only perform builds locally using the local docker daemon"},
|
|
{Name: "--nix", Description: "Build with Nix"},
|
|
{Name: "--no-cache", Description: "Do not use the build cache when building the image"},
|
|
{Name: "--now", Description: "Deploy now without confirmation"},
|
|
{Name: "--push", Description: "Push image to registry after build is complete"},
|
|
{Name: "--region", Description: "The region to operate on"},
|
|
{Name: "--remote-only", Description: "Permanently destroys an app"},
|
|
{Name: "--short", Description: "Just print the answers, not DNS record details"},
|
|
{Name: "--overwrite", Description: "Import DNS records"},
|
|
{Name: "--force", Description: "Send diagnostics even if we can't find your local Fly.io app"},
|
|
{Name: "--host", Description: "Returns just the hostname"},
|
|
{Name: "--copy-config", Description: "Use the configuration file if present without prompting"},
|
|
{Name: "--no-deploy", Description: "Do not prompt for deployment"},
|
|
{Name: "--path", Description: "Path to app code and where a fly.toml file will be saved"},
|
|
{Name: "--instance", Description: "Filter by instance ID"},
|
|
{Name: "--quiet", Description: "Only list machine ids"},
|
|
{Name: "--build-only", Description: "Perform builds remotely without using the local docker daemon"},
|
|
{Name: "--cpu-kind", Description: "Kind of CPU to use (shared, dedicated)"},
|
|
},
|
|
})
|
|
}
|