Files
Biohazard/.renovate/groups.json5
2024-02-07 23:08:04 +08:00

119 lines
3.9 KiB
Plaintext

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"packageRules": [
// FluxCD
{
"description": "Flux Group",
"groupName": "Flux",
"matchPackagePatterns": ["fluxcd"],
"matchDatasources": ["docker", "github-tags"],
"versioning": "semver",
"group": {
"commitMessageTopic": "{{{groupName}}} group"
},
"separateMinorPatch": true
},
// automerge patch Flux versions
{
"description": "Flux Group",
"groupName": "Flux",
"matchPackagePatterns": ["fluxcd"],
"matchDatasources": ["docker", "github-tags"],
"versioning": "semver",
"group": {
"commitMessageTopic": "{{{groupName}}} group"
},
"separateMinorPatch": true,
"matchUpdateTypes": ["patch"],
"automerge": true,
"automergeType": "pr"
},
// authentik
{
"description": "authentik Group",
"groupName": "authentik",
"matchPackagePatterns": ["authentik"],
"labels": ["authentik"],
"automerge": false,
"group": {
"commitMessageTopic": "{{{groupName}}} group"
},
"separateMultipleMajor": true,
"separateMinorPatch": true,
// TODO: Helm chart uses separate key for digests, which Renovate seems to not recognize? maybe patching the image would be better?
"pinDigests": false
},
{
"description": "Auto merge Github Actions",
"matchManagers": ["github-actions"],
"automerge": true,
"automergeType": "pr",
"ignoreTests": true,
"matchUpdateTypes": ["minor", "patch", "digest"]
},
// configure more granular control for apps in ./kube/deploy/core
{
"matchFileNames": ["kube/deploy/core/**"],
"automerge": false, // enforce no automerge
"separateMultipleMajor": true,
"separateMinorPatch": true,
"labels": ["kube-deploy-core"]
},
{
"description": "Auto merge all Renovate versions",
"matchPackagePatterns": ["renovate"],
"matchUpdateTypes": ["major", "minor", "patch", "digest"],
"automerge": true,
"automergeType": "branch",
"ignoreTests": true,
"labels": ["renovate-itself"]
},
{
"description": "Auto merge my own images with release dates as versions, these are images I couldn't think of a better way to do versioning because of too many moving parts",
"matchPackagePatterns": ["jjgadgets/k8s-crd-extractor"],
"matchUpdateTypes": ["major", "minor", "patch", "digest"],
"automerge": true,
"automergeType": "branch",
"labels": ["app-template"]
},
{
"description": "Auto merge apps in path ./kube/deploy/apps (these apps don't affect the entire Kubernetes cluster)",
// "matchDatasources": ["docker"],
"automerge": true,
"automergeType": "pr",
"matchFileNames": ["kube/deploy/apps/**"],
"matchUpdateTypes": ["minor", "patch", "digest"],
"matchCurrentVersion": "!/^0\\./", // avoid breaking changes in 0.x SemVer releases
"labels": ["kube-deploy-apps"]
},
{
"description": "Auto merge patch app-template versions",
"matchPackagePatterns": ["app-template"],
"matchUpdateTypes": ["patch"],
"automerge": true,
"automergeType": "pr",
"labels": ["app-template"]
},
// manually approve app-template major releases
{
"matchPackagePatterns": ["app-template"],
"matchUpdateTypes": ["major"],
"dependencyDashboardApproval": true
},
// manually approve app-template major releases
{
"matchPackagePatterns": ["app-template"],
"matchUpdateTypes": ["minor"],
"dependencyDashboardApproval": false,
"automerge": false
},
// Miniflux enforce distroless images
{
"matchDatasources": ["docker"],
"versionCompatibility": "^(?<version>[^-]+)(?<compatibility>-.*)?$",
"versioning": "semver",
"matchPackagePatterns": ["miniflux"]
}
]
}