目前,我们使用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 可以管理此存储库?
仅使用
--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