我想安排一个自动更新,检查我的子图表是否有更新的版本。在我的例子中,我使用Bitnami的Kafka。
我如何做一个进程,检查我的Kubernetes依赖关系yaml文件,每天一次更新的图表版本更新?
例如:我的依赖文件看起来像这样:
dependencies:
- name: kafka
version: "15.4.0"
repository: "https://charts.bitnami.com/bitnami"
在时间表更新之后,它应该打开一个包含最新子图表的新PR:
dependencies:
- name: kafka
version: "20.0.2"
repository: "https://charts.bitnami.com/bitnami"
实现这一目标的工具之一是Renovatebot。它有一个Github Action (https://github.com/renovatebot/github-action),在那里你设置一个cron作业来创建Pr的日常。您可以修改它的配置文件以将helm添加为数据源。下面是一个示例配置
{
"fileMatch": ["xyz/values.yaml"],
"matchStrings": [
"chart:n\s*spec:n\s*version: "(?<currentValue>.*?)""
],
"depNameTemplate": "ingress-nginx",
"registryUrlTemplate": "https://kubernetes.github.io/ingress-nginx",
"datasourceTemplate": "helm"
}