Helm:如何固定版本并使其可通过 GitHub 上的 Renovate 进行管理

问题描述 投票:0回答:1

目前,我们使用Helm安装Traefik,如文档中所述来自其图表https://github.com/traefik/traefik-helm-chart。这个

...图表引导 Traefik 版本 2 作为 Kubernetes 入口控制器,使用自定义资源 IngressRoute:https://docs.traefik.io/providers/kubernetes-crd/

我们在 GitHub Actions 工作流程中完成所有这些工作provision.yml:

      - name: Install Traefik via Helm
        run: |
          echo "--- Install Traefik via Helm (which is already installed in GitHub Actions environment https://github.com/actions/virtual-environments)
          helm repo add traefik https://helm.traefik.io/traefik
          helm repo update
          helm upgrade -i traefik traefik/traefik

我们使用

helm install traefik traefik/traefik
代替
helm upgrade -i traefik traefik/traefik
来防止错误
Error: INSTALLATION FAILED: cannot re-use a name that is still in use
(请参阅 https://stackoverflow.com/a/70465191/4964553)。

但现在我们想将我们的设置与 Renovate 集成。 Renovate 支持 helm,但我们自己没有

values.yaml
文件或 Helm 图表 - 我们只使用一个来安装 Traefik。那么我们如何固定 Traefik 版本并让 Renovate 可以管理此存储库?

kubernetes github-actions kubernetes-helm traefik renovate
1个回答
0
投票

仅使用

--version
如本答案所述)对我们来说还不够,因为 Renovate 需要一个依赖文件来查看

但是还有另一种方法,可以使用简单的

Chart.yaml
来固定我们的版本,并为 Renovate 提供一个可管理的文件(这里是来自 GitHub 上示例项目的
Chart.yaml
):

apiVersion: v2 type: application name: traefik version: 0.0.0 # unused appVersion: 0.0.0 # unused dependencies: - name: traefik repository: https://helm.traefik.io/traefik version: 10.19.4
现在使用命令(

.

表示,
Chart.yaml
与我们运行命令位于同一目录中):

helm dependency update . helm upgrade -i traefik .
我们现在可以以 Renovate 就绪的方式安装 Traefik。

下次发布新的 Traefik helm 图表版本时,Renovate 应该会接手它的工作:

只需确保将以下内容添加到您的

.gitignore

 文件中:

# Exclude Helm charts lock and packages **/**/charts **/**/Chart.lock
    
© www.soinside.com 2019 - 2024. All rights reserved.