id = "helm"
name = "Helm"
homepage = "https://helm.sh"
description = "The package manager for Kubernetes."
icon = "SimpleIcons:helm"
executables = ["helm"]
[dotfiles]
paths = [
"[configHome]/helm/repositories.yaml",
"[preferences]/helm/repositories.yaml",
]
exclude = [
"[cacheHome]/helm/",
"~/.local/share/helm/",
"~/Library/helm/",
]
secret = [
"[configHome]/helm/registry/config.json",
"[preferences]/helm/registry/config.json",
]
[[dotfiles.secret_paths]]
file = [
"[configHome]/helm/repositories.yaml",
"[preferences]/helm/repositories.yaml",
]
match = { key_path = ["repositories.*.password"] }
[[dotfiles.machine_lines]]
file = [
"[configHome]/helm/repositories.yaml",
"[preferences]/helm/repositories.yaml",
]
match = { key_path = [
"repositories.*.certFile",
"repositories.*.keyFile",
"repositories.*.caFile",
] }
scope = "backup"
[commands]
format = 1
label = "Helm package manager"
description = "Install, upgrade, render, lint and list Helm releases. Chart repositories, registry, plugin and rollback commands are left out; TLS and credential flags are not offered."
quality = "ai-draft"
base = "fig:helm"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/helm.ts"
license = "MIT"
[[commands.subcommand]]
path = ["install"]
label = "Install a chart"
description = "Install a chart as a new release. Credentials and TLS options are not covered."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/helm.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "release"
label = "Release name"
type = "string"
position = 0
description = "Name of the new release."
sources = ["fig"]
[[commands.subcommand.field]]
id = "chart"
label = "Chart"
type = "string"
position = 1
description = "Chart reference, local path, archive or URL."
sources = ["fig"]
[[commands.subcommand.field]]
id = "namespace"
label = "Namespace"
type = "string"
option = ["--namespace", "-n"]
description = "Namespace scope for this request."
sources = ["fig"]
[[commands.subcommand.field]]
id = "values"
label = "Values files"
type = "string"
option = ["--values", "-f"]
description = "YAML files or URLs; later files override earlier ones."
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "set"
label = "Set values"
type = "string"
option = ["--set"]
description = "key=value overrides, applied after values files."
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "version"
label = "Chart version"
type = "string"
option = ["--version"]
description = "Version constraint for the chart."
sources = ["fig"]
[[commands.subcommand.field]]
id = "create_namespace"
label = "Create namespace"
type = "boolean"
option = ["--create-namespace"]
description = "Create the release namespace if not present."
sources = ["fig"]
[[commands.subcommand.field]]
id = "wait"
label = "Wait until ready"
type = "boolean"
option = ["--wait"]
description = "Wait for pods, services and workloads to be ready."
sources = ["fig"]
[[commands.subcommand.field]]
id = "atomic"
label = "Atomic"
type = "boolean"
option = ["--atomic"]
description = "Roll back or delete on failure; implies --wait."
sources = ["fig"]
[[commands.subcommand.field]]
id = "timeout"
label = "Timeout"
type = "string"
option = ["--timeout"]
description = "Time to wait for any individual Kubernetes operation, e.g. 5m0s."
sources = ["fig"]
[[commands.subcommand.field]]
id = "dry_run"
label = "Dry run"
type = "boolean"
option = ["--dry-run"]
description = "Simulate an install."
sources = ["fig"]
[[commands.subcommand.field]]
id = "kube_context"
label = "Kube context"
type = "string"
option = ["--kube-context"]
description = "Name of the kubeconfig context to use."
sources = ["fig"]
[[commands.subcommand.task]]
id = "install"
label = "Install a chart"
fields = ["release", "chart", "namespace", "create_namespace", "values", "set", "version", "wait"]
required = ["release", "chart"]
[[commands.subcommand.task]]
id = "preview"
label = "Dry-run install"
set = { dry_run = [true] }
fields = ["release", "chart", "namespace", "values", "set", "version"]
required = ["release", "chart"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["release", "chart", "namespace", "values", "set", "create_namespace", "wait", "dry_run"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["version", "atomic", "timeout", "kube_context"]
[[commands.subcommand]]
path = ["upgrade"]
label = "Upgrade a release"
description = "Upgrade a release to a chart version or new values."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/helm.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "release"
label = "Release name"
type = "string"
position = 0
description = "Release to upgrade."
sources = ["fig"]
[[commands.subcommand.field]]
id = "chart"
label = "Chart"
type = "string"
position = 1
description = "Chart reference, local path, archive or URL."
sources = ["fig"]
[[commands.subcommand.field]]
id = "namespace"
label = "Namespace"
type = "string"
option = ["--namespace", "-n"]
description = "Namespace scope for this request."
sources = ["fig"]
[[commands.subcommand.field]]
id = "install"
label = "Install if missing"
type = "boolean"
option = ["--install", "-i"]
description = "Run an install if the release does not exist."
sources = ["fig"]
[[commands.subcommand.field]]
id = "values"
label = "Values files"
type = "string"
option = ["--values", "-f"]
description = "YAML files or URLs; later files override earlier ones."
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "set"
label = "Set values"
type = "string"
option = ["--set"]
description = "key=value overrides, applied after values files."
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "reuse_values"
label = "Reuse last values"
type = "boolean"
option = ["--reuse-values"]
description = "Reuse the last release values and merge in overrides."
sources = ["fig"]
[[commands.subcommand.field]]
id = "reset_values"
label = "Reset values"
type = "boolean"
option = ["--reset-values"]
description = "Reset values to the ones built into the chart."
sources = ["fig"]
[[commands.subcommand.field]]
id = "version"
label = "Chart version"
type = "string"
option = ["--version"]
description = "Version constraint for the chart."
sources = ["fig"]
[[commands.subcommand.field]]
id = "create_namespace"
label = "Create namespace"
type = "boolean"
option = ["--create-namespace"]
description = "Create the release namespace if not present."
sources = ["fig"]
[[commands.subcommand.field]]
id = "wait"
label = "Wait until ready"
type = "boolean"
option = ["--wait"]
description = "Wait for pods, services and workloads to be ready."
sources = ["fig"]
[[commands.subcommand.field]]
id = "atomic"
label = "Atomic"
type = "boolean"
option = ["--atomic"]
description = "Roll back or delete on failure; implies --wait."
sources = ["fig"]
[[commands.subcommand.field]]
id = "timeout"
label = "Timeout"
type = "string"
option = ["--timeout"]
description = "Time to wait for any individual Kubernetes operation, e.g. 5m0s."
sources = ["fig"]
[[commands.subcommand.field]]
id = "dry_run"
label = "Dry run"
type = "boolean"
option = ["--dry-run"]
description = "Simulate an upgrade."
sources = ["fig"]
[[commands.subcommand.field]]
id = "kube_context"
label = "Kube context"
type = "string"
option = ["--kube-context"]
description = "Name of the kubeconfig context to use."
sources = ["fig"]
[[commands.subcommand.task]]
id = "upgrade"
label = "Upgrade or install"
set = { install = [true] }
fields = ["release", "chart", "namespace", "values", "set", "version", "wait"]
required = ["release", "chart"]
[[commands.subcommand.task]]
id = "preview"
label = "Dry-run upgrade"
set = { dry_run = [true] }
fields = ["release", "chart", "namespace", "values", "set", "version"]
required = ["release", "chart"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["release", "chart", "namespace", "install", "values", "set", "reuse_values", "version", "create_namespace", "wait", "dry_run"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["reset_values", "atomic", "timeout", "kube_context"]
[[commands.subcommand]]
path = ["template"]
label = "Render templates locally"
description = "Render chart templates to standard output or a directory without installing."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/helm.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "release"
label = "Release name"
type = "string"
position = 0
description = "Release name used in the templates."
sources = ["fig"]
[[commands.subcommand.field]]
id = "chart"
label = "Chart"
type = "string"
position = 1
description = "Chart reference, local path, archive or URL."
sources = ["fig"]
[[commands.subcommand.field]]
id = "namespace"
label = "Namespace"
type = "string"
option = ["--namespace", "-n"]
description = "Namespace scope for this request."
sources = ["fig"]
[[commands.subcommand.field]]
id = "values"
label = "Values files"
type = "string"
option = ["--values", "-f"]
description = "YAML files or URLs; later files override earlier ones."
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "set"
label = "Set values"
type = "string"
option = ["--set"]
description = "key=value overrides, applied after values files."
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "version"
label = "Chart version"
type = "string"
option = ["--version"]
description = "Version constraint for the chart."
sources = ["fig"]
[[commands.subcommand.field]]
id = "include_crds"
label = "Include CRDs"
type = "boolean"
option = ["--include-crds"]
description = "Include CRDs in the output."
sources = ["fig"]
[[commands.subcommand.field]]
id = "show_only"
label = "Show only templates"
type = "string"
option = ["--show-only", "-s"]
description = "Only show manifests rendered from these templates."
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "output_dir"
label = "Output directory"
type = "path"
option = ["--output-dir"]
description = "Write the rendered templates to files here instead of stdout."
path = { kind = "directory", role = "input" }
effect = "overwrite"
sources = ["fig"]
[[commands.subcommand.task]]
id = "render"
label = "Render to stdout"
fields = ["release", "chart", "namespace", "values", "set", "include_crds"]
required = ["release", "chart"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["release", "chart", "namespace", "values", "set", "include_crds"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["version", "show_only", "output_dir"]
[[commands.subcommand]]
path = ["lint"]
label = "Lint a chart"
description = "Examine a chart for possible issues."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/helm.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "chart"
label = "Chart path"
type = "string"
position = 0
description = "Chart directory to lint."
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "strict"
label = "Fail on warnings"
type = "boolean"
option = ["--strict"]
description = "Fail on lint warnings."
sources = ["fig"]
[[commands.subcommand.field]]
id = "with_subcharts"
label = "Lint subcharts"
type = "boolean"
option = ["--with-subcharts"]
description = "Lint dependent charts."
sources = ["fig"]
[[commands.subcommand.field]]
id = "quiet"
label = "Quiet"
type = "boolean"
option = ["--quiet"]
description = "Print only warnings and errors."
sources = ["fig"]
[[commands.subcommand.field]]
id = "values"
label = "Values files"
type = "string"
option = ["--values", "-f"]
description = "YAML files or URLs; later files override earlier ones."
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "set"
label = "Set values"
type = "string"
option = ["--set"]
description = "key=value overrides, applied after values files."
multiple = true
sources = ["fig"]
[[commands.subcommand.task]]
id = "lint"
label = "Lint a chart"
fields = ["chart", "strict", "with_subcharts", "values"]
required = ["chart"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["chart", "strict", "with_subcharts", "quiet", "values", "set"]
[[commands.subcommand]]
path = ["ls"]
label = "List releases"
description = "List installed releases, optionally across namespaces or filtered."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/helm.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "namespace"
label = "Namespace"
type = "string"
option = ["--namespace", "-n"]
description = "Namespace scope for this request."
sources = ["fig"]
[[commands.subcommand.field]]
id = "all_namespaces"
label = "All namespaces"
type = "boolean"
option = ["--all-namespaces", "-A"]
description = "List releases across all namespaces."
sources = ["fig"]
[[commands.subcommand.field]]
id = "all"
label = "All releases"
type = "boolean"
option = ["--all", "-a"]
description = "Show all releases without any filter applied."
sources = ["fig"]
[[commands.subcommand.field]]
id = "failed"
label = "Failed only"
type = "boolean"
option = ["--failed"]
description = "Show failed releases."
sources = ["fig"]
[[commands.subcommand.field]]
id = "pending"
label = "Pending only"
type = "boolean"
option = ["--pending"]
description = "Show pending releases."
sources = ["fig"]
[[commands.subcommand.field]]
id = "filter"
label = "Filter"
type = "string"
option = ["--filter", "-f"]
description = "Regular expression; matching releases are included."
sources = ["fig"]
[[commands.subcommand.field]]
id = "short"
label = "Short listing"
type = "boolean"
option = ["--short", "-q"]
description = "Output short (quiet) listing format."
sources = ["fig"]
[[commands.subcommand.field]]
id = "output"
label = "Output format"
type = "enum"
option = ["--output", "-o"]
choices = [{ value = "table", label = "Table" }, { value = "json", label = "JSON" }, { value = "yaml", label = "YAML" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "kube_context"
label = "Kube context"
type = "string"
option = ["--kube-context"]
description = "Name of the kubeconfig context to use."
sources = ["fig"]
[[commands.subcommand.task]]
id = "all"
label = "List everywhere"
set = { all_namespaces = [true] }
fields = ["all_namespaces", "filter", "short", "output"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["namespace", "all_namespaces", "all", "filter", "short", "output"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["pending", "failed", "kube_context"]