For users, it was agreed that it is useful to have some sort of signalling mechanism for quality. There were various proposals made to signal quality of charts – each had its benefits and drawbacks.
- There are certain problems that arise with using ratings as a quality signalling mechanism
- The system can be gamed, folks can ask friends / colleagues to rate things, often means nothing about the actual quality.
- Ratings don't work well over a period of time. For eg. if there is a chart with bad ratings, that gets fixed, the bad ratings still persist. Idea - rate every version seperately.
- Maybe something along the style of Amazon reviews is better than ratings? But then again, this can be gamed – see fake Amazon reviews.
- How do you know that downloads have been by an actual user vs. something like a CI system?
- kubeapps hub pulls all of the charts – how do you distinguish that from a real person?
- Any information can be gamed – however if you have a million downloads / docker pulls, there is definitely a message there – people are finding the chart / image useful!
- Recently Helm added user agent flags – maybe we can use something like this to differentiate from CI? This is worth a follow up.
However, with either of these two options, where is the correct place to store any such info about downloads? Does this belong in the chart repository?
- Big orgs prefer to use on-premise tools. They need some way of sharing knowledge. Would they need something like this? Might be overkill for them though.
- Upstream issue filed for this – Issue 3557: helm/helm#3557
- The original repository file format was based on Debian
- It was anticipated that someday we'll reach a scale where we will run into performance issues.
- If someone wants to propose and move to a v2 repository file format this would be a good contribution
- There was a talk from Ankur Chadha (JFrog) that kicked off discussion here.
- Will moving to a new v2 repository format be a breaking change for search?
- Helm search should still work even with this move
- A problem this would solve for the chart repo - have a distributed index / chart delegation (viglesias).
- This would make charts a sort of meta-repo, so kubernetes/charts can have something that it can delegate to instead of growing unsustainably.
- It might make sense for the chart upload mechanism to be based on Helm plugins
- The plugin interface is confusing today, can we make this better / easier?
- Also discovery and downloading the plugins can be problematic (today at least).
- Moreover, kubectl has its own plugins and plugin mechanisms
- (Completely different side topic – Should helm be/have a kubectl plugin interface?)
- It was mentioned that the plugin conversation is not simple – need to follow up with what conversations happend at the plugin table during the Summit (which was a later session).
- Should "helm push" be added to the base API and not be a plugin? This is a bigger conversation. At the very least this deserves an issue in the Helm issue queue, where folks can weigh in on the idea.