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