{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "schedule:earlyMondays", "config:recommended", "abandonments:recommended", ":configMigration" ], "timezone": "America/Toronto", "kubernetes": { "managerFilePatterns": [ "/charts/.+\\.ya?ml$/", "/charts/.+\\.tpl$/" ] }, "customManagers": [ { "customType": "regex", "managerFilePatterns": [ "/charts/.+\\.ya?ml$/", "/charts/.+\\.tpl$/" ], "matchStrings": [ "repository:\\s*(?[^\\s]+)\\s*\\n\\s*tag:\\s*(?[^\\s@]+)(?:@(?sha256:[a-f0-9]+))?" ], "datasourceTemplate": "docker" }, { "customType": "regex", "managerFilePatterns": [ "/charts/services/templates/(?:.+/)?_tunnel\\.tpl$/" ], "matchStrings": [ "define \\\"tunnel\\.image\\.repository\\\" -\\}}(?[^\\s]+)\\{\\{- end -\\}}\\s*\\{\\{- define \\\"tunnel\\.image\\.tag\\\" -\\}}(?[^\\s]+)\\{\\{- end -\\}}" ], "datasourceTemplate": "docker" }, { "customType": "regex", "managerFilePatterns": [ "/charts/services/templates/(?:.+/)?postgresql\\.yaml$/" ], "matchStrings": [ "postgres_\\d+:\\s*\\n\\s*image:\\s*(?[^:]+):(?[^\\s]+)" ], "datasourceTemplate": "docker" }, { "customType": "regex", "managerFilePatterns": [ "/charts/.+\\.ya?ml$/", "/charts/.+\\.tpl$/" ], "matchStrings": [ "kind:\\s*HelmChart\\s*\\n(?:.*\\n)*?\\s*chart:\\s*(?.*?)\\s*\\n(?:.*\\n)*?\\s*repo:\\s*(?.*?)\\s*\\n(?:.*\\n)*?\\s*version:\\s*(?.*?)\\s*\\n", "kind:\\s*HelmChart\\s*\\n(?:.*\\n)*?\\s*repo:\\s*(?.*?)\\s*\\n(?:.*\\n)*?\\s*chart:\\s*(?.*?)\\s*\\n(?:.*\\n)*?\\s*version:\\s*(?.*?)\\s*\\n" ], "datasourceTemplate": "helm" }, { "customType": "regex", "managerFilePatterns": [ "/charts/.+\\.ya?ml$/", "/charts/.+\\.tpl$/" ], "matchStrings": [ "kind:\\s*HelmChart\\s*\\n(?:.*\\n)*?\\s*chart:\\s*oci://(?.*)/(?[^\\s]+)\\s*\\n(?:.*\\n)*?\\s*version:\\s*(?[^\\s]+)\\s*\\n" ], "datasourceTemplate": "docker", "registryUrlTemplate": "https://{{registryUrl}}", "versioningTemplate": "helm" }, { "customType": "regex", "managerFilePatterns": [ "/charts/.+\\.ya?ml$/", "/charts/.+\\.tpl$/" ], "matchStrings": [ "moduleName: [\"']github\\.com/(?[^/]+/[^/]+)[\"']\\s*\\n\\s*version: [\"'](?[^\"']+)[\"']" ], "datasourceTemplate": "github-releases" }, { "customType": "regex", "managerFilePatterns": [ "/prometheus\\.yaml$/" ], "matchStrings": [ "#\\s+renovate:\\s+depName=\"(?[^\"]+)\"\\n\\s+gnetId:\\s+(?\\d+)\\n\\s+revision:\\s+(?\\d+)" ], "packageNameTemplate": "{{{gnetId}}}", "versioningTemplate": "regex:^(?\\d+)$", "datasourceTemplate": "custom.grafana-dashboards" } ], "packageRules": [ { "matchPackageNames": [ "ghcr.io/arch-anes/crunchy-postgres" ], "versioning": "regex:^(?ubi9-(?\\d+))\\.(?\\d+)-(?\\d+)$" }, { "description": "Custom commit messages", "commitMessageExtra": "from {{currentVersion}} -> {{newVersion}} ([changelog]({{sourceUrl}}))", "matchDatasources": [ "helm", "docker", "github-releases" ] }, { "description": "Disable automerge for select packages", "automerge": false, "matchPackageNames": [ "crunchydata/pgo" ], "matchDatasources": [ "docker", "helm" ] }, { "description": "Helm release commit messages", "commitMessageTopic": "Helm release {{depName}}", "matchManagers": [ "custom.regex" ], "matchDatasources": [ "helm" ] }, { "description": "OCI Helm chart commit messages", "commitMessageTopic": "Helm release {{depName}}", "matchManagers": [ "custom.regex" ], "matchDatasources": [ "docker" ], "matchJsonata": [ "versioning = 'helm'" ] }, { "description": "Docker release commit messages", "commitMessageTopic": "Docker release {{depName}}", "matchManagers": [ "custom.regex" ], "matchDatasources": [ "docker" ], "matchJsonata": [ "versioning != 'helm'" ] }, { "description": "Grafana dashboard commit messages", "commitMessageTopic": "Grafana dashboard {{depName}}", "matchDatasources": [ "custom.grafana-dashboards" ], "matchFileNames": [ "charts/services/templates/prometheus.yaml" ] }, { "description": "Group Kubernetes Grafana dashboards together", "matchDatasources": [ "custom.grafana-dashboards" ], "matchDepNames": [ "Kubernetes Views *" ], "groupName": "Grafana dashboards Kubernetes Views" }, { "matchJsonata": [ "registryUrl = 'https://oci.trueforge.org'" ], "changelogUrl": "https://trueforge.org/truetech/truecharts/charts/stable/{{depName}}/changelog/" }, { "matchPackageNames": [ "**/tdarr*" ], "groupName": "tdarr", "sourceUrl": "https://github.com/HaveAGitGat/tdarr" }, { "matchPackageNames": [ "**/intel-device-plugins-*" ], "groupName": "intel-gpu", "sourceUrl": "https://github.com/intel/intel-device-plugins-for-kubernetes" }, { "matchPackageNames": [ "**/jellyfin" ], "sourceUrl": "https://github.com/jellyfin/jellyfin" }, { "description": "MinIO timestamp versioning", "matchPackageNames": [ "pgsty/silo" ], "versioning": "regex:^RELEASE\\.(?\\d{4})-(?\\d{2})-(?\\d{2})T\\d{2}-\\d{2}-\\d{2}Z$" }, { "matchPackageNames": [ "**/octoprint" ], "sourceUrl": "https://github.com/OctoPrint/octoprint" }, { "matchPackageNames": [ "**/transmission" ], "sourceUrl": "https://github.com/transmission/transmission" }, { "matchPackageNames": [ "lscr.io/linuxserver/transmission" ], "allowedVersions": "!/^202[0-9]\\./", "versioning": "semver" }, { "description": "Pin Odoo to the 19.0 rolling tag and only refresh its digest", "matchDatasources": [ "docker" ], "matchPackageNames": [ "public.ecr.aws/docker/library/odoo" ], "allowedVersions": "/^19\\.0$/", "pinDigests": true }, { "automerge": true, "automergeType": "pr", "automergeStrategy": "squash", "matchUpdateTypes": [ "patch" ], "matchDatasources": [ "helm", "docker", "github-releases" ] } ], "customDatasources": { "grafana-dashboards": { "defaultRegistryUrlTemplate": "https://grafana.com/api/dashboards/{{packageName}}", "format": "json", "transformTemplates": [ "{\"releases\":[{\"version\": $string(revision)}]}" ] } } }