K
Q

How can I list all available charts under a helm repo?

May 3, 2019

I have a helm repo:

helm repo list

NAME URL

stable https://kubernetes-charts.storage.googleapis.com

local http://127.0.0.1:8879/charts

and I want to list all the charts available or search the charts under

stable
helm repo.

How do I do this?

No command so far to list available charts under a helm repo or just verify that a chart exists.

-- uberrebu
kubernetes
kubernetes-helm

16 Answers

October 2, 2020

First, always update your local cache:

helm repo update

Then, you can list all charts by doing:

helm search repo

Or, you can do a case insensitive match on any part of chart name using the following:

helm search repo [your_search_string]

Lastly, if you want to list all the versions you can use the -l/--version argument:

# Lists all versions of all charts
helm search repo -l 

# Lists all versions of all chart names that contain search string
helm search repo -l [your_search_string]
-- rouble
Source: StackOverflow

May 3, 2019

You can use helm search to search for Helm charts. There is an interesting option that you can pass to

helm search
that will let you use regex to search for Charts. That way, you can pass a regex that matches with any Chart name. For example

helm search repo -r ".*"

That will show all the Charts on all repositories.

You can additionaly use

--devel
flag with above command to show development version charts

-- Jose Armesto
Source: StackOverflow

April 12, 2022

As of Helm v3x, seems like the easiest method would be to:

helm search repo $repoName -l

Should produce a list of packages within the specified repo (

$repoName
); then, to further specify a package name:

helm search repo $repoName/$packageName

That should narrow results down to something manageable.

-- todd_dsm
Source: StackOverflow

May 3, 2019

I believe you're looking for:

helm search <repo>

In your case

helm search stable

or

helm search local

EDIT: Doc link: https://helm.sh/docs/using_helm/#helm-search-finding-charts

-- harbinja
Source: StackOverflow

May 16, 2021

You can use grep as well as follows.

Get a list of all of the repos added.

helm repo list

Update your repos

helm repo update

Search for 'nginx' in all of the repos that you have

helm search repo nginx

List all the packages in bitnami

helm search repo bitnami

Finally you can use grep to filter out in a given repo

helm search repo bitnami | grep nginx
-- VivekDev
Source: StackOverflow

December 17, 2019

you can do a "helm search repo" . I am using helm version.BuildInfo{Version:"v3.0.1"} Hope it helps

-- Sagar
Source: StackOverflow

August 24, 2023

You don't actually need helm at all to accomplish this.

Let's say you're trying to find the list of packages in

https://charts.helm.sh/stable/
.

Just add

index.yaml
to the URL, so you get
https://charts.helm.sh/stable/index.yaml
. This contains a list of everything in the repo.

Additionally, you can use

yq
to get this data in a more useful format:

$ curl https://charts.helm.sh/stable/index.yaml | yq --compact-output '.entries | to_entries | .[].value[] | {name, version}'
{"name":"acs-engine-autoscaler","version":"2.2.2"}
{"name":"acs-engine-autoscaler","version":"2.2.1"}
{"name":"acs-engine-autoscaler","version":"2.2.0"}
...
-- flaviut
Source: StackOverflow

January 6, 2021

Having gone through all the answers in this question, the answer seems to be:

You can't.

-- Snowcrash
Source: StackOverflow

July 25, 2023

One more thing to add: If you'd like to list the develop versions (like 1.0.1-1234), you need one more parameter: --devel

For example:

helm search repo ingress-nginx --devel -l

Otherwise the develop versions will not be listed.

-- civic.LiLister
Source: StackOverflow

September 4, 2019

To list all the available charts for a specific application, you can try below command:

  • Repository - stable

  • Application - sample-app

    helm search stable/sample-app -l

-- Thimira Dunuville
Source: StackOverflow

February 23, 2021

Helm 2:

helm search -r '\vstable/.*\v'
(1)

Helm 3:

helm search repo -r '\vstable/.*\v'
(2)

From the documentation:

To look for charts with a particular name (such as stable/mysql), try searching using vertical tabs (\v). Vertical tabs are used as the delimiter between search fields.

-- Julien Carsique
Source: StackOverflow

December 15, 2022

Manual and hacky way:

  • helm repo update
  • Find the cache path for your operating system at the bottom of the docs https://helm.sh/docs/helm/helm/
  • Find the file <repository_name>-charts.txt
-- Gian97
Source: StackOverflow

August 9, 2019

Add the repo and search it:

$helm add <repo> <repo url>

$helm search --regexp <repo>/*

Replace repo with the repo you want to search, say jetstack

$ helm search --regexp jetstack/*
-- Margach Chris
Source: StackOverflow

June 5, 2020

Simply

helm search repo
to list all the charts and
helm search repo search_text
to list charts based on the input search text.

For Example:

helm search repo my_chart

-- TechFriend
Source: StackOverflow

February 17, 2021

This helped me:

  • helm repo update
    : for updating the repos.
  • helm search repo <repo_name>
    : for seeing all the helm charts that are in
    <repo_name>
    repo.
-- Sahadat Hossain
Source: StackOverflow

October 10, 2024

With latest

yq
syntax:

curl -sS https://charts.helm.sh/stable/index.yaml |
    yq  '.entries[].[] | .name + " " + .version'

result:

acs-engine-autoscaler 2.2.2
acs-engine-autoscaler 2.2.1
...
-- Dmitry
Source: StackOverflow