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
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
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.
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.