Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 554
jobevers Avatar asked Jun 25 '18 20:06

jobevers


People also ask

How do I list available Helm chart versions?

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.

What is Helm chart version?

Helm Charts are simply Kubernetes YAML manifests combined into a single package that can be advertised to your Kubernetes clusters. Once packaged, installing a Helm Chart into your cluster is as easy as running a single helm install, which really simplifies the deployment of containerized applications.

What are Helm revisions?

Helm is a package manager for Kubernetes that makes it easier to deploy applications and services, including rolling updates. Helm also lets you perform a rollback to a previous version of your application.

What is the latest version of Helm?

Helm 3.9. 3. Helm v3. 9.3 is a patch release.


2 Answers

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

like image 76
Andreas Jägle Avatar answered Sep 22 '22 22:09

Andreas Jägle


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

helm search repo -l stable/<some-chart> 
like image 38
Martin Naughton Avatar answered Sep 22 '22 22:09

Martin Naughton