Files
iris-context/commands/ops/helm.go
T
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- 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
2026-07-05 11:27:30 +07:00

105 lines
7.1 KiB
Go

package ops
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "helm",
Description: "The Helm package manager for Kubernetes",
Subcommands: []spec.Subcommand{
{Name: "completion", Description: "Generate autocompletion scripts for the specified shell"},
{Name: "bash", Description: "Generate autocompletion script for bash"},
{Name: "fish", Description: "Generate autocompletion script for fish"},
{Name: "powershell", Description: "Generate autocompletion script for powershell"},
{Name: "zsh", Description: "Generate autocompletion script for zsh"},
{Name: "create", Description: "Create a new chart with the given name"},
{Name: "dep", Description: "Manage a chart's dependencies"},
{Name: "build", Description: "Rebuild the charts/ directory based on the Chart.lock file"},
{Name: "ls", Description: "List the dependencies for the given chart"},
{Name: "up", Description: "Update charts/ based on the contents of Chart.yaml"},
{Name: "env", Description: "Helm client environment information"},
{Name: "get", Description: "Download extended information of a named release"},
{Name: "all", Description: "Download all information for a named release"},
{Name: "hooks", Description: "Download all hooks for a named release"},
{Name: "manifest", Description: "Download the manifest for a named release"},
{Name: "notes", Description: "Download the notes for a named release"},
{Name: "values", Description: "Download the values file for a named release"},
{Name: "hist", Description: "Fetch release history"},
{Name: "install", Description: "Install a chart"},
{Name: "lint", Description: "Examine a chart for possible issues"},
{Name: "package", Description: "Package a chart directory into a chart archive"},
{Name: "plugin", Description: "Install, list, or uninstall Helm plugins"},
{Name: "add", Description: "Install one or more Helm plugins"},
{Name: "rm", Description: "Uninstall one or more Helm plugins"},
{Name: "fetch", Description: "Download a chart from a repository and (optionally) unpack it in local directory"},
{Name: "push", Description: "Push a chart to remote"},
{Name: "registry", Description: "Login to or logout from a registry"},
{Name: "login", Description: "Login to a registry"},
{Name: "logout", Description: "Logout from a registry"},
{Name: "repo", Description: "Add, list, remove, update, and index chart repositories"},
{Name: "index", Description: "Generate an index file given a directory containing packaged charts"},
{Name: "rollback", Description: "Roll back a release to a previous revision"},
{Name: "s3", Description: "Manage chart repositories on Amazon S3"},
{Name: "search", Description: "Search for a keyword in charts"},
{Name: "hub", Description: "Search for charts in the Artifact Hub or your own hub instance"},
{Name: "inspect", Description: "Show information of a chart"},
{Name: "chart", Description: "Show the chart's definition"},
{Name: "crds", Description: "Show the chart's CRDs"},
{Name: "readme", Description: "Show the chart's README"},
{Name: "status", Description: "Display the status of the named release"},
{Name: "template", Description: "Locally render templates"},
{Name: "test", Description: "Run tests for a release"},
{Name: "del", Description: "Uninstall a release"},
{Name: "unittest", Description: "Unittest for helm charts"},
{Name: "upgrade", Description: "Upgrade a release"},
{Name: "verify", Description: "Verify that a chart at the given path has been signed and is valid"},
{Name: "version", Description: "Print the client version information"},
{Name: "help", Description: "Help about any command"},
},
Options: []spec.Option{
{Name: "--no-descriptions", Description: "Disable completion descriptions"},
{Name: "--starter", Description: "The name or absolute path to Helm starter scaffold"},
{Name: "--keyring", Description: "Keyring containing public keys"},
{Name: "--skip-refresh", Description: "Do not refresh the local repository cache"},
{Name: "--verify", Description: "Verify the packages against signatures"},
{Name: "--max-col-width", Description: "Maximum column width for output table"},
{Name: "--revision", Description: "Get the named release with revision"},
{Name: "--template", Description: "Go template for formatting the output, eg: {{.Release.Name}}"},
{Name: "--all", Description: "Dump all (computed) values"},
{Name: "--output", Description: "Prints the output in the specified format. Allowed values: table, json, yaml"},
{Name: "--max", Description: "Maximum number of revision to include in history"},
{Name: "--atomic", Description: "Verify certificates of HTTPS-enabled servers using this CA bundle"},
{Name: "--cert-file", Description: "Identify HTTPS client using this SSL certificate file"},
{Name: "--create-namespace", Description: "Create the release namespace if not present"},
{Name: "--dependency-update", Description: "Update dependencies if they are missing before installing the chart"},
{Name: "--description", Description: "Add a custom description"},
{Name: "--devel", Description: "Simulate an install"},
{Name: "--generate-name", Description: "Generate the name (and omit the NAME parameter)"},
{Name: "--insecure-skip-tls-verify", Description: "Skip tls certificate checks for the chart download"},
{Name: "--key-file", Description: "Identify HTTPS client using this SSL key file"},
{Name: "--name-template", Description: "Specify template used to name the release"},
{Name: "--no-hooks", Description: "Prevent hooks from running during install"},
{Name: "--pass-credentials", Description: "Pass credentials to all domains"},
{Name: "--password", Description: "Chart repository password where to locate the requested chart"},
{Name: "--post-renderer", Description: "An argument to the post-renderer (can specify multiple)"},
{Name: "--render-subchart-notes", Description: "If set, render subchart notes along with the parent"},
{Name: "--replace", Description: "Chart repository url where to locate the requested chart"},
{Name: "--set", Description: "Time to wait for any individual Kubernetes operation (like Jobs for hooks)"},
{Name: "--username", Description: "Chart repository username where to locate the requested chart"},
{Name: "--values", Description: "Specify values in a YAML file or a URL (can specify multiple)"},
{Name: "--version", Description: "Examine a chart for possible issues"},
{Name: "--quiet", Description: "Print only warnings and errors"},
{Name: "--with-subcharts", Description: "Lint dependent charts"},
{Name: "--all-namespaces", Description: "List releases across all namespaces"},
{Name: "--date", Description: "Sort by release date"},
{Name: "--deployed", Description: "Show failed releases"},
{Name: "--filter", Description: "Maximum number of releases to fetch"},
{Name: "--no-headers", Description: "Don't print headers when using the default output format"},
{Name: "--offset", Description: "Next release index in the list, used to offset from start value"},
{Name: "--pending", Description: "Show pending releases"},
},
})
}