- 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
100 lines
6.2 KiB
Go
100 lines
6.2 KiB
Go
package ops
|
|
|
|
import (
|
|
"github.com/versenilvis/iris/spec"
|
|
)
|
|
|
|
func init() {
|
|
spec.Register(&spec.Spec{
|
|
Name: "doppler",
|
|
Description: "The official CLI for Doppler Secret Operations Platform",
|
|
Subcommands: []spec.Subcommand{
|
|
{Name: "activity", Description: "Get workplace activity logs"},
|
|
{Name: "get", Description: "Get workplace activity log"},
|
|
{Name: "changelog", Description: "View the CLI's changelog"},
|
|
{Name: "completion", Description: "Print shell completion script"},
|
|
{Name: "install", Description: "Install completions for the current shell"},
|
|
{Name: "configs", Description: "Manage configs"},
|
|
{Name: "clone", Description: "Clone a config"},
|
|
{Name: "create", Description: "Create a config"},
|
|
{Name: "delete", Description: "Delete a config"},
|
|
{Name: "lock", Description: "Lock a config"},
|
|
{Name: "logs", Description: "List config audit logs"},
|
|
{Name: "tokens", Description: "List a config's service tokens"},
|
|
{Name: "revoke", Description: "Revoke a service token from a config"},
|
|
{Name: "unlock", Description: "Unlock a config"},
|
|
{Name: "update", Description: "Update a config"},
|
|
{Name: "configure", Description: "View the config file"},
|
|
{Name: "debug", Description: "View current configuration utilizing all config sources"},
|
|
{Name: "options", Description: "List all supported config options"},
|
|
{Name: "reset", Description: "Reset local CLI configuration to a clean initial state"},
|
|
{Name: "set", Description: "Set the value of one or more options in the config file"},
|
|
{Name: "unset", Description: "Unset the value of one or more options in the config file"},
|
|
{Name: "environments", Description: "Manage environments"},
|
|
{Name: "rename", Description: "Rename an environment"},
|
|
{Name: "feedback", Description: "Provide feedback about the Doppler CLI"},
|
|
{Name: "help", Description: "Help about any command"},
|
|
{Name: "import", Description: "Import projects into your Doppler workplace"},
|
|
{Name: "login", Description: "Authenticate to Doppler"},
|
|
{Name: "roll", Description: "Roll your auth token"},
|
|
{Name: "logout", Description: "Log out of the CLI"},
|
|
{Name: "open", Description: "Open the Doppler dashboard"},
|
|
{Name: "dashboard", Description: "Open the Doppler dashboard"},
|
|
{Name: "docs", Description: "Open the Doppler documentation home page"},
|
|
{Name: "github", Description: "Open Doppler's GitHub to help contribute"},
|
|
{Name: "status", Description: "Open the Doppler status page"},
|
|
{Name: "projects", Description: "Manage projects"},
|
|
{Name: "run", Description: "Run a command with secrets injected into the environment"},
|
|
{Name: "clean", Description: "Delete old fallback files"},
|
|
{Name: "secrets", Description: "Manage secrets"},
|
|
{Name: "download", Description: "Download a config's secrets for later use"},
|
|
{Name: "substitute", Description: "Substitute secrets into a template file"},
|
|
{Name: "upload", Description: "Upload a secrets file"},
|
|
{Name: "settings", Description: "Get workplace settings"},
|
|
{Name: "setup", Description: "Setup the Doppler CLI for managing secrets"},
|
|
},
|
|
Options: []spec.Option{
|
|
{Name: "-h", Description: "Config (e.g. dev)"},
|
|
{Name: "--fallback-only", Description: "Disable modifying the fallback file. secrets can still be read from the file"},
|
|
{Name: "--format", Description: "Do not exit if unable to write the fallback file"},
|
|
{Name: "--no-fallback", Description: "Disable reading and writing the fallback file"},
|
|
{Name: "--no-update-config", Description: "Do not modify the config file"},
|
|
{Name: "--no-update-config-options", Description: "Do not remove configured options from the config file (i.e. project and config)"},
|
|
{Name: "--passphrase", Description: "Project (e.g. backend)"},
|
|
{Name: "--raw", Description: "Print the raw secret value without processing variables"},
|
|
{Name: "--yes", Description: "Proceed without confirmation"},
|
|
{Name: "--api-host", Description: "Output additional information"},
|
|
{Name: "--dns-resolver-address", Description: "Max dns lookup duration (default 5s)"},
|
|
{Name: "--enable-dns-resolver", Description: "Bypass the OS's default DNS resolver"},
|
|
{Name: "--json", Description: "Output json"},
|
|
{Name: "--no-check-version", Description: "Disable checking for Doppler CLI updates"},
|
|
{Name: "--no-read-env", Description: "Do not read config from the environment"},
|
|
{Name: "--no-timeout", Description: "Disable http timeout"},
|
|
{Name: "--no-verify-tls", Description: "Output active configuration"},
|
|
{Name: "--scope", Description: "Disable output of info messages"},
|
|
{Name: "--timeout", Description: "Max http request duration (default 10s)"},
|
|
{Name: "--token", Description: "Doppler token"},
|
|
{Name: "--log", Description: "Activity log id"},
|
|
{Name: "-n", Description: "Number of versions to show changes for (default 3)"},
|
|
{Name: "--name", Description: "New config name"},
|
|
{Name: "--environment", Description: "Config environment"},
|
|
{Name: "--slug", Description: "Service token slug"},
|
|
{Name: "--access", Description: "Print only the token without formatting"},
|
|
{Name: "--copy", Description: "Copy the token to your clipboard"},
|
|
{Name: "--max-age", Description: "Max age of the token (e.g. '3h', '15m')"},
|
|
{Name: "--plain", Description: "Print only the token without formatting"},
|
|
{Name: "--template", Description: "Path to template file (e.g. './path/to/file.yaml') (default \\"},
|
|
{Name: "--no-copy", Description: "Do not copy the auth code to the clipboard"},
|
|
{Name: "--overwrite", Description: "Overwrite existing token if one exists"},
|
|
{Name: "--description", Description: "Project description"},
|
|
{Name: "--command", Description: "Forward signals to the child process (defaults to false when STDOUT is a TTY)"},
|
|
{Name: "--preserve-env", Description: "Delete old fallback files"},
|
|
{Name: "--all", Description: "Delete all fallback files"},
|
|
{Name: "--dry-run", Description: "Do not delete anything, print what would have happened"},
|
|
{Name: "--only-names", Description: "Only print the secret names; omit all values"},
|
|
{Name: "--no-file", Description: "Print the response to stdout"},
|
|
{Name: "--no-exit-on-missing-secret", Description: "Do not exit if unable to find a requested secret"},
|
|
},
|
|
})
|
|
}
|