「Helm」- ChartMuseum

认识

Host your own Helm Chart Repository. ChartMuseum is an open-source, easy to deploy, Helm Chart Repository server.

ChartMuseum is an open-source Helm Chart Repository server written in Go (Golang), with support for cloud storage backends, including Google Cloud Storage, Amazon S3, Microsoft Azure Blob Storage, Alibaba Cloud OSS Storage and Openstack Object Storage.

ChartMuseum is a child project under the Helm umbrella.

官网:https://chartmuseum.com/
文档:https://chartmuseum.com/docs/#
仓库:https://github.com/helm/chartmuseum

组成

ChartMuseum | https://helm.sh/docs/topics/chart_repository/

helm cm-push plugin | https://github.com/chartmuseum/helm-push

构建

在线安装 cm-push 插件

helm plugin install https://github.com/chartmuseum/helm-push

离线安装 cm-push 插件

下载并直接执行 helm-cm-push 命令即可。

该下代码供 Jenkins Custom Tools 使用:

if [ ! -e ./linux-amd64/helm ]
then
    rm -rf ./helm-v3.13.3-linux-amd64.tar.gz ./linux-amd64/

    wget https://mirrors.huaweicloud.com/helm/v3.13.3/helm-v3.13.3-linux-amd64.tar.gz
    tar -xf ./helm-v3.13.3-linux-amd64.tar.gz
    chmod u+x ./linux-amd64/helm
fi

if ! ./linux-amd64/helm-cm-push 1>/dev/null 2>&1
then
    wget https://package.devops.d3rm.org/repository/static-resources/helm/helm-push_0.10.4_linux_amd64.tar.gz
    tar -xvf helm-push_0.10.4_linux_amd64.tar.gz
    cp bin/helm-cm-push ./linux-amd64/
    chmod u+x ./linux-amd64/helm-cm-push
fi

性质

强制推送 | … Repository does not allow updating assets: …

–disable-force-overwrite do not allow chart versions to be re-uploaded, even with ?force querystring [$DISABLE_FORCE_OVERWRITE]

helm cm-push –force mychart-0.3.2.tgz chartmuseum

应用

在 Harbor 2.7 中,及之前部分版本,其内置 Chart Museum 模块。

在 Nexus 中,提供 Chart Repository 功能,其通过 Chart Museum 实现。