Helm charts are one of the most used methods to package (complex) applications to share it with others. Chartmuseum is an OSS project integrated into Harbor to provide Helm chart repositories.
- Helm v2
- Connectivity to the registry (including credentials)
Make sure you know the Harbor external hostname, username, and password.
Let's assume these values in this example:
Then prepare your Helm client:
$ helm init --client-only $HELM_HOME has been configured at /Users/sighup/.helm. Not installing Tiller due to 'client-only' flag having been set $ helm plugin install https://github.com/chartmuseum/helm-push Downloading and installing helm-push v0.8.1 ... https://github.com/chartmuseum/helm-push/releases/download/v0.8.1/helm-push_0.8.1_darwin_amd64.tar.gz Installed plugin: push
Now let's add your registry to your Helm client:
$ helm repo add --username=admin --password=Harbor12345 my-harbor-library https://harbor.example.com/chartrepo/library "my-harbor-library" has been added to your repositories
In the default registry installation, a Harbor project is created named
library. We are going to use this project
to push images.
Then, let's push a Helm chart. It does not matter if you download an existing one from GitHub or you build your chart.
Let's download one:
$ helm fetch stable/nginx-ingress --version 1.36.2 $ du -h nginx-ingress-1.36.2.tgz 24K nginx-ingress-1.36.2.tgz
Then, you are ready to push it to your registry:
$ helm push --username=admin --password=Harbor12345 nginx-ingress-1.36.2.tgz my-harbor-library Pushing nginx-ingress-1.36.2.tgz to harbor-test... Done.
The Helm chart is now available in your registry. You can find it in the Harbor UI:
Was this page helpful?
Glad to hear it! Thanks for letting us know!
Sorry to hear that. Please tell us how we can improve.