Files
auricom-home-cluster/.github/renovate.json5
2022-11-20 16:37:40 +01:00

105 lines
3.5 KiB
Plaintext

{
"extends": [
"config:base",
"docker:enableMajor",
":disableRateLimiting",
":dependencyDashboard",
":semanticCommits",
":enablePreCommit",
":automergeDigest",
":automergeBranchPush",
"github>auricom/home-ops//.github/renovate/autoMerge.json5",
"github>auricom/home-ops//.github/renovate/commitMessage.json5",
"github>auricom/home-ops//.github/renovate/disabledDatasources.json5",
"github>auricom/home-ops//.github/renovate/groups.json5",
"github>auricom/home-ops//.github/renovate/labels.json5"
],
"platform": "github",
"username": "feisar-bot[bot]",
"repositories": ["auricom/home-ops"],
"assignees": ["auricom"],
"onboarding": false,
"requireConfig": false,
"gitAuthor": "feisar-bot <feisar-bot[bot]@users.noreply.github.com>",
"dependencyDashboardTitle": "Renovate Dashboard 🤖",
"suppressNotifications": ["prIgnoreNotification"],
"rebaseWhen": "conflicted",
"commitBodyTable": true,
"commitMessagePrefix": "⬆️",
"ignorePaths": [],
// set up renovate managers
"docker-compose": {
"fileMatch": ["ansible/.+/docker-compose.*\\.ya?ml(\\.j2)?$"]
},
"flux": {
"fileMatch": ["kubernetes/.+\\.ya?ml$"]
},
"helm-values": {
"fileMatch": ["kubernetes/.+\\.ya?ml$"]
},
"kubernetes": {
"fileMatch": ["kubernetes/.+\\.ya?ml$"]
},
"regexManagers": [
{
"description": "Process CRD dependencies",
"fileMatch": ["kubernetes/.+\\.ya?ml$"],
"matchStrings": [
// GitRepository where 'Git release/tag' matches 'Helm' version
"registryUrl=(?<registryUrl>\\S+) chart=(?<depName>\\S+)\n.*?(?<currentValue>[^-\\s]*)\n",
// Kustomization where 'GitHub release artifact URL' matches 'Docker image' version
"datasource=(?<datasource>\\S+) image=(?<depName>\\S+)\n.*?-\\s(.*?)/(?<currentValue>[^/]+)/[^/]+\n"
],
"datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}helm{{/if}}"
},
{
"description": "Process various dependencies",
"fileMatch": [
"infrastructure/ansible/.+\\.ya?ml$",
"kubernetes/.+\\.ya?ml$"
],
"matchStrings": [
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( versioning=(?<versioning>\\S+))?\n.*?\"(?<currentValue>.*)\"\n"
],
"datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}",
"versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}"
},
{
"description": "Process raw GitHub URLs",
"fileMatch": ["kubernetes/.+\\.ya?ml$"],
"matchStrings": [
"https:\\/\\/raw.githubusercontent.com\\/(?<depName>[\\w\\d\\-_]+\\/[\\w\\d\\-_]+)\\/(?<currentValue>[\\w\\d\\.\\-_]+)\\/.*"
],
"datasourceTemplate": "github-releases",
"versioningTemplate": "semver"
}
],
"packageRules": [
// setup datasources
{
"matchDatasources": ["helm"],
"ignoreDeprecated": true
},
{
"matchDatasources": ["docker"],
"matchUpdateTypes": ["major", "minor", "patch"],
"commitMessageExtra": "to {{newVersion}}"
},
// custom versioning
{
"matchDatasources": ["docker"],
"versioning": "loose",
"matchPackageNames": [
"ghcr.io/onedr0p/qbittorrent",
"docker.io/zedeus/nitter",
"quay.io/invidious/invidious"
]
},
{
"matchDatasources": ["docker"],
"matchPackageNames": ["ghcr.io/linuxserver/calibre"],
"versioning": "regex:^version-v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$"
}
]
}