Scripts2026年5月26日·1 分钟阅读

ChartMuseum — Open-Source Helm Chart Repository Server

ChartMuseum is a self-hosted Helm chart repository server with support for multiple cloud storage backends, chart versioning, and a RESTful API.

Agent 就绪

先审查再安装

这个资产需要先审查。复制的指令会要求 Agent dry-run、列出写入项,确认后再继续。

Needs Confirmation · 64/100策略:需确认
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
ChartMuseum Overview
先审查命令
npx -y tokrepo@latest install e42c5b7e-5920-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run,确认写入项后再运行此命令。

Introduction

ChartMuseum is a self-hosted HTTP server for Helm charts maintained under the Helm project umbrella. It provides a simple way to host a private Helm chart repository with pluggable storage backends including S3, GCS, Azure Blob, and local filesystem. It implements the Helm chart repository specification and adds a REST API for chart management.

What ChartMuseum Does

  • Serves Helm chart packages over HTTP with automatic index.yaml generation
  • Accepts chart uploads via a REST API for CI/CD integration
  • Supports cloud storage backends: Amazon S3, Google Cloud Storage, Azure Blob, and more
  • Provides basic authentication and bearer token authorization
  • Tracks chart versions and allows overwriting or immutable version policies

Architecture Overview

ChartMuseum is a single Go binary that runs an HTTP server. On startup, it scans the configured storage backend for .tgz chart packages and builds an in-memory index. The index is served at /index.yaml per the Helm spec. Uploads via /api/charts are validated, stored in the backend, and reflected in the index. A cache layer reduces storage read latency for frequently accessed index entries.

Self-Hosting & Configuration

  • Run as a standalone binary, Docker container, or deploy via the official Helm chart
  • Configure the storage backend via environment variables or CLI flags
  • Set --storage=amazon with AWS_ACCESS_KEY_ID and bucket name for S3 hosting
  • Enable basic auth with --basic-auth-user and --basic-auth-pass flags
  • Use --allow-overwrite to permit re-uploading the same chart version

Key Features

  • Multiple storage backends: local filesystem, S3, GCS, Azure Blob, Alibaba OSS, OpenStack
  • Automatic index.yaml generation and rebuild on chart upload or deletion
  • REST API for uploading, listing, and deleting charts from CI/CD pipelines
  • Configurable chart immutability to prevent overwriting published versions
  • Lightweight single binary that runs anywhere without external dependencies

Comparison with Similar Tools

  • Harbor — Full container and chart registry with RBAC, scanning, and replication
  • Nexus Repository — Universal artifact manager, heavier but supports more formats
  • OCI registries — Helm 3+ supports OCI-based chart storage, no separate server needed
  • GitHub Pages — Free static hosting for public chart repos, no upload API
  • JFrog Artifactory — Enterprise artifact management with Helm support, commercial

FAQ

Q: Does ChartMuseum support OCI-based Helm charts? A: No. ChartMuseum implements the classic Helm chart repository protocol. For OCI distribution, use an OCI registry like Harbor or GHCR.

Q: Can I use ChartMuseum with Helm 3? A: Yes. ChartMuseum works with both Helm 2 and Helm 3. Add it as a repo with helm repo add.

Q: How do I integrate ChartMuseum into CI/CD? A: Use curl or the helm-push plugin to upload packaged charts to the /api/charts endpoint after a successful build.

Q: Is there a web UI for browsing charts? A: ChartMuseum itself is API-only. Community tools like Kubeapps or Monocular provide a web UI on top.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产