Helm v2 and v3 plugin is for packaging dependency charts pulled from ChartCenter.
ChartCenter is a free, immutable, central repository of public Helm charts for the Kubernetes community. You can read more about ChartCenter and how to use it:
It allows 250+ public Helm repositories be accessed by just one central Helm repository, and to make it work it adds an extra namespace for the helm repositories which are part of ChartCenter.
helm repo add center https://repo.chartcenter.io
helm repo up
helm install postgresql center/bitnami/postgresql
In the example above we are installing bitnami/postgresql
from the helm repo https://repo.chartcenter.io
, and it works just fine.
But if we want to use dependency charts from the https://repo.chartcenter.io
this is where Helm cli v2 and v3 helm package
command does not understand the extra namespace specified in requirements.yaml/Chart.yaml
and fails to package the chart. Helm helm dependency
works just fine and pulls all the charts and stores in the charts
folder.
The example Helm requirements.yaml/Chart.yaml
file of using ChartCenter as Helm repository:
dependencies:
- name: bitnami/postgresql
version: 8.7.3
repository: https://repo.chartcenter.io
condition: postgresql.enabled
- name: bitnami/rabbitmq-ha
version: 1.46.4
repository: https://repo.chartcenter.io
condition: rabbitmq-ha.enabled
- name: bitnami/rabbitmq
version: 7.4.3
repository: https://repo.chartcenter.io
condition: rabbitmq.enabled
bitnami
namespace from the example above is the extra namespace which was added to support ChartCenter and helm package
doesn't understand it yet. Till the fix is done in Helm v3 client, ChartCenter's plugin can be used instead.
Note: Helm v2 client is not accepting any new features so the plugin needs to be used at all times in Helm v2.
Install Helm client as per one of recommended ways.
Then install the latest plugin version:
helm plugin install https://github.com/jfrog/chartcenter-plugin
Using the plugin is so simple it replaces helm dependency update
and package
commands with just one:
helm center <CHART_NAME>
It will run helm dependency update
pulling the sub chart(s) from the ChartCenter and then package the chart with sub chart(s) to the .tgz
file to be ready to be uploaded to any helm repository.
- Twitter: tweet at us @chartcenterio
- Github: chartcenter
- Slack: Find us in #ChartCenter channel in the Kubernetes Slack
- Email: [email protected]