{
  "name": "helmfile",
  "description": "Deploy helm charts",
  "options": [
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Do not exit with an error code if the provided selector has no matching releases",
      "isPersistent": true
    },
    {
      "names": [
        "--allow-no-matching-release"
      ],
      "description": "Show help for helmfile",
      "isPersistent": true
    },
    {
      "names": [
        "--chart",
        "-c"
      ],
      "description": "Set chart. Uses the chart set in release by default, and is available in template as {{ .Chart }}",
      "isPersistent": true,
      "args": [
        {
          "name": "string"
        }
      ]
    },
    {
      "names": [
        "--color"
      ],
      "description": "Output with color",
      "isPersistent": true
    },
    {
      "names": [
        "--debug"
      ],
      "description": "Enable verbose output for Helm and set log-level to debug, this disables --quiet/-q effect",
      "isPersistent": true
    },
    {
      "names": [
        "--enable-live-output"
      ],
      "description": "Show live output from the Helm binary Stdout/Stderr into Helmfile own Stdout/Stderr. It only applies for the Helm CLI commands, Stdout/Stderr for Hooks are still displayed only when it's execution finishes",
      "isPersistent": true
    },
    {
      "names": [
        "--environment",
        "-e"
      ],
      "description": "Specify the environment name. defaults to default",
      "isPersistent": true,
      "args": [
        {
          "name": "environment"
        }
      ]
    },
    {
      "names": [
        "--file",
        "-f"
      ],
      "description": "Load config from file or directory. defaults to helmfile.yaml or `helmfile.d`(means `helmfile.d/*.yaml`) in this preference",
      "isPersistent": true,
      "args": [
        {
          "name": "file",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--helm-binary",
        "-b"
      ],
      "description": "Path to the helm binary (default \"helm\")",
      "isPersistent": true,
      "args": [
        {
          "name": "binary"
        }
      ]
    },
    {
      "names": [
        "--interactive",
        "-i"
      ],
      "description": "Request confirmation before attempting to modify clusters",
      "isPersistent": true
    },
    {
      "names": [
        "--kube-context"
      ],
      "description": "Set kubectl context. Uses current context by default",
      "isPersistent": true,
      "args": [
        {
          "name": "kube-context"
        }
      ]
    },
    {
      "names": [
        "--log-level"
      ],
      "description": "Set log level, default info (default info)",
      "isPersistent": true,
      "args": [
        {
          "name": "log-level"
        }
      ]
    },
    {
      "names": [
        "--namespace",
        "-n"
      ],
      "description": "Set namespace. Uses the namespace set in the context by default, and is available in templates as {{ .Namespace }}",
      "isPersistent": true,
      "args": [
        {
          "name": "namespace"
        }
      ]
    },
    {
      "names": [
        "--no-color"
      ],
      "description": "Output without color",
      "isPersistent": true
    },
    {
      "names": [
        "--quiet",
        "-q"
      ],
      "description": "Silence output. Equivalent to log-level warn",
      "isPersistent": true
    },
    {
      "names": [
        "--selector",
        "-l"
      ],
      "description": "Only run using the releases that match labels. Labels can take the form of foo=bar or foo!=bar",
      "isPersistent": true,
      "args": [
        {
          "name": " selector "
        }
      ]
    },
    {
      "names": [
        "--state-values-file"
      ],
      "description": "Specify state values in a YAML file",
      "isPersistent": true,
      "args": [
        {
          "name": "state-values-file",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--state-values-set"
      ],
      "description": "Set state values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)",
      "isPersistent": true,
      "args": [
        {
          "name": "state-values-=set"
        }
      ]
    },
    {
      "names": [
        "--version",
        "-v"
      ],
      "description": "Version for helmfile",
      "isPersistent": true
    }
  ],
  "subcommands": [
    {
      "name": "apply",
      "description": "Apply all resources from state file only when there are changes",
      "options": [
        {
          "names": [
            "--file",
            "-f"
          ],
          "description": "Defaults to helmfile.yaml or helmfile.d.",
          "args": {
            "name": "file",
            "description": "Defaults to helmfile.yaml or helmfile.d.",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--environment",
            "-e"
          ],
          "description": "Environment",
          "args": {
            "name": "environment",
            "isOptional": false
          }
        },
        {
          "names": [
            "--namespace",
            "-n"
          ],
          "description": "Namespace",
          "args": {
            "name": "namespace",
            "isOptional": false
          }
        },
        {
          "names": [
            "--selector",
            "-l"
          ],
          "description": "For example name=foo or name!=foo.",
          "args": {
            "name": "selector",
            "description": "For example name=foo or name!=foo.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--kube-context"
          ],
          "description": "Kube context",
          "args": {
            "name": "kube_context",
            "isOptional": false
          }
        },
        {
          "names": [
            "--interactive",
            "-i"
          ],
          "description": "Confirm before changes"
        }
      ]
    },
    {
      "name": "build",
      "description": "Build all resources from state file"
    },
    {
      "name": "cache",
      "description": "Cache management"
    },
    {
      "name": "charts",
      "description": "DEPRECATED: sync releases from state file (helm upgrade --install)"
    },
    {
      "name": "completion",
      "description": "Generate the autocompletion script for the specified shell"
    },
    {
      "name": "delete",
      "description": "The helmfile delete sub-command deletes all the releases defined in the manifests"
    },
    {
      "name": "deps",
      "description": "Update charts based on their requirements, it locks your helmfile state and local charts dependencies"
    },
    {
      "name": "destroy",
      "description": "Destroys and then purges releases"
    },
    {
      "name": "diff",
      "description": "Diff releases defined in state file, it executes the helm-diff plugin across all of the charts/releases defined in the manifest",
      "options": [
        {
          "names": [
            "--file",
            "-f"
          ],
          "description": "Defaults to helmfile.yaml or helmfile.d.",
          "args": {
            "name": "file",
            "description": "Defaults to helmfile.yaml or helmfile.d.",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--environment",
            "-e"
          ],
          "description": "Environment",
          "args": {
            "name": "environment",
            "isOptional": false
          }
        },
        {
          "names": [
            "--namespace",
            "-n"
          ],
          "description": "Namespace",
          "args": {
            "name": "namespace",
            "isOptional": false
          }
        },
        {
          "names": [
            "--selector",
            "-l"
          ],
          "description": "For example name=foo or name!=foo.",
          "args": {
            "name": "selector",
            "description": "For example name=foo or name!=foo.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--kube-context"
          ],
          "description": "Kube context",
          "args": {
            "name": "kube_context",
            "isOptional": false
          }
        },
        {
          "names": [
            "--interactive",
            "-i"
          ],
          "description": "Confirm before changes"
        }
      ]
    },
    {
      "name": "fetch",
      "description": "Fetch charts from state file, it downloads or copies local charts to a local directory for debug purpose"
    },
    {
      "name": "help",
      "description": "Help about any command"
    },
    {
      "name": "init",
      "description": "Initialize the helmfile, includes version checking and installation of helm and plug-ins"
    },
    {
      "name": "lint",
      "description": "Lint charts from state file (helm lint)"
    },
    {
      "name": "list",
      "description": "List releases defined in state file"
    },
    {
      "name": "repos",
      "description": "Repos releases defined in state file"
    },
    {
      "name": "secrets",
      "description": "Causes the helm-secrets plugin to be executed to decrypt the file"
    },
    {
      "name": "status",
      "description": "Retrieve status of releases in state file"
    },
    {
      "name": "sync",
      "description": "Sync releases defined in state file",
      "options": [
        {
          "names": [
            "--file",
            "-f"
          ],
          "description": "Defaults to helmfile.yaml or helmfile.d.",
          "args": {
            "name": "file",
            "description": "Defaults to helmfile.yaml or helmfile.d.",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--environment",
            "-e"
          ],
          "description": "Environment",
          "args": {
            "name": "environment",
            "isOptional": false
          }
        },
        {
          "names": [
            "--namespace",
            "-n"
          ],
          "description": "Namespace",
          "args": {
            "name": "namespace",
            "isOptional": false
          }
        },
        {
          "names": [
            "--selector",
            "-l"
          ],
          "description": "For example name=foo or name!=foo.",
          "args": {
            "name": "selector",
            "description": "For example name=foo or name!=foo.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--kube-context"
          ],
          "description": "Kube context",
          "args": {
            "name": "kube_context",
            "isOptional": false
          }
        },
        {
          "names": [
            "--interactive",
            "-i"
          ],
          "description": "Confirm before changes"
        }
      ]
    },
    {
      "name": "template",
      "description": "Template releases defined in state file"
    },
    {
      "name": "test",
      "description": "Test charts from state file (helm test)"
    },
    {
      "name": "version",
      "description": "Print the CLI version"
    },
    {
      "name": " write-values",
      "description": "Write values files for releases. Similar to `helmfile template`, write values files instead of manifests"
    }
  ]
}
