diff --git a/.forgejo/workflows/renovate.json5 b/.forgejo/workflows/renovate.json5 new file mode 100644 index 0000000..b8de5ae --- /dev/null +++ b/.forgejo/workflows/renovate.json5 @@ -0,0 +1,160 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "platform": "gitea", + "repositories": ["jahanson/valinor"], + "flux": { + "fileMatch": ["kubernetes/.+\\.ya?ml$"] + }, + "helm-values": { + "fileMatch": ["kubernetes/.+\\.ya?ml$"] + }, + "kubernetes": { + "fileMatch": ["kubernetes/.+\\.ya?ml$"] + }, + "regexManagers": [ + { + "description": ["Process CRD dependencies - Chart and Github Release are the same version"], + "fileMatch": ["kubernetes/.+\\.ya?ml$"], + "matchStrings": [ + "# renovate: registryUrl=(?\\S+) chart=(?\\S+)\n.*?(?[^-\\s]*)\n", + ], + "datasourceTemplate": "helm" + }, + { + "description": ["Generic Docker image Regex manager"], + "fileMatch": [ + "infrastructure/.+\\.ya?ml$", + "infrastructure/.+\\.tf$" + ], + "matchStrings": [ + "# renovate: docker-image( versioning=(?.*=?))?\n .*[:|=] \"?(?.*?):(?[^\"\n]*=?)\"?", + ], + "datasourceTemplate": "docker", + "versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}" + }, + { + "description": ["Raw GitHub URL Regex manager"], + "fileMatch": [ + "infrastructure/.+\\.ya?ml$", + "kubernetes/.+\\.ya?ml$" + ], + "matchStrings": [ + "https:\\/\\/raw.githubusercontent.com\\/(?[\\w\\d\\-_]+\\/[\\w\\d\\-_]+)\\/(?[\\w\\d\\.\\-_]+)\\/.*", + ], + "datasourceTemplate": "github-releases", + "versioningTemplate": "semver" + } + ], + "packageRules": [ + { + "description": "Use custom versioning for Vector", + "matchDatasources": ["docker"], + "matchPackageNames": ["docker.io/timberio/vector"], + "versioning": "regex:^(?\\d+)\\.(?\\d+)\\.(?\\d+)-(?.*)$" + }, + { + "description": "Use custom versioning for Minio", + "matchDatasources": ["docker"], + "versioning": "regex:^RELEASE\\.(?\\d+)-(?\\d+)-(?\\d+)T.*Z(-(?.*))?$", + "matchPackageNames": ["quay.io/minio/minio"] + }, + { + "description": "Flux Group", + "groupName": "Flux", + "matchPackagePatterns": ["^flux", "^ghcr.io/fluxcd/"], + "matchDatasources": ["docker", "github-tags"], + "versioning": "semver", + "group": { + "commitMessageTopic": "{{{groupName}}} group", + }, + "separateMinorPatch": true, + }, + { + "description": "Mastodon images", + "groupName": "Mastodon", + "matchPackagePatterns": ["mastodon", "^ghcr.io/mastodon/"], + "matchDatasources": ["docker", "github-tags"], + "versioning": "semver", + "group": { + "commitMessageTopic": "{{{groupName}}} group", + }, + "separateMinorPatch": true, + }, + { + "description": "1Password Connect images", + "groupName": "1password-connect", + "matchPackageNames": [ + "docker.io/1password/connect-sync", + "docker.io/1password/connect-api", + ], + "matchDatasources": ["docker"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": true, + }, + { + "description": "Rook-Ceph image and chart", + "groupName": "Rook Ceph", + "matchPackagePatterns": ["rook.ceph"], + "matchDatasources": ["docker", "helm"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": true, + }, + { + "description": "Cilium image and chart", + "groupName": "cilium", + "matchPackageNames": [ + "quay.io/cilium/cilium", + "quay.io/cilium/operator-generic", + "cilium", + ], + "matchDatasources": ["helm", "docker"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": true, + }, + { + "description": "External Snapshotter charts", + "groupName": "External Snapshotter", + "matchPackageNames": [ + "snapshot-controller", + "snapshot-validation-webhook" + ], + "matchDatasources": ["helm"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": true + }, + { + "description": "Thanos image and chart - versions do not match", + "groupName": "Thanos", + "matchPackagePatterns": [ + "quay.io/thanos/thanos", + "thanos" + ], + "matchDatasources": ["docker", "github-releases", "helm"], + "matchUpdateTypes": ["minor", "patch"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": false, + }, + { + "description": "Vector image and chart - versions do not match", + "groupName": "Vector", + "matchPackagePatterns": ["vector"], + "matchDatasources": ["docker", "github-releases", "helm"], + "matchUpdateTypes": ["minor", "patch"], + "group": { + "commitMessageTopic": "{{{groupName}}} group" + }, + "separateMinorPatch": false, + }, + // Version strategies + ] + } \ No newline at end of file