// the find
helm/chartmuseum
helm chart repository server
ChartMuseum is a self-hosted Helm chart repository server written in Go, backed by your choice of cloud object storage (S3, GCS, Azure Blob, etcd, local disk, etc). It's for teams that need to host their own private Helm charts instead of relying on a public registry like Artifact Hub or a generic OCI registry.
The storage backend abstraction is genuinely pluggable — swapping S3 for GCS or local disk is a config flag, not a code change, and that list of supported backends is long and well-exercised in production. Bearer/JWT auth integrates with an external authorization server rather than rolling its own, which is the right call for multi-tenant setups. Multitenancy via the --depth flag maps cleanly onto directory structure in storage, so you get per-org or per-team repos without running multiple server instances. It also exposes Prometheus metrics out of the box, which a lot of infra tools bolt on as an afterthought.
The in-memory index.yaml cache means memory grows unbounded as charts accumulate unless you explicitly configure Redis or a cache interval — easy to miss until you're paged for an OOM. Helm itself has been de-emphasizing chart repositories in favor of OCI registries for a couple years now, so adopting ChartMuseum today means investing in a model upstream is quietly moving away from. The auth story requires standing up a separate JWT-issuing server (chartmuseum/auth-server-example) to get anything beyond basic auth, which is more infrastructure than most small teams want to run just to gate chart pushes. No built-in garbage collection for old chart versions — storage just grows forever unless you prune manually.