Feature: Renovate for Dependency Management
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
调研方向
从提议的 Renovate 配置和 Renovate 的 GitHub Marketplace 集成开始,然后检查 repository 如何处理 Helm chart、workflow 和 lockfile。完成的标准是:已集成一套达成共识的 Renovate 设置,依赖更新按预期生成,并且任何 automerge 行为都由 repository 的 CI 检查覆盖。
由索引模型根据 Issue 内容生成。
描述
Description of the change
Similar to what I have seen, and done in other repositories, I believe it would be beneficial to get renovate on this repository.
It will generate PRs like this one for example: https://gitlab.com/GeorgeRaven/raven-helm-charts/-/merge_requests/201, so that we can automate a significant portion of the maintenance work related to updating patches etc.
I extend renovate with custom managers so we can manage the version of anything in any file using regex.
This is my generic configuration that handles 90% of my use cases in my repositories:
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
],
"packageRules": [
{
"description": "Automerge patches",
"excludePackageNames": [],
"matchUpdateTypes": [
"patch"
],
"matchCurrentVersion": "!/^0/",
"automerge": true
}
],
"customManagers": [
{
"customType": "regex",
"managerFilePatterns": [
"/^.*$/"
],
"matchStrings": [
"\"?v?(?<currentValue>(?<major>0|[1-9]\\d*)\\.(?<minor>0|[1-9]\\d*)\\.(?<patch>0|[1-9]\\d*)(?:-(?<prerelease>(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+(?<buildmetadata>[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)\"?\\s+# renovate: datasource=(?<datasource>.*) depName=(?<depName>.*)"
],
"extractVersionTemplate": "^v?(?<version>.*)$"
}
]
}
The only thing to note is the addition of an automerge rule, this will create and automate merging of semver patches. Thus eliminating the maintenance of and keeping on top of them.
Benefits
- higher automation, reducing maintenance work
- ensures all dependencies can be managed even those in non-standard locations that might be forgotten about
- works with just about everything, helm, github workflows, lockfiles, etc
- highly configurable depending on what everyone would like to see, including automated bumping of helm package versions, when a sub-dependency is updated.
Possible drawbacks
- higher automation in particular patch automerging requires good Ci setup to ensure a high-bar of trust in merges. (This will be a seperate issue I will likely open shortly to do with kubeconform etc)
- while I can self-host it, I would probably recommend that it is added to the github repo directly via the marketplace: https://github.com/marketplace/renovate/ for long-term support.
- some level of trust is required in renovate to give it access to create branches, from which it creates PRs to the default branch (unless otherwise specified)
Additional information
There are many ways to skin the proverbial renovate cat. Please let me know what you think.
- 主要语言
- Go Template
- 星标
- 541
- 派生
- 318
- 平均合并
- 4 天 17 小时
- 30 天内合并 PR
- 4
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
nextcloud/helm 的其他 Issue
-
No native support for REDIS_USER enviroment var可能已有人在做 @jholmes802 于 22 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
-
Make probe paths configurable (liveness on /status.php restarts healthy pods during dependency outages)可能已有人在做 @MishowHD 于 3 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 2/5 1-3 小时 新手友好度 68/100
-
Nextcloud pods run as the namespace's default service account: the chart's account is only created with rbac.enabled, which binds the removed PodSecurityPolicy可能已有人在做 @martin-mat 于 13 天前认领。 未关闭
难度 3/5 半天 新手友好度 55/100
-
nextcloud.openmetrics.allowedClients is silently ignored unless nextcloud.configs is set可能已有人在做 @JanWelker 于 38 天前认领。 未关闭
难度 3/5 1-2 天 新手友好度 78/100
相似的 Issue
-
bug claimed pillar/reliability
难度 2/5 1-3 小时 新手友好度 68/100
hurttlocker/o8#5107 ·
-
needs-triage
难度 2/5 1-3 小时 新手友好度 76/100
gke-labs/kube-agents#4321 ·
维护者通常 1 天内回复
-
bug observability
难度 2/5 1-3 小时 新手友好度 86/100
sagar2395/snowopslabs#164 ·
维护者通常 1 天内回复
-
enhancement help wanted
难度 2/5 1-3 小时 新手友好度 76/100
Git-Hospital/githealthcheck#61 ·
维护者通常 1 天内回复
-
bug triage
难度 2/5 1-3 小时 新手友好度 72/100
kyverno/kyverno#18361 · 1 个 reaction ·
维护者通常 1 天内回复