mirror of
https://github.com/auricom/home-cluster.git
synced 2025-09-17 18:24:14 +02:00
👷 update renovate config
This commit is contained in:
79
.github/renovate.json5
vendored
79
.github/renovate.json5
vendored
@@ -1,29 +1,29 @@
|
|||||||
{
|
{
|
||||||
"extends": [
|
"extends": [
|
||||||
"config:base",
|
"config:recommended",
|
||||||
"docker:enableMajor",
|
"docker:enableMajor",
|
||||||
":disableRateLimiting",
|
":disableRateLimiting",
|
||||||
":dependencyDashboard",
|
":dependencyDashboard",
|
||||||
":semanticCommits",
|
":semanticCommits",
|
||||||
":enablePreCommit",
|
":automergeDigest",
|
||||||
|
":automergeBranch",
|
||||||
"github>auricom/home-ops//.github/renovate/allowedVersions.json5",
|
"github>auricom/home-ops//.github/renovate/allowedVersions.json5",
|
||||||
"github>auricom/home-ops//.github/renovate/autoMerge.json5",
|
"github>auricom/home-ops//.github/renovate/autoMerge.json5",
|
||||||
"github>auricom/home-ops//.github/renovate/commitMessage.json5",
|
"github>auricom/home-ops//.github/renovate/commitMessage.json5",
|
||||||
|
"github>auricom/home-ops//.github/renovate/customDatasources.json5",
|
||||||
|
"github>auricom/home-ops//.github/renovate/customManagers.json5",
|
||||||
"github>auricom/home-ops//.github/renovate/groups.json5",
|
"github>auricom/home-ops//.github/renovate/groups.json5",
|
||||||
"github>auricom/home-ops//.github/renovate/labels.json5"
|
"github>auricom/home-ops//.github/renovate/labels.json5",
|
||||||
|
"github>auricom/home-ops//.github/renovate/packageRules.json5",
|
||||||
|
"helpers:pinGitHubActionDigests"
|
||||||
],
|
],
|
||||||
"platform": "github",
|
"platform": "github",
|
||||||
"username": "feisar-bot[bot]",
|
"platformCommit": true,
|
||||||
"repositories": ["auricom/home-ops"],
|
|
||||||
"assignees": ["auricom"],
|
|
||||||
"onboarding": false,
|
"onboarding": false,
|
||||||
"requireConfig": "optional",
|
"requireConfig": "optional",
|
||||||
"gitAuthor": "feisar-bot <feisar-bot[bot]@users.noreply.github.com>",
|
|
||||||
"dependencyDashboardTitle": "Renovate Dashboard 🤖",
|
"dependencyDashboardTitle": "Renovate Dashboard 🤖",
|
||||||
"suppressNotifications": ["prIgnoreNotification"],
|
"suppressNotifications": ["prIgnoreNotification"],
|
||||||
"rebaseWhen": "conflicted",
|
"ignorePaths": ["**/archive/**"],
|
||||||
"commitBodyTable": true,
|
|
||||||
"commitMessagePrefix": "⬆️",
|
|
||||||
"flux": {
|
"flux": {
|
||||||
"fileMatch": ["(^|/)kubernetes/.+\\.ya?ml(\\.j2)?$"]
|
"fileMatch": ["(^|/)kubernetes/.+\\.ya?ml(\\.j2)?$"]
|
||||||
},
|
},
|
||||||
@@ -36,62 +36,5 @@
|
|||||||
"(^|/)ansible/.+\\.ya?ml(\\.j2)?$",
|
"(^|/)ansible/.+\\.ya?ml(\\.j2)?$",
|
||||||
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?$"
|
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?$"
|
||||||
]
|
]
|
||||||
},
|
}
|
||||||
"regexManagers": [
|
|
||||||
{
|
|
||||||
"description": "Process custom dependencies",
|
|
||||||
"fileMatch": [
|
|
||||||
"(^|/)ansible/.+\\.ya?ml(\\.j2)?$",
|
|
||||||
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?$"
|
|
||||||
],
|
|
||||||
"matchStrings": [
|
|
||||||
// Example: `k3s_release_version: "v1.27.3+k3s1"`
|
|
||||||
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( versioning=(?<versioning>\\S+))?\n.*?\"(?<currentValue>.*)\"\n",
|
|
||||||
// Example: `- https://github.com/rancher/system-upgrade-controller/releases/download/v0.11.0/crd.yaml`
|
|
||||||
// `- https://github.com/argoproj/argo-cd/raw/v2.7.10/manifests/install.yaml`
|
|
||||||
// `- https://github.com/argoproj/argo-cd/raw/v2.7.10/manifests/ha/install.yaml`
|
|
||||||
// `- https://raw.githubusercontent.com/keycloak/keycloak-k8s-resources/21.1.1/kubernetes/kubernetes.yml`
|
|
||||||
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( versioning=(?<versioning>\\S+))?\n.*?-\\s(.*?)\/(?<currentValue>(v|\\d)[^/]+)\/\\S+\n",
|
|
||||||
// Example: apiVersion=helm.cattle.io/v1 kind=HelmChart
|
|
||||||
"datasource=(?<datasource>\\S+)\n.*?repo: (?<registryUrl>\\S+)\n.*?chart: (?<depName>\\S+)\n.*?version: (?<currentValue>\\S+)\n"
|
|
||||||
],
|
|
||||||
"datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}",
|
|
||||||
"versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Process CloudnativePG Postgresql version",
|
|
||||||
"fileMatch": [
|
|
||||||
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?$"
|
|
||||||
],
|
|
||||||
"matchStrings": [
|
|
||||||
"imageName: (?<depName>\\S+):(?<currentValue>.*\\-.*)"
|
|
||||||
],
|
|
||||||
"datasourceTemplate": "docker",
|
|
||||||
"versioningTemplate": "redhat"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
||||||
"packageRules": [
|
|
||||||
// setup datasources
|
|
||||||
{
|
|
||||||
"matchDatasources": ["helm"],
|
|
||||||
"ignoreDeprecated": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"matchDatasources": ["docker"],
|
|
||||||
"matchUpdateTypes": ["major", "minor", "patch"],
|
|
||||||
"commitMessageExtra": "to {{newVersion}}"
|
|
||||||
},
|
|
||||||
// custom versioning
|
|
||||||
{
|
|
||||||
"matchDatasources": ["docker"],
|
|
||||||
"versioning": "loose",
|
|
||||||
"matchPackagePatterns": ["changedetection", "qbittorrent"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"matchDatasources": ["docker"],
|
|
||||||
"matchPackageNames": ["ghcr.io/linuxserver/calibre"],
|
|
||||||
"versioning": "regex:^version-v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
6
.github/renovate/commitMessage.json5
vendored
6
.github/renovate/commitMessage.json5
vendored
@@ -2,6 +2,7 @@
|
|||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
"commitMessageTopic": "{{depName}}",
|
"commitMessageTopic": "{{depName}}",
|
||||||
"commitMessageExtra": "to {{newVersion}}",
|
"commitMessageExtra": "to {{newVersion}}",
|
||||||
|
"commitMessagePrefix": "⬆️",
|
||||||
"commitMessageSuffix": "",
|
"commitMessageSuffix": "",
|
||||||
"packageRules": [
|
"packageRules": [
|
||||||
{
|
{
|
||||||
@@ -11,6 +12,11 @@
|
|||||||
{
|
{
|
||||||
"matchDatasources": ["docker"],
|
"matchDatasources": ["docker"],
|
||||||
"commitMessageTopic": "image {{depName}}"
|
"commitMessageTopic": "image {{depName}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchDatasources": ["custom.grafana-dashboards"],
|
||||||
|
"commitMessageTopic": "dashboard {{depName}}",
|
||||||
|
"commitMessageExtra": "to revision {{newVersion}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
12
.github/renovate/customDatasources.json5
vendored
Normal file
12
.github/renovate/customDatasources.json5
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"customDatasources": {
|
||||||
|
"grafana-dashboards": {
|
||||||
|
"defaultRegistryUrlTemplate": "https://grafana.com/api/dashboards/{{packageName}}",
|
||||||
|
"format": "json",
|
||||||
|
"transformTemplates": [
|
||||||
|
"{\"releases\":[{\"version\": $string(revision)}]}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
50
.github/renovate/customManagers.json5
vendored
Normal file
50
.github/renovate/customManagers.json5
vendored
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"customManagers": [
|
||||||
|
{
|
||||||
|
"customType": "regex",
|
||||||
|
"description": "Process custom dependencies",
|
||||||
|
"fileMatch": [
|
||||||
|
"(^|/)ansible/.+\\.ya?ml(\\.j2)?$",
|
||||||
|
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?$"
|
||||||
|
],
|
||||||
|
"matchStrings": [
|
||||||
|
// Example: `k3s_release_version: "v1.27.3+k3s1"`
|
||||||
|
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( versioning=(?<versioning>\\S+))?\n.*?\"(?<currentValue>.*)\"\n",
|
||||||
|
// Example: `- https://github.com/rancher/system-upgrade-controller/releases/download/v0.11.0/crd.yaml`
|
||||||
|
// `- https://github.com/argoproj/argo-cd/raw/v2.7.10/manifests/install.yaml`
|
||||||
|
// `- https://github.com/argoproj/argo-cd/raw/v2.7.10/manifests/ha/install.yaml`
|
||||||
|
// `- https://raw.githubusercontent.com/keycloak/keycloak-k8s-resources/21.1.1/kubernetes/kubernetes.yml`
|
||||||
|
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( versioning=(?<versioning>\\S+))?\n.*?-\\s(.*?)\/(?<currentValue>(v|\\d)[^/]+)\/\\S+\n",
|
||||||
|
// Example: apiVersion=helm.cattle.io/v1 kind=HelmChart
|
||||||
|
"datasource=(?<datasource>\\S+)\n.*?repo: (?<registryUrl>\\S+)\n.*?chart: (?<depName>\\S+)\n.*?version: (?<currentValue>\\S+)\n"
|
||||||
|
],
|
||||||
|
"datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}",
|
||||||
|
"versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"customType": "regex",
|
||||||
|
"description": "Process CloudnativePG Postgresql version",
|
||||||
|
"fileMatch": [
|
||||||
|
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?$"
|
||||||
|
],
|
||||||
|
"matchStrings": [
|
||||||
|
"imageName: (?<depName>\\S+):(?<currentValue>.*\\-.*)"
|
||||||
|
],
|
||||||
|
"datasourceTemplate": "docker",
|
||||||
|
"versioningTemplate": "redhat"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"customType": "regex",
|
||||||
|
"description": "Process Grafana dashboards",
|
||||||
|
"fileMatch": [
|
||||||
|
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?$"
|
||||||
|
],
|
||||||
|
"matchStrings": [
|
||||||
|
"depName=\"(?<depName>.*)\"\\n\\s+gnetId:\\s+(?<packageName>.*?)\\n\\s+revision:\\s+(?<currentValue>.*)"
|
||||||
|
],
|
||||||
|
"datasourceTemplate": "custom.grafana-dashboards",
|
||||||
|
"versioningTemplate": "regex:^(?<major>\\d+)$"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
16
.github/renovate/packageRules.json5
vendored
Normal file
16
.github/renovate/packageRules.json5
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"packageRules": [
|
||||||
|
{
|
||||||
|
"description": "Loose versioning for non-semver packages",
|
||||||
|
"matchDatasources": ["docker"],
|
||||||
|
"versioning": "loose",
|
||||||
|
"matchPackagePatterns": ["qbittorrent"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchDatasources": ["docker"],
|
||||||
|
"matchPackageNames": ["ghcr.io/linuxserver/calibre"],
|
||||||
|
"versioning": "regex:^version-v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
42
.github/workflows/renovate.yaml
vendored
42
.github/workflows/renovate.yaml
vendored
@@ -1,50 +1,60 @@
|
|||||||
|
---
|
||||||
name: "Renovate"
|
name: "Renovate"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
dryRun:
|
dryRun:
|
||||||
description: "Dry-Run"
|
description: Dry Run
|
||||||
default: "false"
|
default: "false"
|
||||||
required: false
|
required: false
|
||||||
logLevel:
|
logLevel:
|
||||||
description: "Log-Level"
|
description: Log Level
|
||||||
default: "debug"
|
default: debug
|
||||||
required: false
|
required: false
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 * * * *"
|
- cron: "0 * * * *"
|
||||||
push:
|
push:
|
||||||
branches: ["main"]
|
branches: ["main"]
|
||||||
paths:
|
paths:
|
||||||
- ".github/renovate.json5"
|
- .github/renovate.json5
|
||||||
- ".github/renovate/**.json5"
|
- .github/renovate/**.json5
|
||||||
|
|
||||||
|
# Retrieve BOT_USER_ID via `curl -s "https://api.github.com/users/${BOT_USERNAME}%5Bbot%5D" | jq .id`
|
||||||
env:
|
env:
|
||||||
|
DRY_RUN: false
|
||||||
LOG_LEVEL: debug
|
LOG_LEVEL: debug
|
||||||
RENOVATE_DRY_RUN: false
|
RENOVATE_ONBOARDING_CONFIG_FILE_NAME: .github/renovate.json5
|
||||||
RENOVATE_CONFIG_FILE: .github/renovate.json5
|
RENOVATE_AUTODISCOVER: true
|
||||||
|
RENOVATE_AUTODISCOVER_FILTER: "${{ github.repository }}"
|
||||||
|
RENOVATE_USERNAME: "${{ secrets.BOT_USERNAME }}[bot]"
|
||||||
|
RENOVATE_GIT_AUTHOR: "${{ secrets.BOT_USERNAME }} <${{ secrets.BOT_USER_ID }}+${{ secrets.BOT_USERNAME }}[bot]@users.noreply.github.com>"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
renovate:
|
renovate:
|
||||||
name: Renovate
|
name: Renovate
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Generate Token
|
||||||
|
uses: actions/create-github-app-token@e995b4e40ace2eb5bf13137d9abe242c98f3aab6 # v1.6.0
|
||||||
|
id: app-token
|
||||||
|
with:
|
||||||
|
app-id: "${{ secrets.BOT_APP_ID }}"
|
||||||
|
private-key: "${{ secrets.BOT_APP_PRIVATE_KEY }}"
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
|
||||||
- name: Generate Token
|
|
||||||
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0
|
|
||||||
id: generate-token
|
|
||||||
with:
|
with:
|
||||||
app_id: "${{ secrets.BOT_APP_ID }}"
|
token: "${{ steps.app-token.outputs.token }}"
|
||||||
private_key: "${{ secrets.BOT_APP_PRIVATE_KEY }}"
|
|
||||||
|
|
||||||
- name: Override default config from dispatch variables
|
- name: Override default config from dispatch variables
|
||||||
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
echo "RENOVATE_DRY_RUN=${{ github.event.inputs.dryRun || env.RENOVATE_DRY_RUN }}" >> "${GITHUB_ENV}"
|
echo "RENOVATE_DRY_RUN=${{ github.event.inputs.dryRun || env.DRY_RUN }}" >> "${GITHUB_ENV}"
|
||||||
echo "LOG_LEVEL=${{ github.event.inputs.logLevel || env.LOG_LEVEL }}" >> "${GITHUB_ENV}"
|
echo "LOG_LEVEL=${{ github.event.inputs.logLevel || env.LOG_LEVEL }}" >> "${GITHUB_ENV}"
|
||||||
|
|
||||||
- name: Renovate
|
- name: Renovate
|
||||||
uses: renovatebot/github-action@5d3fbef92a76cbf78f5732d17c07a2e76e6f7555 # v39.1.4
|
uses: renovatebot/github-action@5d3fbef92a76cbf78f5732d17c07a2e76e6f7555 # v39.1.4
|
||||||
with:
|
with:
|
||||||
configurationFile: "${{ env.RENOVATE_CONFIG_FILE }}"
|
configurationFile: "${{ env.RENOVATE_ONBOARDING_CONFIG_FILE_NAME }}"
|
||||||
token: "${{ steps.generate-token.outputs.token }}"
|
token: "${{ steps.app-token.outputs.token }}"
|
||||||
|
Reference in New Issue
Block a user