Distributed Repo Search Status

Matt Farina

Back in July we decided to move to a distributed repository setup for charts  In this setup, people and organizations can self-host repositories meant for public consumption while the Helm project would provide a centralized search. There were a few reasons for this:

  1. Maintaining the stable and incubator repositories has become difficult. It’s difficult for volunteer maintainers to keep up and difficult for people wanting to make changes to charts. We tried numerous changes and added automation but that helped us scale only a little larger. We need to handle a larger scale and faster speeds
  2. We wanted Chart maintainers to be empowered to more easily maintain their charts. Different people want to do things different ways and we wanted to make that possible
  3. Helm was designed with distributed repositories in mind. This has long been part of the design but is often not leveraged
  4. There are many great charts not in the community repositories today and we wanted to make them easier to find. One simple example is Weaveworks Flux

As we near a soft launch in the coming weeks (hopefully) we wanted to start sharing statuses on the progress so people are not surprised and we can fill in needs as they come up.

Since this proposal was accepted the Charts Maintainers have been working to make the distributed search a reality. Here are a few things that have happened:

  • The Kubernetes cluster to host the distributed search is up and running including having DNS setup
  • Monocular 1.0.0 was released (big props to Adnan Abdulhussein). More coming on that soon. This is what will power the distributed search. It is the foundation for hub.kubeapps.com
  • We have started working on guidelines for being listed (feedback is appreciated)
  • We’ve created tools like chart-testing to help people test their charts. This tooling essentially takes the static analysis used by the charts repo and makes it re-usable. This is now the foundation for charts repo static analysis via circleci. More tooling will be coming to help

What will this mean for chart authors? Here are a few things:

  1. You will be able to self host your repos (including on GitHub pages, in ChartMuseum, and even 3rd party services)
  2. If you want to sign charts and use provenance files you can in your repos. There was never a good way to do this for the community repos
  3. Instead of following a community process for releases (e.g., every change including doc fixes cause new versions) you can follow your own process

In the coming weeks we will start to share tools and processes to help people migrate the management of their charts to other locations. The Charts Maintainers are here to help as we want everyone to be setup for success.

If you have any questions please feel free to ask.

Matt Farina

Kevin Fox

In general, I like the idea of further distributing things out. But, there is a couple aspects you might not have considered.

Some of us, due to particulars of where they work, will find it significantly easier to contribute to a common cncf managed repository rather then hosting something of their own.

The second, being part of the cncf, certain resources can be brought to bare for things like testing. It won't be so easy for some self hosted repositories.

Due to this, I would ask that in addition to the split, that the charts repo be kept. Most of the charts can be split out to their own repositories. The remainder can be kept for those that need to contribute as before.