TrueChartsClone/.github/renovate.json5

664 lines
21 KiB
Plaintext

{
"semanticCommits": "enabled",
"extends": ["helpers:pinGitHubActionDigests"],
"dependencyDashboard": true,
"dependencyDashboardTitle": "Renovate Dashboard 🤖",
"suppressNotifications": ["prIgnoreNotification"],
"commitMessageTopic": "{{depName}}",
"commitMessageExtra": "to {{newVersion}}",
"commitMessageSuffix": "By Renovate",
"rebaseWhen": "conflicted",
"prConcurrentLimit": 150,
"timezone":"Europe/Amsterdam",
"pinDigests": true,
"automerge": false,
"gitAuthor": "TrueCharts-Admin <bot@truecharts.org>",
"helm-values": {
"fileMatch": ["charts/.+/.*values\\.yaml$", "charts/.+/SCALE/.*_values\\.yaml$"]
},
"helmv3": {
"fileMatch": ["charts/.+/Chart\\.yaml$"]
},
"packageRules": [
// Bundle Github Actions
{
"matchManagers": ["github-actions"],
"groupName": "Github-Actions",
"automerge": true
},
// Setup datasources for dep updates
{
"datasources": ["helm"],
"matchManagers": ["helmv3"],
"commitMessageTopic": "Helm chart {{depName}}",
"ignorePaths": ["charts/unstable/**"],
"autoApprove": true,
},
// global docker datasource settings
{
"datasources": ["docker"],
"enabled": true,
"pinDigests": true,
"automerge": false,
"autoApprove": true,
"separateMinorPatch": true,
"ignorePaths": ["charts/unstable/**"],
"commitMessageTopic": "container image {{depName}}",
"commitMessageExtra": "to {{#if isSingleVersion}}v{{{newVersion}}}{{else}}{{{newValue}}}{{/if}}@{{newDigestShort}}",
},
// Setup datasources for github actions
{
"matchManagers": ["github-actions"],
"excludePackageNames": ["stefanzweifel/git-auto-commit-action"],
"labels": ["automerge"],
"automerge": true,
"autoApprove": true,
},
//
// catch to prevent stable updates
//
{
"automerge": false,
"labels": ["update/ignored"],
"groupName": ["ignored"],
"matchPaths": ["charts/unstable/**", "charts/dev/**", "charts/incubator/**", "templates/app/**"],
"commitMessageTopic": "Ignored Updates",
"autoApprove": false,
},
//
// helm deps
//
{
"matchDatasources": ["helm"],
"updateTypes": ["major"],
"automerge": false,
"bumpVersion": "major",
"labels": ["update/helm/dependency/major"],
"groupName": ["helm dependency major"],
"matchPaths": ["charts/dependency/**"],
"autoApprove": false,
},
{
"matchDatasources": ["helm"],
"automerge": true,
"matchUpdateTypes": [
"minor",
],
"bumpVersion": "minor",
"labels": ["update/helm/dependency/minor", "automerge"],
"matchPaths": ["charts/dependency/**"],
"groupName": "helm dependency minor",
},
{
"matchDatasources": ["helm"],
"automerge": true,
"matchUpdateTypes": [
"patch"
],
"bumpVersion": "patch",
"labels": ["update/helm/dependency/patch", "automerge"],
"matchPaths": ["charts/dependency/**"],
"groupName": "helm dependency patch",
},
//
// helm charts
//
{
"matchDatasources": ["helm"],
"updateTypes": ["major"],
"bumpVersion": "major",
"enabled": true,
"labels": ["update/helm/general/major"],
"automerge": false,
"groupName": ["helm general major"],
"matchPaths": ["charts/stable/**", "charts/enterprise/**", "charts/operators/**"],
"schedule": [
"before 10pm on tuesday"
],
"autoApprove": false,
},
{
"matchDatasources": ["helm"],
"automerge": true,
"enabled": true,
"matchUpdateTypes": [
"minor"
],
"bumpVersion": "minor",
"labels": ["update/helm/general/minor", "automerge"],
"groupName": "helm general minor",
"matchPaths": ["charts/stable/**", "charts/enterprise/**", "charts/operators/**"],
"schedule": [
"before 10pm on tuesday"
],
},
{
"matchDatasources": ["helm"],
"automerge": true,
"enabled": true,
"matchUpdateTypes": [
"digest",
"patch",
"pin"
],
"bumpVersion": "patch",
"labels": ["update/helm/general/non-major", "automerge"],
"groupName": "helm general non-major",
"matchPaths": ["charts/stable/**", "charts/enterprise/**", "charts/operators/**"],
"schedule": [
"before 10pm on tuesday"
],
},
//
// Tag updates for semantic tags
//
{
"matchDatasources": ["docker"],
"updateTypes": ["major"],
"bumpVersion": "minor",
"enabled": true,
"labels": ["update/docker/general/major"],
"matchPaths": ["charts/dependency/**", "charts/stable/**", "charts/incubator/**", "charts/enterprise/**", "charts/operators/**"],
"schedule": [
"before 10pm on monday"
],
"autoApprove": false,
},
{
"matchDatasources": ["docker"],
"automerge": true,
"matchUpdateTypes": [
"minor",
],
"bumpVersion": "minor",
"enabled": true,
"labels": ["update/docker/general/non-major", "automerge"],
"matchPaths": ["charts/dependency/**", "charts/stable/**", "charts/incubator/**", "charts/enterprise/**", "charts/operators/**"],
"schedule": [
"before 10pm on monday"
],
},
{
"matchDatasources": ["docker"],
"automerge": true,
"matchUpdateTypes": [
"patch",
"digest",
"pin",
],
"bumpVersion": "patch",
"enabled": true,
"labels": ["update/docker/general/non-major", "automerge"],
"matchPaths": ["charts/dependency/**", "charts/stable/**", "charts/incubator/**", "charts/enterprise/**", "charts/operators/**"],
"schedule": [
"before 10pm on monday"
],
},
//
// Tag tccr.io/truecharts based on semver
//
{
"matchDatasources": ["docker"],
"versioning": "semver",
"matchPackagePrefixes": ["tccr.io/truecharts"],
},
//
// Tag semantic version type based on regex
//
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>14)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": ["tccr.io/tccr/postgresql"],
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^v(?<major>\\d{2})(?<minor>\\d{2})(?<patch>\\d{2})$",
"matchPackageNames": ["tccr.io/tccr/photoprism"],
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^v(?<major>\\d{4})-(?<minor>\\d{2})$",
"matchPackageNames": ["tccr.io/tccr/rss-bridge"],
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^v(?<major>\\d+)-(?<minor>\\d+)$",
"matchPackagePrefixes": ["jupyter"],
"groupName": "jupyter",
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d{1})(?<minor>\\d{1})(?<patch>\\d{2})$",
"matchPackagePrefixes": ["tccr.io/tccr/jitsi"],
"groupName": "jitsi",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["altran1502/immich"],
"groupName": "immich",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["portainer"],
"groupName": "portainer",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["m1k1o/neko"],
"groupName": "neko",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["lscr.io/linuxserver/webtop"],
"groupName": "webtop",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["lscr.io/linuxserver/rdesktop"],
"groupName": "rdesktop",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/metallb"],
"groupName": "metallb",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/zabbix"],
"groupName": "zabbix",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["vikunja"],
"groupName": "vikunja",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/ml-workspace"],
"groupName": "ml-workspace",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["itzg/bungeecord"],
"groupName": "bungeecord",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["itzg/minecraft-java"],
"groupName": "minecraft-java",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/mealie"],
"groupName": "mealie",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/librephotos"],
"groupName": "librephotos",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/kitchenowl"],
"groupName": "kitchenowl",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["ghcr.io/goauthentik/"],
"groupName": "authentik",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/lama-cleaner"],
"groupName": "lama-cleaner",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/rickroll"],
"groupName": "rickroll",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/scrypted"],
"groupName": "scrypted",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/docspell"],
"groupName": "docspell",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/restreamer"],
"groupName": "restreamer",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/penpot"],
"groupName": "penpot",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/rdesktop"],
"groupName": "rdesktop",
},
{
"matchDatasources": ["docker"],
"matchPackagePrefixes": ["tccr.io/tccr/ersatztv"],
"groupName": "ersatztv",
},
// matchPackagePatterns
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>14)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackagePatterns": ["^bitnami/postgresql$"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d{4})-(?<minor>\\d{2})-(?<patch>\\d{2})$",
"matchPackagePatterns": ["^.*oznu\\/homebridge$"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)-(?<minor>\\d+)-(?<patch>\\d+)$",
"matchPackagePatterns": ["^jupyter\\/.+$"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-ubuntu$",
"matchPackagePatterns": ["^zabbix\\/zabbix-.*$"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^stable-(?<major>\\d{1})(?<minor>\\d{1})(?<patch>\\d{2}).*$",
"matchPackagePatterns": ["^jitsi\\/.*$"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^latest-(?<major>\\d{4})-(?<minor>\\d{2})-(?<patch>\\d{2})$",
"matchPackagePatterns": ["^wangqiru/ttrss$"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackagePatterns": ["^penpot\\/.*$"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^\\d*-jammy-(?<variant>.+)-v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackagePatterns": ["^.+\\/koush\\/scrypted$"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^version-(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-.*$",
"matchPackagePatterns": ["^.*linuxserver\\/deluge$"],
"automerge": true,
},
// matchPackageNames
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-postgres-tomcat$",
"matchPackageNames": ["xwiki"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^version-(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": ["fireflyiii/core"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-\\d+\\.\\d+\\.\\d+$",
"matchPackageNames": ["netboxcommunity/netbox"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d{2})(?<minor>\\d{2})(?<patch>\\d{2})$",
"matchPackageNames": ["photoprism/photoprism"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": ["cloudflare/cloudflared"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^version-(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": ["linuxserver/calibre-web"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^version-v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": ["linuxserver/heimdall"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^postgresql-v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": ["ghcr.io/umami-software/umami"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^version-v(?<major>\\d+)\\.(?<minor>\\d+)\\.?(?<patch>\\d*)$",
"matchPackageNames": ["linuxserver/mylar3"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^[a-z0-9]{9}-v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-go\\d+\\.\\d+\\.\\d+$",
"matchPackageNames": ["storjlabs/storagenode"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-php8\\.0-apache$",
"matchPackageNames": ["joyqi/typecho"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^v\\.(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": ["difegue/lanraragi"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^RELEASE\\.(?<major>\\d+)-(?<minor>\\d+)-(?<patch>\\d+)T\\d+-\\d+-\\d+Z$",
"matchPackageNames": ["minio/minio"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^RELEASE\\.(?<major>\\d+)-(?<minor>\\d+)-(?<patch>\\d+)T\\d+-\\d+-\\d+Z$",
"matchPackageNames": ["minio/mc"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^apache-(?<major>\\d+)\\.(?<minor>\\d+)\\.?(?<patch>\\d*)-prod$",
"matchPackageNames": ["kimai/kimai2"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)-(?<minor>\\d+)-(?<patch>\\d+)$",
"matchPackageNames": ["rssbridge/rss-bridge"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)-(?<minor>\\d+)-(?<patch>\\d+)$",
"matchPackageNames": ["alexta69/metube"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^focal-(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": ["codeproject/senseai-server"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^latest-(?<major>\\d+)-(?<minor>\\d+)-(?<patch>\\d+)$",
"matchPackageNames": ["wangqiru/ttrss"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)(-\\d+)?$",
"matchPackageNames": ["kiwix/kiwix-serve"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-omnibus$",
"matchPackageNames": ["ghcr.io/analogj/scrutiny"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)-(?<minor>\\d+)-(?<patch>\\d+)$",
"matchPackageNames": ["diygod/rsshub"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-amd64(nvidia)?$",
"matchPackageNames": ["blakeblackshear/frigate"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d{1,4})\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
"matchPackageNames": ["kopia/kopia"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d{4})\\.(?<minor>\\d{1,2})\\.(?<patch>\\d{1,2).*$",
"matchPackageNames": ["alicevision/meshroom"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d{4})\\.(?<minor>\\d{1,2})\\.(?<patch>\\d{1,2})$",
"matchPackageNames": ["itzg/bungeecord"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^java8-(?<major>\\d{4})\\.(?<minor>\\d{1,2})\\.(?<patch>\\d{1,2})$",
"matchPackageNames": ["itzg/bungeecord"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^java11-(?<major>\\d{4})\\.(?<minor>\\d{1,2})\\.(?<patch>\\d{1,2})$",
"matchPackageNames": ["itzg/bungeecord"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^java17-(?<major>\\d{4})\\.(?<minor>\\d{1,2})\\.(?<patch>\\d{1,2})$",
"matchPackageNames": ["itzg/bungeecord"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d{4})\\.(?<minor>\d{1,2})\\.(?<patch>\\d{1,2})(-java\\d{1,2}.*)?$",
"matchPackageNames": ["itzg/minecraft-server"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d{4})(?<minor>\\d{2})(?<patch>\\d{2})$",
"matchPackageNames": ["ankicommunity/anki-sync-server"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)-jdk17$",
"matchPackageNames": ["jenkins/jenkins"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^x64-v(?<major>\\d*)\\.(?<minor>\\d*)\\.(?<patch>\\d*)$",
"matchPackageNames": ["housewrecker/gaps"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d*)\\.(?<minor>\\d*)\\.(?<patch>\\d*)-\\d*$",
"matchPackageNames": ["sameersbn/apt-cacher-ng"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^nightly-(?<major>\\d*)\\.(?<minor>\\d*)\\.(?<patch>\\d*)\\.\\d*$",
"matchPackageNames": ["ghcr.io/hotio/whisparr"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^release-(?<major>\\d*)\\.(?<minor>\\d*)$",
"matchPackageNames": ["mattermost/mattermost-enterprise-edition"],
"automerge": true,
},
{
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-.+$",
"matchPackageNames": ["corentinth/it-tools"],
"automerge": true,
},
//
// Version strategies
//
// Versioning for linuxserver two-three digit container versions
{
"packagePatterns": ["^linuxserver\\/","^deepquestai\\/"],
"versionScheme": "regex:^(?<compatibility>.*?(\\d+\\.)??)(?<major>\\d+)\\.(?<minor>\\d+)\\.?(?<patch>\\d+)?(-r?p?\\d)?$"
},
{
"matchDatasources": [
"docker"
],
"versioning": "loose",
"matchPackageNames": [
"ghcr.io/onedr0p/plex",
"ghcr.io/onedr0p/qbittorrent",
"sirfragalot/hyperion.ng",
],
},
{
"matchDatasources": [
"docker"
],
"matchPackageNames": [
"quay.io/helmpack/chart-releaser",
"jnorwood/helm-docs",
"quay.io/git-chglog/git-chglog"
],
"automerge": false,
"matchUpdateTypes": ["major", "minor", "patch", "digest", "pin"],
"labels": ["renovate/image", "ci"],
},
]
}