111 lines
3.0 KiB
JSON
111 lines
3.0 KiB
JSON
{
|
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
"extends": ["config:base"],
|
|
|
|
"timezone": "America/Los_Angeles",
|
|
"schedule": ["after 2am and before 6am every weekday"],
|
|
|
|
"labels": ["renovate"],
|
|
"assignees": ["admin"],
|
|
"reviewers": ["admin"],
|
|
|
|
"prConcurrentLimit": 5,
|
|
"prHourlyLimit": 2,
|
|
"branchConcurrentLimit": 10,
|
|
|
|
"commitMessagePrefix": "chore(deps):",
|
|
"semanticCommits": "enabled",
|
|
|
|
"packageRules": [
|
|
{
|
|
"description": "Auto-merge patch updates for low-risk app stacks",
|
|
"matchFileNames": [
|
|
"mealie/**",
|
|
"vaultwarden/**",
|
|
"maintenance/**",
|
|
"meshcentral/**"
|
|
],
|
|
"matchUpdateTypes": ["patch"],
|
|
"automerge": true,
|
|
"automergeType": "pr",
|
|
"automergeStrategy": "merge"
|
|
},
|
|
{
|
|
"description": "Auto-merge minor+patch for media stack (Plex/Radarr/Sonarr update frequently)",
|
|
"matchFileNames": ["media/**"],
|
|
"matchUpdateTypes": ["minor", "patch"],
|
|
"automerge": true,
|
|
"automergeType": "pr",
|
|
"automergeStrategy": "merge"
|
|
},
|
|
{
|
|
"description": "NEVER auto-merge bootstrap/critical stacks - manual review required",
|
|
"matchFileNames": [
|
|
"traefik.yaml",
|
|
"traefik.env",
|
|
"auth.yaml",
|
|
"auth.env",
|
|
"postgresql.yaml",
|
|
"woodpecker.yaml",
|
|
"git.yaml"
|
|
],
|
|
"automerge": false,
|
|
"labels": ["renovate", "high-risk"],
|
|
"reviewers": ["admin"]
|
|
},
|
|
{
|
|
"description": "Never auto-merge major version bumps for anything",
|
|
"matchUpdateTypes": ["major"],
|
|
"automerge": false,
|
|
"labels": ["renovate", "major-update"]
|
|
},
|
|
{
|
|
"description": "Group all immich updates together (server+microservices must stay in sync)",
|
|
"matchFileNames": ["immich/**"],
|
|
"groupName": "immich",
|
|
"automerge": false,
|
|
"labels": ["renovate", "immich"]
|
|
},
|
|
{
|
|
"description": "Group all AI stack updates together",
|
|
"matchFileNames": ["ai.yaml"],
|
|
"groupName": "ai-stack",
|
|
"automerge": false,
|
|
"labels": ["renovate", "ai"]
|
|
},
|
|
{
|
|
"description": "Pin digest updates silently (SHA pinning) - auto-merge",
|
|
"matchUpdateTypes": ["digest"],
|
|
"automerge": true,
|
|
"automergeType": "pr"
|
|
}
|
|
],
|
|
|
|
"docker-compose": {
|
|
"fileMatch": [
|
|
"(^|/)docker-compose\\.ya?ml$",
|
|
"(^|/)[a-z0-9-]+\\.ya?ml$"
|
|
]
|
|
},
|
|
|
|
"woodpecker": {
|
|
"enabled": false
|
|
},
|
|
|
|
"ignorePaths": [
|
|
"deploy/**",
|
|
"secrets/**",
|
|
".woodpecker/**",
|
|
"*.env",
|
|
"*.env.example"
|
|
],
|
|
|
|
"postUpgradeTasks": {
|
|
"commands": [
|
|
"curl -sf -X POST \"$TEAMS_WEBHOOK\" -H 'Content-Type: application/json' -d '{\"type\":\"renovate\",\"prTitle\":\"{{{prTitle}}}\",\"prUrl\":\"https://git.bryanmail.net/homelab/compose-files/pulls\",\"depName\":\"{{{depName}}}\",\"newVersion\":\"{{{newVersion}}}\",\"updateType\":\"{{{updateType}}}\",\"releaseNotes\":\"{{{releaseNotesSummary}}}\"}' || true"
|
|
],
|
|
"executionMode": "update",
|
|
"fileFilters": ["**"]
|
|
}
|
|
}
|