helm: Helm v3 template command is missing flags that v2 have

Output of helm version:

# helm version
version.BuildInfo{Version:"v3.0.0-beta.1", GitCommit:"f76b5f21adb53a85de8925f4a9d4f9bd99f185b5", GitTreeState:"clean", GoVersion:"go1.12.9"}

Helm 2:

$ helm template --help
[....]

Flags:
  -x, --execute stringArray      Only execute the given templates
  -h, --help                     help for template
      --is-upgrade               Set .Release.IsUpgrade instead of .Release.IsInstall
      --kube-version string      Kubernetes version used as Capabilities.KubeVersion.Major/Minor (default "1.14")
  -n, --name string              Release name (default "release-name")
      --name-template string     Specify template used to name the release
      --namespace string         Namespace to install the release into
      --notes                    Show the computed NOTES.txt file as well
      --output-dir string        Writes the executed templates to files in output-dir instead of stdout
      --set stringArray          Set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
      --set-file stringArray     Set values from respective files specified via the command line (can specify multiple or separate values with commas: key1=path1,key2=path2)
      --set-string stringArray   Set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
  -f, --values valueFiles        Specify values in a YAML file (can specify multiple) (default [])

Helm 3:

$ helm template --help

Flags:
      --atomic                   if set, installation process purges chart on fail. The --wait flag will be set automatically if --atomic is used
      --ca-file string           verify certificates of HTTPS-enabled servers using this CA bundle
      --cert-file string         identify HTTPS client using this SSL certificate file
      --dependency-update        run helm dependency update before installing the chart
      --devel                    use development versions, too. Equivalent to version '>0.0.0-0'. If --version is set, this is ignored.
      --dry-run                  simulate an install
  -g, --generate-name            generate the name (and omit the NAME parameter)
  -h, --help                     help for template
      --key-file string          identify HTTPS client using this SSL key file
      --keyring string           location of public keys used for verification (default "/home/usr1/.gnupg/pubring.gpg")
      --name-template string     specify template used to name the release
      --no-hooks                 prevent hooks from running during install
      --output-dir string        writes the executed templates to files in output-dir instead of stdout
      --password string          chart repository password where to locate the requested chart
      --replace                  re-use the given name, even if that name is already used. This is unsafe in production
      --repo string              chart repository url where to locate the requested chart
      --set stringArray          set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
      --set-string stringArray   set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
      --skip-crds                if set, no CRDs will be installed. By default, CRDs are installed if not already present.
      --timeout duration         time to wait for any individual Kubernetes operation (like Jobs for hooks) (default 5m0s)
      --username string          chart repository username where to locate the requested chart
      --validate                 establish a connection to Kubernetes for schema validation
  -f, --values strings           specify values in a YAML file or a URL(can specify multiple)
      --verify                   verify the package before installing it
      --version string           specify the exact chart version to install. If this is not specified, the latest version is installed
      --wait                     if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as successful. It will wait for as long as --timeout

Use cases:

  • With helm v2 it is possible to specify the Kubernetes version when generating templates with --kube-version. This flag is missing in Helm v3, is this a design choice? Is it possible to set the Kubernetes version to generate for?

Over at ceph/ceph-csi I am working on a PR where the yaml deployments are generated from the Helm charts. So to generate deployment files for 1.13 and 1.14+ are generated by setting --kube-version.

  • Upon running helm template traefik/ -x templates/deployment.yaml. I get the following output Error: unknown shorthand flag: โ€˜xโ€™ in -x

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 21 (13 by maintainers)

Commits related to this issue

Most upvoted comments

@bacongobbler @hickeyma ๐Ÿ‘‹ โ€ฆ what ever came of --kube-version?

@bacongobbler Thanks! Iโ€™ll work on that. Missing Error: unknown flag: --name too. โœŒ๏ธ

@hickeyma This is now somewhat of a catchall issue, for example #6305 isnโ€™t a dupe, it is related to #5887 But thanks for the markup fixes ๐Ÿ‘