chart-museum logo 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 安裝

  1. 執行下面的指令下載對應 OS 的 binary file
curl https://raw.githubusercontent.com/helm/chartmuseum/main/scripts/get-chartmuseum | bash
  1. Release Page 下載

  2. 啟動。下方的指令是將 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

  1. 推上去的檔案需要是壓縮檔,不是資料夾
helm package $chartPath

DEMO:: 利用 helm create 創建後,再 helm package 打包 helm-package

  1. 推上去的檔案,壓縮檔前面要加上 @
curl --data-binary "@$chartPackagePath" $chartmuseumDomain/api/charts

# example
curl --data-binary "@mychart-0.1.0.tgz" http://localhost:8080/api/charts
  1. 確認是否推上去
# 註冊
helm repo add chartmuseum http://localhost:8080

# 查找
helm search repo chartmuseum/

helm-search-repo

More

還有看到一些功能,像是

  • JWT auth
  • https
  • prometheus metrics
  • redis cache
  • 客製化的入口網站