Skip to content

Commit 0534104

Browse files
Migrate config .github/renovate.json5
1 parent a3f06a9 commit 0534104

File tree

1 file changed

+184
-140
lines changed

1 file changed

+184
-140
lines changed

.github/renovate.json5

Lines changed: 184 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -1,176 +1,220 @@
11
{
2-
$schema: "https://docs.renovatebot.com/renovate-schema.json",
2+
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
33
extends: [
4-
"config:recommended",
5-
":semanticCommitsDisabled",
6-
"regexManagers:githubActionsVersions"
4+
'config:recommended',
5+
':semanticCommitsDisabled',
6+
'customManagers:githubActionsVersions',
77
],
8-
labels: ["dependencies"],
9-
postUpdateOptions: ["gomodTidy"],
10-
automergeStrategy: "squash",
11-
// required for automerging patch updates
8+
labels: [
9+
'dependencies',
10+
],
11+
postUpdateOptions: [
12+
'gomodTidy',
13+
],
14+
automergeStrategy: 'squash',
1215
separateMinorPatch: true,
1316
kubernetes: {
14-
fileMatch: ["\\.yaml$"]
17+
fileMatch: [
18+
'\\.yaml$',
19+
],
1520
},
1621
customManagers: [
1722
{
18-
// generic detection for install manifests from GitHub releases
19-
customType: "regex",
20-
fileMatch: ["kustomization\\.yaml$"],
21-
matchStrings: ["https:\/\/github\\.com\/(?<depName>.*\/.*?)\/releases\/download\/(?<currentValue>.*?)\/"],
22-
datasourceTemplate: "github-releases"
23+
customType: 'regex',
24+
fileMatch: [
25+
'kustomization\\.yaml$',
26+
],
27+
matchStrings: [
28+
'https://github\\.com/(?<depName>.*/.*?)/releases/download/(?<currentValue>.*?)/',
29+
],
30+
datasourceTemplate: 'github-releases',
2331
},
2432
{
25-
// generic detection for raw manifests from GitHub refs
26-
customType: "regex",
27-
fileMatch: ["kustomization\\.yaml$"],
28-
matchStrings: ["https:\/\/raw.githubusercontent.com\/(?<depName>.*?/.*?)\/(?<currentValue>.*?)\/"],
29-
datasourceTemplate: "github-releases"
33+
customType: 'regex',
34+
fileMatch: [
35+
'kustomization\\.yaml$',
36+
],
37+
matchStrings: [
38+
'https://raw.githubusercontent.com/(?<depName>.*?/.*?)/(?<currentValue>.*?)/',
39+
],
40+
datasourceTemplate: 'github-releases',
3041
},
3142
{
32-
// update `_VERSION` variables in Makefiles and scripts
33-
// inspired by `regexManagers:dockerfileVersions` preset
34-
customType: "regex",
35-
fileMatch: ["Makefile$", "\\.mk$", "\\.sh$"],
43+
customType: 'regex',
44+
fileMatch: [
45+
'Makefile$',
46+
'\\.mk$',
47+
'\\.sh$',
48+
],
3649
matchStrings: [
37-
"# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\s]+?))?\\s.+?_VERSION *[?:]?= *\"?(?<currentValue>.+?)\"?\\s"
38-
]
39-
}
50+
'# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\s]+?))?\\s.+?_VERSION *[?:]?= *"?(?<currentValue>.+?)"?\\s',
51+
],
52+
},
4053
],
4154
packageRules: [
4255
{
43-
// disable update of dependency on the main module
44-
matchPackageNames: ["github.com/timebertt/kubernetes-controller-sharding"],
45-
enabled: false
46-
},
47-
{
48-
// automerge non-major updates except 0.* versions
49-
// similar to :automergeStableNonMajor preset, but also works for versioning schemes without range support
50-
matchUpdateTypes: ["minor", "patch"],
51-
matchCurrentVersion: "!/^v?0\\./",
52-
automerge: true
53-
},
54-
{
55-
// automerge patch updates
56-
matchUpdateTypes: ["patch"],
57-
automerge: true
58-
},
59-
{
60-
// disable automerge for go minor updates
61-
matchDatasources: ["golang-version"],
62-
matchUpdateTypes: ["minor"],
63-
automerge: false
56+
matchPackageNames: [
57+
'github.com/timebertt/kubernetes-controller-sharding',
58+
],
59+
enabled: false,
6460
},
65-
{
66-
// bump k8s and controller-runtime go dependencies together
67-
groupName: "k8s packages",
68-
groupSlug: "k8s-go",
69-
matchDatasources: ["go"],
70-
matchPackagePrefixes: [
71-
// from "group:kubernetes"
72-
"k8s.io/api",
73-
"k8s.io/apiextensions-apiserver",
74-
"k8s.io/apimachinery",
75-
"k8s.io/apiserver",
76-
"k8s.io/cli-runtime",
77-
"k8s.io/client-go",
78-
"k8s.io/cloud-provider",
79-
"k8s.io/cluster-bootstrap",
80-
"k8s.io/code-generator",
81-
"k8s.io/component-base",
82-
"k8s.io/controller-manager",
83-
"k8s.io/cri-api",
84-
"k8s.io/csi-translation-lib",
85-
"k8s.io/kube-aggregator",
86-
"k8s.io/kube-controller-manager",
87-
"k8s.io/kube-proxy",
88-
"k8s.io/kube-scheduler",
89-
"k8s.io/kubectl",
90-
"k8s.io/kubelet",
91-
"k8s.io/legacy-cloud-providers",
92-
"k8s.io/metrics",
93-
"k8s.io/mount-utils",
94-
"k8s.io/pod-security-admission",
95-
"k8s.io/sample-apiserver",
96-
"k8s.io/sample-cli-plugin",
97-
"k8s.io/sample-controller",
98-
// added packages
99-
"sigs.k8s.io/controller-runtime"
100-
]
61+
{
62+
matchUpdateTypes: [
63+
'minor',
64+
'patch',
65+
],
66+
matchCurrentVersion: '!/^v?0\\./',
67+
automerge: true,
10168
},
10269
{
103-
// disable automerge for k8s minor updates
104-
matchPackagePrefixes: [
105-
// datasource=go
106-
"k8s.io/", // includes more than the k8s-go group! (e.g., k8s.io/utils)
107-
"sigs.k8s.io/controller-runtime",
108-
// datasource=github-releases
109-
"kubernetes/kubernetes",
110-
"kubernetes-sigs/controller-tools"
70+
matchUpdateTypes: [
71+
'patch',
11172
],
112-
matchUpdateTypes: ["minor"],
113-
automerge: false
73+
automerge: true,
11474
},
11575
{
116-
// automerge k8s.io/utils updates
117-
matchDatasources: ["go"],
118-
matchPackageNames: ["k8s.io/utils"],
119-
matchUpdateTypes: ["digest"],
120-
automerge: true
76+
matchDatasources: [
77+
'golang-version',
78+
],
79+
matchUpdateTypes: [
80+
'minor',
81+
],
82+
automerge: false,
12183
},
12284
{
123-
// setup-envtest is not tagged, don't create a PR for every commit in controller-runtime
124-
matchDatasources: ["go"],
125-
matchPackageNames: ["sigs.k8s.io/controller-runtime/tools/setup-envtest"],
126-
enabled: false
85+
groupName: 'k8s packages',
86+
groupSlug: 'k8s-go',
87+
matchDatasources: [
88+
'go',
89+
],
90+
matchPackageNames: [
91+
'k8s.io/api{/,}**',
92+
'k8s.io/apiextensions-apiserver{/,}**',
93+
'k8s.io/apimachinery{/,}**',
94+
'k8s.io/apiserver{/,}**',
95+
'k8s.io/cli-runtime{/,}**',
96+
'k8s.io/client-go{/,}**',
97+
'k8s.io/cloud-provider{/,}**',
98+
'k8s.io/cluster-bootstrap{/,}**',
99+
'k8s.io/code-generator{/,}**',
100+
'k8s.io/component-base{/,}**',
101+
'k8s.io/controller-manager{/,}**',
102+
'k8s.io/cri-api{/,}**',
103+
'k8s.io/csi-translation-lib{/,}**',
104+
'k8s.io/kube-aggregator{/,}**',
105+
'k8s.io/kube-controller-manager{/,}**',
106+
'k8s.io/kube-proxy{/,}**',
107+
'k8s.io/kube-scheduler{/,}**',
108+
'k8s.io/kubectl{/,}**',
109+
'k8s.io/kubelet{/,}**',
110+
'k8s.io/legacy-cloud-providers{/,}**',
111+
'k8s.io/metrics{/,}**',
112+
'k8s.io/mount-utils{/,}**',
113+
'k8s.io/pod-security-admission{/,}**',
114+
'k8s.io/sample-apiserver{/,}**',
115+
'k8s.io/sample-cli-plugin{/,}**',
116+
'k8s.io/sample-controller{/,}**',
117+
'sigs.k8s.io/controller-runtime{/,}**',
118+
],
127119
},
128120
{
129-
// jsonpatch has to be kept in sync with k8s and controller-runtime dependencies
130-
matchDatasources: ["go"],
131-
matchPackagePrefixes: ["gomodules.xyz/jsonpatch"],
132-
enabled: false
121+
matchUpdateTypes: [
122+
'minor',
123+
],
124+
automerge: false,
125+
matchPackageNames: [
126+
'k8s.io/{/,}**',
127+
'sigs.k8s.io/controller-runtime{/,}**',
128+
'kubernetes/kubernetes{/,}**',
129+
'kubernetes-sigs/controller-tools{/,}**',
130+
],
133131
},
134132
{
135-
// kind minor k8s version should be updated together with shoot k8s version
136-
matchPackageNames: ["kindest/node"],
137-
matchUpdateTypes: ["minor"],
138-
enabled: false
133+
matchDatasources: [
134+
'go',
135+
],
136+
matchPackageNames: [
137+
'k8s.io/utils',
138+
],
139+
matchUpdateTypes: [
140+
'digest',
141+
],
142+
automerge: true,
139143
},
140144
{
141-
// combine upgrade of manifests and image tag in one PR
142-
groupName: "external-dns",
143-
matchPackagePatterns: ["external-dns"]
145+
matchDatasources: [
146+
'go',
147+
],
148+
matchPackageNames: [
149+
'sigs.k8s.io/controller-runtime/tools/setup-envtest',
150+
],
151+
enabled: false,
144152
},
145153
{
146-
// special case for ingress-nginx: version is prefixed with `controller-`
147-
matchDatasources: ["github-releases"],
148-
matchPackageNames: ["kubernetes/ingress-nginx"],
149-
"versionCompatibility": "^(?<compatibility>.*)-(?<version>.+)$"
154+
matchDatasources: [
155+
'go',
156+
],
157+
enabled: false,
158+
matchPackageNames: [
159+
'gomodules.xyz/jsonpatch{/,}**',
160+
],
150161
},
151162
{
152-
// manual action required: upgrading kube-prometheus is not fully automated yet
153-
matchDatasources: ["github-releases"],
154-
matchPackageNames: ["prometheus-operator/kube-prometheus"],
155-
prHeader: "⚠️ Manual action required ⚠️\nPlease check this PR out and run `hack/config/monitoring/update.sh`."
156-
},
163+
matchPackageNames: [
164+
'kindest/node',
165+
],
166+
matchUpdateTypes: [
167+
'minor',
168+
],
169+
enabled: false,
170+
},
171+
{
172+
groupName: 'external-dns',
173+
matchPackageNames: [
174+
'/external-dns/',
175+
],
176+
},
177+
{
178+
matchDatasources: [
179+
'github-releases',
180+
],
181+
matchPackageNames: [
182+
'kubernetes/ingress-nginx',
183+
],
184+
versionCompatibility: '^(?<compatibility>.*)-(?<version>.+)$',
185+
},
186+
{
187+
matchDatasources: [
188+
'github-releases',
189+
],
190+
matchPackageNames: [
191+
'prometheus-operator/kube-prometheus',
192+
],
193+
prHeader: '⚠️ Manual action required ⚠️\nPlease check this PR out and run `hack/config/monitoring/update.sh`.',
194+
},
195+
{
196+
matchFileNames: [
197+
'hack/config/monitoring/{crds,kube-prometheus}/**',
198+
],
199+
enabled: false,
200+
},
201+
{
202+
matchPackageNames: [
203+
'registry.k8s.io/prometheus-adapter/prometheus-adapter',
204+
],
205+
changelogUrl: 'https://github.com/kubernetes-sigs/prometheus-adapter',
206+
},
157207
{
158-
// kube-prometheus manifests are generated and managed by update.sh, disable renovate bumps
159-
matchFileNames: ["hack/config/monitoring/{crds,kube-prometheus}/**"],
160-
enabled: false
161-
},
162-
// help renovate fetch changelogs for packages that don't have any sourceUrl metadata attached
163-
{
164-
matchPackageNames: ["registry.k8s.io/prometheus-adapter/prometheus-adapter"],
165-
customChangelogUrl: "https://github.com/kubernetes-sigs/prometheus-adapter"
166-
},
167-
{
168-
matchPackageNames: ["registry.k8s.io/kube-state-metrics/kube-state-metrics"],
169-
customChangelogUrl: "https://github.com/kubernetes/kube-state-metrics"
170-
},
171-
{
172-
matchPackageNames: ["quay.io/brancz/kube-rbac-proxy"],
173-
customChangelogUrl: "https://github.com/brancz/kube-rbac-proxy"
174-
}
175-
]
208+
matchPackageNames: [
209+
'registry.k8s.io/kube-state-metrics/kube-state-metrics',
210+
],
211+
changelogUrl: 'https://github.com/kubernetes/kube-state-metrics',
212+
},
213+
{
214+
matchPackageNames: [
215+
'quay.io/brancz/kube-rbac-proxy',
216+
],
217+
changelogUrl: 'https://github.com/brancz/kube-rbac-proxy',
218+
},
219+
],
176220
}

0 commit comments

Comments
 (0)