For a helm chart, what versions are available? [closed]

I can specify a specific version of a chart by doing: helm install --version <some_version> stable/<some_chart>

But, how do I know which versions are available?


Solution 1:

Short Answer

You can list all available versions of a chart using the search repo functionality together with the --versions flag:

helm search repo <reponame>/<chartname> --versions

This requires that the repo was added previously and is up to date. If your repo was added some time ago, please make sure to keep the local cache updated using helm repo update to also see recently released versions.

The behaviour of managing charts in a repository changed slightly between Helm v2 and Helm v3. So please refer to the corresponding section for details.

Helm v3

Helm v3 changed to a more decentralized management of charts, so you might have added a certain repository upfront compared to obtaining many of them directly from the preconfigured stable repository. Listing the versions of a certain chart can be accomplished running the command helm search repo and specifying the full path of the chart (specifying repo and chart name) in combination with the --versions flag (or shorthand -l) like so:

helm search repo <reponame>/<chartname> --versions

If you are interested in pre-release builds like 1.1.0-rc.1 or 3.0.0-alpha.2, you have to add the --devel flag to also include those.

helm search repo <reponame>/<chartname> --versions --devel

You can limit the amount of results by specifying a version constraint using SEMVER notation with the --version flag in addition to --versions. This allows for example limiting the results to e.g. only v1 charts:

helm search repo <reponame>/<chartname> --versions --version ^v1.0

Depending on your shell, it can be required to put the version string in single quotes (') due to special characters like ^.

Example

One concrete example using jetstack's charts for cert-manager:

$ helm repo add jetstack https://charts.jetstack.io
"jetstack" has been added to your repositories

Regular search for results that contain jetstack

$ helm search repo jetstack
NAME                    CHART VERSION   APP VERSION DESCRIPTION
jetstack/cert-manager   v1.0.4          v1.0.4      A Helm chart for cert-manager
jetstack/tor-proxy      0.1.1                       A Helm chart for Kubernetes

Regular search for a specific chart

$ helm search repo jetstack/cert-manager
NAME                    CHART VERSION   APP VERSION DESCRIPTION
jetstack/cert-manager   v1.0.4          v1.0.4      A Helm chart for cert-manager

Listing all the versions for one specific chart

$ helm search repo jetstack/cert-manager --versions
NAME                    CHART VERSION   APP VERSION DESCRIPTION
jetstack/cert-manager   v1.0.4          v1.0.4      A Helm chart for cert-manager
jetstack/cert-manager   v1.0.3          v1.0.3      A Helm chart for cert-manager
jetstack/cert-manager   v1.0.2          v1.0.2      A Helm chart for cert-manager
jetstack/cert-manager   v1.0.1          v1.0.1      A Helm chart for cert-manager
...

Listing unstable/pre-release builds will also include the alpha versions.

$ helm search repo jetstack/cert-manager --versions --devel
NAME                    CHART VERSION   APP VERSION     DESCRIPTION
jetstack/cert-manager   v1.1.0-alpha.1  v1.1.0-alpha.1  A Helm chart for cert-manager
jetstack/cert-manager   v1.1.0-alpha.0  v1.1.0-alpha.0  A Helm chart for cert-manager
jetstack/cert-manager   v1.0.4          v1.0.4          A Helm chart for cert-manager
jetstack/cert-manager   v1.0.3          v1.0.3          A Helm chart for cert-manager
...

As listing the versions is integrated into the search, using --versions is not limited to a single chart. Specifying this flag will list all available versions for all charts that match the query string.

For additional information, please check the helm docs at https://helm.sh/docs/helm/helm_search_repo/

Helm v2

For Helm v2, many artifacts were accessible through the stable repo which came preconfigured with the Helm CLI. Listing all versions was done in a similar way but with a different command. To list the available versions of the chart with Helm v2 use the following command:

helm search -l stable/<some_chart>

The -l or --versions flag is used to display all and not only the latest version per chart.

With Helm v2 you were able to keep your repos updated using the helm update command.

Reference: https://v2.helm.sh/docs/helm/#helm-search

Solution 2:

If you are looking for a helm v3 solution this is it.

helm search repo -l stable/<some-chart>

Solution 3:

If you want also search for alpha, beta, release candidate version in helm 3 you can add options --devel

helm search repo <chart keyword> -l --devel 

it will also lists charts with version like 1.0.0-rc1