{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "registryAliases": { "harbor.okwilkins.dev/docker-hub-cache": "index.docker.io", "harbor.okwilkins.dev/ghcr-cache": "ghcr.io" }, "dependencyDashboard": true, "automerge": false, "prHourlyLimit": 0, "prConcurrentLimit": 0, "argocd": { "managerFilePatterns": [ "/ci-cd/argocd/.*/.*\\.ya?ml$/" ] }, "kubernetes": { "managerFilePatterns": [ "/.*\\.yaml$/", "/.*\\.yml$/" ], "ignorePaths": [ "infrastructure/", "**/docker-compose*.yaml" ] }, "terraform": {}, "nix": { "enabled": true }, "lockFileMaintenance": { "enabled": true }, "customManagers": [ { "customType": "regex", "description": "Update Kustomize remote resource URLs", "managerFilePatterns": [ "/.*/kustomization\\.yaml$/" ], "matchStrings": [ "-\\s+https://raw\\.githubusercontent\\.com/(?[^/]+/[^/]+)/(?:refs/tags/)?(?v?\\d[^/]*)/.*" ], "datasourceTemplate": "github-tags", "versioningTemplate": "semver" }, { "customType": "regex", "description": "Update CloudNativePG PostgreSQL and pgvector images", "managerFilePatterns": [ "/storage/cloudnative-pg/.*\\.yaml$/" ], "matchStrings": [ "imageName:\\s+(?[^\\s:]+):(?[^\\s@]+)(?:@(?sha256:[a-f0-9]{64}))?", "reference:\\s+(?ghcr\\.io/cloudnative-pg/pgvector):(?\\d+\\.\\d+\\.\\d+-18-trixie)(?:@(?sha256:[a-f0-9]{64}))?" ], "depTypeTemplate": "image", "datasourceTemplate": "docker", "versioningTemplate": "docker" }, { "customType": "regex", "description": "Update CloudNativePG pgvector extension versions", "managerFilePatterns": [ "/^storage/cloudnative-pg/.*/database\\.yaml$/" ], "matchStrings": [ "# renovate: pgvector=18-trixie\\r?\\n(?[ \\t]*)version: \\\"(?\\d+\\.\\d+\\.\\d+)\\\"" ], "depNameTemplate": "ghcr.io/cloudnative-pg/pgvector", "depTypeTemplate": "extension", "datasourceTemplate": "docker", "versioningTemplate": "docker", "currentValueTemplate": "{{{extensionVersion}}}-18-trixie", "autoReplaceStringTemplate": "# renovate: pgvector=18-trixie\n{{{indentation}}}version: \"{{{lookup (split newValue '-') 0}}}\"" }, { "customType": "regex", "description": "Update the Talos-managed CoreDNS image", "managerFilePatterns": [ "/^infrastructure/03-talos-configure/main\\.tf$/" ], "matchStrings": [ "image\\s*=\\s*\"(?docker\\.io/coredns/coredns):(?[^\\s\"@]+)(?:@(?sha256:[a-f0-9]{64}))?\"" ], "datasourceTemplate": "docker", "versioningTemplate": "docker" }, { "customType": "regex", "description": "Update stable nixpkgs channels in the Buildah image", "managerFilePatterns": [ "/^images/image-buildah/flake\\.nix$/" ], "matchStrings": [ "nixpkgs\\.url\\s*=\\s*\"github:NixOS/nixpkgs/(?nixos-\\d{2}\\.\\d{2})\"" ], "depNameTemplate": "nixpkgs", "packageNameTemplate": "https://github.com/NixOS/nixpkgs", "datasourceTemplate": "git-refs", "versioningTemplate": "nixpkgs" }, { "customType": "regex", "description": "Update the Grafana operand version", "managerFilePatterns": [ "/^observability/grafana/environments/prod/grafana\\.yaml$/" ], "matchStrings": [ "(?:^|\\r?\\n) version:\\s*[\"']?(?[^\\s\"']+)" ], "depNameTemplate": "docker.io/grafana/grafana", "datasourceTemplate": "docker", "versioningTemplate": "docker" }, { "customType": "regex", "description": "Update the VictoriaLogs Grafana plugin", "managerFilePatterns": [ "/^observability/grafana/environments/prod/datasources/victorialogs-default\\.yaml$/" ], "matchStrings": [ "- name:\\s+victoriametrics-logs-datasource\\s+version:\\s*[\"']?(?[^\\s\"']+)" ], "depNameTemplate": "victoriametrics-logs-datasource", "packageNameTemplate": "VictoriaMetrics/victorialogs-datasource", "datasourceTemplate": "github-releases", "extractVersionTemplate": "^v(?.*)$", "versioningTemplate": "semver" } ], "packageRules": [ { "description": "Update the pgvector image and SQL extension together, retaining PostgreSQL 18 and Trixie compatibility", "matchPackageNames": [ "ghcr.io/cloudnative-pg/pgvector" ], "allowedVersions": "/^[0-9]+\\.[0-9]+\\.[0-9]+-18-trixie$/", "groupName": "CloudNativePG pgvector", "groupSlug": "cloudnativepg-pgvector" }, { "description": "Retain digest pins on the pgvector image, not the SQL extension version", "matchPackageNames": [ "ghcr.io/cloudnative-pg/pgvector" ], "matchDepTypes": [ "image" ], "pinDigests": true }, { "description": "Label major updates for manual review", "matchUpdateTypes": [ "major" ], "labels": [ "dependencies", "major-update" ] }, { "description": "Keep PostgreSQL images minimal with digest pins; review Debian migrations separately", "matchDatasources": [ "docker" ], "matchPackageNames": [ "ghcr.io/cloudnative-pg/postgresql" ], "allowedVersions": "/^[0-9]+\\.[0-9]+-minimal-[a-z]+$/", "pinDigests": true }, { "description": "Retain digest pins for the Talos-managed CoreDNS image", "matchDatasources": [ "docker" ], "matchPackageNames": [ "docker.io/coredns/coredns" ], "pinDigests": true }, { "description": "Require approval before proposing PostgreSQL major upgrades", "matchDatasources": [ "docker" ], "matchPackageNames": [ "ghcr.io/cloudnative-pg/postgresql" ], "matchUpdateTypes": [ "major" ], "dependencyDashboardApproval": true }, { "description": "Use regex channel updates while retaining native Nix lock maintenance", "matchManagers": [ "nix" ], "matchFileNames": [ "images/image-buildah/flake.nix" ], "matchPackageNames": [ "https://github.com/NixOS/nixpkgs" ], "matchUpdateTypes": [ "major", "minor", "patch" ], "enabled": false }, { "description": "Refresh the Buildah flake lock after a stable channel update", "matchManagers": [ "custom.regex" ], "matchFileNames": [ "images/image-buildah/flake.nix" ], "matchPackageNames": [ "https://github.com/NixOS/nixpkgs" ], "postUpgradeTasks": { "commands": [ "nix --extra-experimental-features 'nix-command flakes' flake update nixpkgs" ], "workingDirTemplate": "{{{packageFileDir}}}", "fileFilters": [ "images/image-buildah/flake.lock" ], "executionMode": "update", "installTools": { "nix": {} } } }, { "description": "Compare SearxNG release dates while ignoring the commit hash", "matchDatasources": [ "docker" ], "matchPackageNames": [ "index.docker.io/searxng/searxng" ], "versioning": "regex:^(?\\d{4})\\.(?\\d{1,2})\\.(?\\d{1,2})-[a-f0-9]+$", "minimumReleaseAge": "7 days" }, { "description": "Group native updates to the shared bootstrap providers and lock file", "matchManagers": [ "terraform" ], "matchDatasources": [ "terraform-provider" ], "matchFileNames": [ "infrastructure/shared/providers.tf" ], "groupName": "bootstrap Terraform providers", "groupSlug": "bootstrap-terraform-providers", "separateMajorMinor": false } ] }