Compare commits

..

2 Commits

Author SHA1 Message Date
Morten Olsen
7319cf932b Fix renovate configuration 2025-09-13 12:14:36 +02:00
Morten Olsen
933b65b3dd checkpoint 2025-09-13 12:13:16 +02:00
3 changed files with 31 additions and 39 deletions

15
.github/workflows/renovate.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
name: Renovate
on:
workflow_dispatch:
schedule:
- cron: '0 */6 * * *'
jobs:
renovate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Self-hosted Renovate
uses: renovatebot/github-action@v40.2.2
with:
token: ${{ secrets.RENOVATE_TOKEN }}

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
/secret.*.yaml /secret.*.yaml
/data/ /data/
/.envrc
*.DS_Store *.DS_Store

View File

@@ -1,50 +1,26 @@
// .github/renovate.json5 (or renovate.json)
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"autodiscover": false, "extends": [
"config:base"
],
"packageRules": [ "packageRules": [
{ {
"matchDatasources": ["docker"], "matchDatasources": ["docker"],
"extractVersion": "^(?<version>.*)$", "pinDigests": true
"versioning": "semver", }
"groupName": "All Docker Images",
"pinDigests": true,
},
], ],
"helm": { "helm-values": {
"fileMatch": ["charts/**/values.yaml"], "fileMatch": ["^charts/.*/values\\.yaml$"]
// You generally don't need to list public registries here.
// Only add specific entries for *private* registries that require explicit authentication.
// Renovate is smart enough to infer common public ones.
"registryUrls": {
// "my.private.registry.com": "https://my.private.registry.com/v2/" // Example for a private registry
}
}, },
"regexManagers": [ "regexManagers": [
{ {
"fileMatch": ["(^|/)charts/.*values\\.yaml$"], "fileMatch": ["^charts/.*/values\\.yaml$"],
"matchStrings": [ "matchStrings": [
// Primary image: "repository:\s*'(?<depName>.*?)'\n\s*tag:\s*'(?<currentValue>.*?)'",
// This regex tries to capture the full image name, including the registry if specified. "repository:\s*\"(?<depName>.*?)\"\n\s*tag:\s*\"(?<currentValue>.*?)\"",
// It's designed to be flexible. "repository:\s*(?<depName>.*?)\n\s*tag:\s*(?<currentValue>.*)"
"repository:\\s*(?<depName>.*?)\\n\\s*tag:\\s*(?<currentValue>.*?)\\n",
// Nested images (e.g., piper.image, whisper.image):
// This regex accounts for a preceding key and potential 'image:' sub-key.
"^(?!\\s*#)[^\\s]*?:(?:\\n\\s*image:)?\\n\\s*repository:\\s*(?<depName>.*?)\\n\\s*tag:\\s*(?<currentValue>.*?)\\n"
], ],
"datasourceTemplate": "docker", "datasourceTemplate": "docker"
// Important: Add a "depNameTemplate" to ensure capture group 1 (depName) is used
// which should contain the full path including registry
"depNameTemplate": "{{depName}}"
} }
], ]
// ... rest of your configuration
"ignorePaths": ["**/node_modules/**", "**/vendor/**"],
"timezone": "Europe/Oslo",
"schedule": ["at any time"],
"commitMessageTopic": "{{depName}} Docker image",
"prConcurrentLimit": 5,
"dependencyDashboard": true,
"dependencyDashboardAutoclose": true
} }