Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Category Vision - Helm Chart Registry

Helm Chart Registry

Users or organizations who deploy complex pieces of software towards Kubernetes managed environments depend on a standardized way to automate provisioning those external environments. Helm is the package manager for Kubernetes and helps users define, manage, install, upgrade, and rollback even the most complex Kubernetes application. Helm uses a package format called Charts to describe a set of Kubernetes resources

Helm charts should be easy to create, version, share and publish right within GitLab. This would provide an official and integrated method to publish charts, control access, and version control them. Additionally, this will automatically allow for repository replication for multi-site development through GitLab geo.

It is possible to make your own using GitLab CI and Pages, however, we should strive for a cleaner more fully-featured solution. For example, we made our own here: https://gitlab.com/charts/charts.gitlab.io/blob/master/.gitlab-ci.yml

Usecases listed

We will integrate helm charts similar to other package management solutions in GitLab such as docker, maven, and NPM in order to see to the following use cases:

  1. Public and private repositories for Helm charts
  2. Fine-grained access control
  3. Verification of helm chart integrity through gitlab-org#486
  4. Improved accessibility and high availability through caching and proxification due to gitlab-org#486
  5. Standardized workflow to version control and publish charts making use of GitLab's other services
  6. Making metadata concurrently available to make workflows more transparent

What's Next & Why

The current maturity stage of this category is targeting minimal which implicates that we are just starting out. First priority is to get down the MVC gitlab-ce#35884 which targets on implementing a standardized version of the GitLab pages example given earlier which will allow the user to publish and have a relative URL which exposes an endpoint for retrieving the .yml.

The upside of this approach is that it immediately caters to multiple use cases listed (1,2, and 5).

After this, we'll probably target replication and availability use cases through a combination with gitlab-org#486.

Competitive Landscape

Next, to Helm hub which is the official helm charts repository, it is supported by products like Artifactory from Jfrog and by Codefresh. Additionally, Chart museum offers an open sourced self-managed solution, aside from being able to code one yourself with GitLab pages, Apache, or by using a GH repo's raw publishing url.

It is obvious that GitLab should join the open source offering of this capability, and improve upon it with features targetted at our EE offering. This way we compete with all but do so in an integrated manner. This will give users options such as reducing risk and more fine grained control.

Top Customer Success/Sales Issue(s)

TODO

Top Customer Issue(s)

TODO

Top Internal Customer Issue(s)

TODO

Top Vision Item(s)

TODO