https://github.com/helm/chartmuseum
- 可以做為 Helm-chart repository,將 chart 存放在
- Google Cloud Storage
- Amazon S3
- Microsoft Azure Blob Storage
- Alibaba Cloud OSS Storage
- Openstack Object Storage
- Oracle Cloud Infrastructure Object Storage
- Baidu Cloud BOS Storage
- Tencent Cloud Object Storage
- DigitalOcean Spaces
- Minio
- etcd.
- local
A. 安裝
1. Binary file 安裝
- 執行下面的指令下載對應 OS 的 binary file
curl https://raw.githubusercontent.com/helm/chartmuseum/main/scripts/get-chartmuseum | bash
去 Release Page 下載
啟動。下方的指令是將 chart 儲存在 local 端。可以查看chartmuseum#Configuration有上述提到的 cloud storage 的解決方法
chartmuseum --debug --port=8080 \
--storage="local" \
--storage-local-rootdir="./chartstorage"
2. [Kubernetes] 用 helm chart 安裝
https://github.com/helm/chartmuseum?tab=readme-ov-file#helm-chart
helm repo add chartmuseum https://chartmuseum.github.io/charts
helm install chartmuseum/chartmuseum
- 修改調整,可直接修改
values.yaml
B. 使用
1. 把 chart 推到 chartmuseum
- 推上去的檔案需要是壓縮檔,不是資料夾
helm package $chartPath
DEMO:: 利用 helm create
創建後,再 helm package
打包
- 推上去的檔案,壓縮檔前面要加上
@
curl --data-binary "@$chartPackagePath" $chartmuseumDomain/api/charts
# example
curl --data-binary "@mychart-0.1.0.tgz" http://localhost:8080/api/charts
- https://github.com/helm/chartmuseum/issues/195 要注意 package name 前要加上
@
- 確認是否推上去
# 註冊
helm repo add chartmuseum http://localhost:8080
# 查找
helm search repo chartmuseum/
More
還有看到一些功能,像是
- JWT auth
- https
- prometheus metrics
- redis cache
- 客製化的入口網站