{
  "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"
    ],
    "secret_paths": [
      {
        "file": [
          "[configHome]/helm/repositories.yaml",
          "[preferences]/helm/repositories.yaml"
        ],
        "match": {
          "key_path": [
            "repositories.*.password"
          ]
        }
      }
    ],
    "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
    },
    "source": [
      {
        "id": "fig",
        "kind": "completion",
        "url": "https://github.com/withfig/autocomplete/blob/master/src/helm.ts",
        "license": "MIT"
      }
    ],
    "subcommand": [
      {
        "path": [
          "install"
        ],
        "label": "Install a chart",
        "description": "Install a chart as a new release. Credentials and TLS options are not covered.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/helm.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "release",
            "label": "Release name",
            "type": "string",
            "position": 0,
            "description": "Name of the new release.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "chart",
            "label": "Chart",
            "type": "string",
            "position": 1,
            "description": "Chart reference, local path, archive or URL.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "namespace",
            "label": "Namespace",
            "type": "string",
            "option": [
              "--namespace",
              "-n"
            ],
            "description": "Namespace scope for this request.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "values",
            "label": "Values files",
            "type": "string",
            "option": [
              "--values",
              "-f"
            ],
            "description": "YAML files or URLs; later files override earlier ones.",
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "set",
            "label": "Set values",
            "type": "string",
            "option": [
              "--set"
            ],
            "description": "key=value overrides, applied after values files.",
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "version",
            "label": "Chart version",
            "type": "string",
            "option": [
              "--version"
            ],
            "description": "Version constraint for the chart.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "create_namespace",
            "label": "Create namespace",
            "type": "boolean",
            "option": [
              "--create-namespace"
            ],
            "description": "Create the release namespace if not present.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "wait",
            "label": "Wait until ready",
            "type": "boolean",
            "option": [
              "--wait"
            ],
            "description": "Wait for pods, services and workloads to be ready.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "atomic",
            "label": "Atomic",
            "type": "boolean",
            "option": [
              "--atomic"
            ],
            "description": "Roll back or delete on failure; implies --wait.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "timeout",
            "label": "Timeout",
            "type": "string",
            "option": [
              "--timeout"
            ],
            "description": "Time to wait for any individual Kubernetes operation, e.g. 5m0s.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "dry_run",
            "label": "Dry run",
            "type": "boolean",
            "option": [
              "--dry-run"
            ],
            "description": "Simulate an install.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "kube_context",
            "label": "Kube context",
            "type": "string",
            "option": [
              "--kube-context"
            ],
            "description": "Name of the kubeconfig context to use.",
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "install",
            "label": "Install a chart",
            "fields": [
              "release",
              "chart",
              "namespace",
              "create_namespace",
              "values",
              "set",
              "version",
              "wait"
            ],
            "required": [
              "release",
              "chart"
            ]
          },
          {
            "id": "preview",
            "label": "Dry-run install",
            "set": {
              "dry_run": [
                true
              ]
            },
            "fields": [
              "release",
              "chart",
              "namespace",
              "values",
              "set",
              "version"
            ],
            "required": [
              "release",
              "chart"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "release",
              "chart",
              "namespace",
              "values",
              "set",
              "create_namespace",
              "wait",
              "dry_run"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "version",
              "atomic",
              "timeout",
              "kube_context"
            ]
          }
        ]
      },
      {
        "path": [
          "upgrade"
        ],
        "label": "Upgrade a release",
        "description": "Upgrade a release to a chart version or new values.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/helm.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "release",
            "label": "Release name",
            "type": "string",
            "position": 0,
            "description": "Release to upgrade.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "chart",
            "label": "Chart",
            "type": "string",
            "position": 1,
            "description": "Chart reference, local path, archive or URL.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "namespace",
            "label": "Namespace",
            "type": "string",
            "option": [
              "--namespace",
              "-n"
            ],
            "description": "Namespace scope for this request.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "install",
            "label": "Install if missing",
            "type": "boolean",
            "option": [
              "--install",
              "-i"
            ],
            "description": "Run an install if the release does not exist.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "values",
            "label": "Values files",
            "type": "string",
            "option": [
              "--values",
              "-f"
            ],
            "description": "YAML files or URLs; later files override earlier ones.",
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "set",
            "label": "Set values",
            "type": "string",
            "option": [
              "--set"
            ],
            "description": "key=value overrides, applied after values files.",
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "reuse_values",
            "label": "Reuse last values",
            "type": "boolean",
            "option": [
              "--reuse-values"
            ],
            "description": "Reuse the last release values and merge in overrides.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "reset_values",
            "label": "Reset values",
            "type": "boolean",
            "option": [
              "--reset-values"
            ],
            "description": "Reset values to the ones built into the chart.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "version",
            "label": "Chart version",
            "type": "string",
            "option": [
              "--version"
            ],
            "description": "Version constraint for the chart.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "create_namespace",
            "label": "Create namespace",
            "type": "boolean",
            "option": [
              "--create-namespace"
            ],
            "description": "Create the release namespace if not present.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "wait",
            "label": "Wait until ready",
            "type": "boolean",
            "option": [
              "--wait"
            ],
            "description": "Wait for pods, services and workloads to be ready.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "atomic",
            "label": "Atomic",
            "type": "boolean",
            "option": [
              "--atomic"
            ],
            "description": "Roll back or delete on failure; implies --wait.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "timeout",
            "label": "Timeout",
            "type": "string",
            "option": [
              "--timeout"
            ],
            "description": "Time to wait for any individual Kubernetes operation, e.g. 5m0s.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "dry_run",
            "label": "Dry run",
            "type": "boolean",
            "option": [
              "--dry-run"
            ],
            "description": "Simulate an upgrade.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "kube_context",
            "label": "Kube context",
            "type": "string",
            "option": [
              "--kube-context"
            ],
            "description": "Name of the kubeconfig context to use.",
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "upgrade",
            "label": "Upgrade or install",
            "set": {
              "install": [
                true
              ]
            },
            "fields": [
              "release",
              "chart",
              "namespace",
              "values",
              "set",
              "version",
              "wait"
            ],
            "required": [
              "release",
              "chart"
            ]
          },
          {
            "id": "preview",
            "label": "Dry-run upgrade",
            "set": {
              "dry_run": [
                true
              ]
            },
            "fields": [
              "release",
              "chart",
              "namespace",
              "values",
              "set",
              "version"
            ],
            "required": [
              "release",
              "chart"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "release",
              "chart",
              "namespace",
              "install",
              "values",
              "set",
              "reuse_values",
              "version",
              "create_namespace",
              "wait",
              "dry_run"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "reset_values",
              "atomic",
              "timeout",
              "kube_context"
            ]
          }
        ]
      },
      {
        "path": [
          "template"
        ],
        "label": "Render templates locally",
        "description": "Render chart templates to standard output or a directory without installing.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/helm.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "release",
            "label": "Release name",
            "type": "string",
            "position": 0,
            "description": "Release name used in the templates.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "chart",
            "label": "Chart",
            "type": "string",
            "position": 1,
            "description": "Chart reference, local path, archive or URL.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "namespace",
            "label": "Namespace",
            "type": "string",
            "option": [
              "--namespace",
              "-n"
            ],
            "description": "Namespace scope for this request.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "values",
            "label": "Values files",
            "type": "string",
            "option": [
              "--values",
              "-f"
            ],
            "description": "YAML files or URLs; later files override earlier ones.",
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "set",
            "label": "Set values",
            "type": "string",
            "option": [
              "--set"
            ],
            "description": "key=value overrides, applied after values files.",
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "version",
            "label": "Chart version",
            "type": "string",
            "option": [
              "--version"
            ],
            "description": "Version constraint for the chart.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "include_crds",
            "label": "Include CRDs",
            "type": "boolean",
            "option": [
              "--include-crds"
            ],
            "description": "Include CRDs in the output.",
            "sources": [
              "fig"
            ]
          },
          {
            "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"
            ]
          },
          {
            "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"
            ]
          }
        ],
        "task": [
          {
            "id": "render",
            "label": "Render to stdout",
            "fields": [
              "release",
              "chart",
              "namespace",
              "values",
              "set",
              "include_crds"
            ],
            "required": [
              "release",
              "chart"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "release",
              "chart",
              "namespace",
              "values",
              "set",
              "include_crds"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "version",
              "show_only",
              "output_dir"
            ]
          }
        ]
      },
      {
        "path": [
          "lint"
        ],
        "label": "Lint a chart",
        "description": "Examine a chart for possible issues.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/helm.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "chart",
            "label": "Chart path",
            "type": "string",
            "position": 0,
            "description": "Chart directory to lint.",
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "strict",
            "label": "Fail on warnings",
            "type": "boolean",
            "option": [
              "--strict"
            ],
            "description": "Fail on lint warnings.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "with_subcharts",
            "label": "Lint subcharts",
            "type": "boolean",
            "option": [
              "--with-subcharts"
            ],
            "description": "Lint dependent charts.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "quiet",
            "label": "Quiet",
            "type": "boolean",
            "option": [
              "--quiet"
            ],
            "description": "Print only warnings and errors.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "values",
            "label": "Values files",
            "type": "string",
            "option": [
              "--values",
              "-f"
            ],
            "description": "YAML files or URLs; later files override earlier ones.",
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "set",
            "label": "Set values",
            "type": "string",
            "option": [
              "--set"
            ],
            "description": "key=value overrides, applied after values files.",
            "multiple": true,
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "lint",
            "label": "Lint a chart",
            "fields": [
              "chart",
              "strict",
              "with_subcharts",
              "values"
            ],
            "required": [
              "chart"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "chart",
              "strict",
              "with_subcharts",
              "quiet",
              "values",
              "set"
            ]
          }
        ]
      },
      {
        "path": [
          "ls"
        ],
        "label": "List releases",
        "description": "List installed releases, optionally across namespaces or filtered.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/helm.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "namespace",
            "label": "Namespace",
            "type": "string",
            "option": [
              "--namespace",
              "-n"
            ],
            "description": "Namespace scope for this request.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "all_namespaces",
            "label": "All namespaces",
            "type": "boolean",
            "option": [
              "--all-namespaces",
              "-A"
            ],
            "description": "List releases across all namespaces.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "all",
            "label": "All releases",
            "type": "boolean",
            "option": [
              "--all",
              "-a"
            ],
            "description": "Show all releases without any filter applied.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "failed",
            "label": "Failed only",
            "type": "boolean",
            "option": [
              "--failed"
            ],
            "description": "Show failed releases.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "pending",
            "label": "Pending only",
            "type": "boolean",
            "option": [
              "--pending"
            ],
            "description": "Show pending releases.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "filter",
            "label": "Filter",
            "type": "string",
            "option": [
              "--filter",
              "-f"
            ],
            "description": "Regular expression; matching releases are included.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "short",
            "label": "Short listing",
            "type": "boolean",
            "option": [
              "--short",
              "-q"
            ],
            "description": "Output short (quiet) listing format.",
            "sources": [
              "fig"
            ]
          },
          {
            "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"
            ]
          },
          {
            "id": "kube_context",
            "label": "Kube context",
            "type": "string",
            "option": [
              "--kube-context"
            ],
            "description": "Name of the kubeconfig context to use.",
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "all",
            "label": "List everywhere",
            "set": {
              "all_namespaces": [
                true
              ]
            },
            "fields": [
              "all_namespaces",
              "filter",
              "short",
              "output"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "namespace",
              "all_namespaces",
              "all",
              "filter",
              "short",
              "output"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "pending",
              "failed",
              "kube_context"
            ]
          }
        ]
      }
    ]
  }
}
