Host Your Helm Chart in ChartCenter Directly From Source

 

UPDATE: As of May 1, 2021 – ChartCenter central repository has been sunset and all features deprecated. For more information on the sunsetting of the centers read the deprecation blog post

 

Ownership isn’t for everyone — building and maintaining an abode is a lot of trouble when all you need is a place to hang your hat.

That can also be true when you’re a creator of Helm charts. You’ll certainly want the benefits of a Helm chart repository to store, version, and share your charts for deploying applications to Kubernetes. 

Until the release of Helm v3, you might have submitted your Helm chart to the official stable or incubator chart repository to share it with the community. But this Helm chart archive is no longer actively maintained, and is not accepting new charts. Now all Helm charts must be in a hosted repository elsewhere. 

But you might not want the bother of hosting and maintaining your own Helm chart repository on Github, S3, etc.

Now you can add your Helm chart to ChartCenter directly from its Git-stored source (GitHub, GitLab or BitBucket). When you add your Helm chart, ChartCenter will host your repository for you and assign you a namespace based on your Git repo name.

Once your chart is available to the world through ChartCenter, the free community resource for Helm will automatically perform the procedures to keep dependencies and more up-to-date.

This short video will show you how easy it is:

Let’s explore the details.

Preparing Your Chart

For an example, we’ll start with the security-sample-chart in my GitHub repo.

Example Helm chart in GitHub Repo

Your Helm chart’s Git source repository must be tagged for release.

The release tag must be compliant with semantic versioning and include the chart name. For example: 

  • v0.0.1-chart-name
  • 0.0.1-chart-name

Helm chart version tag

Your Git release file might contain other charts, these won’t be part of inclusion; they will be safely ignored. Only charts which were added to ChartCenter by the inclusion from the source process will be processed.

Adding a Helm Chart to ChartCenter From Source

On the main ChartCenter page, click Add Chart.

Add Helm Chart to ChartCenter

You will be prompted with a new pop-up window:

Add Helm Chart Options

As we are interested in adding the chart from source, click on ADD A CHART and complete the form:

Add Helm Chart Dialog Box in ChartCenter

  • Repository URL – the full URL path to your Git repository
  • Chart maintainer email – This is required, and must match your email in the chart’s Chart.yaml file.
  • Path to location of Chart.yaml – The path in the git repository where your chart is stored. 

Note: You can add only one chart at a time from the same Git repository.

Once submitted your email will be checked and you need to confirm your submission. When you confirm your email your chart will be queued for processing.

On source from inclusion success you will see:

Add Helm Chart Completed

Great!

Let’s search for the chart  we have included:

Example Helm Chart in ChartCenter


Very nice!

When ChartCenter hosts your Helm chart from source, it creates a namespace from the main domain of your Git repository with a prefix for the type of source control that was used:

  • gh- For Github (for example gh-rimusz-lab).
  • gl- For Gitlab
  • bb- For Bitbucket

We can see how easy it is so easy to add the Helm chart from the Git repository and make it available in the ChartCenter. When you release the new chart version as a new git release, it will be automatically added to the ChartCenter, some chart metadata might not be available until all the processing is done.

How to use the Helm chart from ChartCenter

Now that your Helm chart is hosted in a repository in ChartCenter, you and others can pull the chart from ChartCenter.

Step 1: Add ChartCenter as your Helm repository

Set your Helm client to use the ChartCenter repository as your single central location to consume charts:

$ helm repo add center https://repo.chartcenter.io
$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "center" chart repository
Update Complete. ⎈Happy Helming!⎈

Great, we have updated the local Helm repositories cache.

Step 2: Using ChartCenter as a repository

Now let’s check the added Helm repository:

$ helm search repo center/gh-rimusz-lab/security-sample-chart
NAME                               	    CHART VERSION  APP VERSION  DESCRIPTION
center/gh-rimusz-lab/security-sample-chart  0.2.2          0.2.0        A security sample Helm chart

Here, you’re able to see how much easier it is to use one central repository than it is to add many Helm repositories and see your chart part of it.

Helm Charts at Home

Once your Helm chart is included in ChartCenter directly from source, it’s available to the community, along with all other Helm charts in ChartCenter through a single, central repository.

Listed in ChartCenter, your included chart collects the same powerful metadata as all others. You’ll gain important information about security vulnerabilities in the application through the deep recursive security scans powered by JFrog Xray. As others use your chart in their dependencies, you’ll also be able to see where they’re being referenced.

So there’s no need to maintain a self-hosted Helm repository if you do not want to. You can leave that to ChartCenter to handle, and gain important insights into your chart as well.

Happy charting 🙂