Reputation: 4349
I have a helm repo:
helm repo list
NAME URL
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.
Upvotes: 75
Views: 168842
Reputation: 823
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
...
Upvotes: 0
Reputation: 2143
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"}
...
Upvotes: 3
Reputation: 2197
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.
Upvotes: 1
Reputation: 1
Manual and hacky way:
helm repo update
Upvotes: 0
Reputation: 13789
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
Upvotes: 20
Reputation: 1076
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.
Upvotes: 9
Reputation: 25543
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
Upvotes: 4
Reputation: 3995
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.
Upvotes: 1
Reputation: 4379
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.Upvotes: 0
Reputation: 86317
Having gone through all the answers in this question, the answer seems to be:
You can't.
Upvotes: 2
Reputation: 18221
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]
Upvotes: 86
Reputation: 51
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
Upvotes: 0
Reputation: 61
you can do a "helm search repo" . I am using helm version.BuildInfo{Version:"v3.0.1"} Hope it helps
Upvotes: 3
Reputation: 69
To list all the available charts for a specific application, you can try below command:
Application - sample-app
helm search stable/sample-app -l
Upvotes: 1
Reputation: 1749
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/*
Upvotes: 0
Reputation: 958
I believe you're looking for:
helm search
In your case
helm search stable
or
helm search local
EDIT: Doc link: https://helm.sh/docs/using_helm/#helm-search-finding-charts
Upvotes: 4