From d766c6ae21c2afdbc44a33d4f0cdea173f7120e9 Mon Sep 17 00:00:00 2001 From: Joseph Hanson Date: Thu, 5 Sep 2024 18:08:01 -0500 Subject: [PATCH] adding quite a few config options for renovate --- .renovate/commitMessage.json5 | 16 +++++++++++++ .renovate/customManagers.json5 | 30 ------------------------ .renovate/grafanaDashboards.json5 | 38 +++++++++++++++++++++++++++++++ .renovate/labels.json5 | 37 ++++++++++++++++++++++++++++++ .renovate/packageRules.json5 | 2 +- renovate.json5 | 9 +++++--- 6 files changed, 98 insertions(+), 34 deletions(-) create mode 100644 .renovate/commitMessage.json5 create mode 100644 .renovate/grafanaDashboards.json5 create mode 100644 .renovate/labels.json5 diff --git a/.renovate/commitMessage.json5 b/.renovate/commitMessage.json5 new file mode 100644 index 0000000..3fea628 --- /dev/null +++ b/.renovate/commitMessage.json5 @@ -0,0 +1,16 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "commitMessageTopic": "{{depName}}", + "commitMessageExtra": "to {{newVersion}}", + "commitMessageSuffix": "", + "packageRules": [ + { + "matchDatasources": ["helm"], + "commitMessageTopic": "chart {{depName}}" + }, + { + "matchDatasources": ["docker"], + "commitMessageTopic": "image {{depName}}" + } + ] +} diff --git a/.renovate/customManagers.json5 b/.renovate/customManagers.json5 index dcaeea4..ba205e2 100644 --- a/.renovate/customManagers.json5 +++ b/.renovate/customManagers.json5 @@ -1,25 +1,6 @@ { "$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)}]}" - ] - } - }, "customManagers": [ - { - "customType": "regex", - "description": "Process Grafana dashboards", - "fileMatch": ["(^|/)kubernetes/.+\\.ya?ml(\\.j2)?$"], - "matchStrings": [ - "depName=\"(?\\S+)\"\\n.*?gnetId: (?\\d+)\\n.*?revision: (?\\d+)" - ], - "datasourceTemplate": "custom.grafana-dashboards", - "versioningTemplate": "regex:^(?\\d+)$" - }, { "customType": "regex", "description": ["Process custom dependencies"], @@ -34,16 +15,5 @@ ], "datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}" } - ], - "packageRules": [ - { - "addLabels": ["renovate/grafana-dashboard"], - "commitMessageExtra": "to revision {{newVersion}}", - "commitMessageTopic": "dashboard {{depName}}", - "matchDatasources": ["grafana-dashboards", "custom.grafana-dashboards"], - "matchUpdateTypes": ["major"], - "semanticCommitScope": "grafana-dashboards", - "semanticCommitType": "chore" - } ] } diff --git a/.renovate/grafanaDashboards.json5 b/.renovate/grafanaDashboards.json5 new file mode 100644 index 0000000..9977251 --- /dev/null +++ b/.renovate/grafanaDashboards.json5 @@ -0,0 +1,38 @@ +{ + "$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)}]}" + ] + } + }, + "customManagers": [ + { + "customType": "regex", + "description": ["Process Grafana dashboards"], + "fileMatch": ["(^|/)kubernetes/.+\\.ya?ml(?:\\.j2)?$"], + "matchStrings": [ + "depName=\"(?.*)\"\\n(?\\s+)gnetId: (?\\d+)\\n.+revision: (?\\d+)" + ], + "autoReplaceStringTemplate": "depName=\"{{{depName}}}\"\n{{{indentation}}}gnetId: {{{packageName}}}\n{{{indentation}}}revision: {{{newValue}}}", + "datasourceTemplate": "custom.grafana-dashboards", + "versioningTemplate": "regex:^(?\\d+)$" + } + ], + "packageRules": [ + { + "addLabels": ["renovate/grafana-dashboard"], + "automerge": true, + "automergeType": "branch", + "matchDatasources": ["custom.grafana-dashboards"], + "matchUpdateTypes": ["major"], + "semanticCommitType": "chore", + "semanticCommitScope": "grafana-dashboards", + "commitMessageTopic": "dashboard {{depName}}", + "commitMessageExtra": "( {{currentVersion}} → {{newVersion}} )" + } + ] +} diff --git a/.renovate/labels.json5 b/.renovate/labels.json5 new file mode 100644 index 0000000..641ea6e --- /dev/null +++ b/.renovate/labels.json5 @@ -0,0 +1,37 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "packageRules": [ + { + "matchUpdateTypes": ["major"], + "labels": ["type/major"] + }, + { + "matchUpdateTypes": ["minor"], + "labels": ["type/minor"] + }, + { + "matchUpdateTypes": ["patch"], + "labels": ["type/patch"] + }, + { + "matchUpdateTypes": ["digest"], + "labels": ["type/digest"] + }, + { + "matchDatasources": ["docker"], + "addLabels": ["renovate/container"] + }, + { + "matchDatasources": ["helm"], + "addLabels": ["renovate/helm"] + }, + { + "matchDatasources": ["github-releases", "github-tags"], + "addLabels": ["renovate/github-release"] + }, + { + "matchManagers": ["github-actions"], + "addLabels": ["renovate/github-action"] + } + ] +} diff --git a/.renovate/packageRules.json5 b/.renovate/packageRules.json5 index cbca1c4..741ac10 100644 --- a/.renovate/packageRules.json5 +++ b/.renovate/packageRules.json5 @@ -10,7 +10,7 @@ { "description": ["Custom schedule for frequently updated packages"], "matchDataSources": ["docker", "helm"], - "matchPackagePatterns": ["reloader"], + "matchPackagePatterns": ["minio", "reloader"], "schedule": ["on the first day of the month"] }, { diff --git a/renovate.json5 b/renovate.json5 index 687ffb3..ea9bf40 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -2,10 +2,13 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:recommended", - "local>jahanson/theshire//.renovate/customManagers.json5", "local>jahanson/theshire//.renovate/autoMerge.json5", - "local>jahanson/theshire//.renovate/packageRules.json5", - "local>jahanson/theshire//.renovate/groups.json5" + "local>jahanson/theshire//.renovate/commitMessage.json5", + "local>jahanson/theshire//.renovate/customManagers.json5", + "local>jahanson/theshire//.renovate/grafanaDashboards.json5", + "local>jahanson/theshire//.renovate/groups.json5", + "local>jahanson/theshire//.renovate/labels.json5", + "local>jahanson/theshire//.renovate/packageRules.json5" ], "ignorePaths": ["**/*.sops.*", "**/.archive/**", "**/resources/**"], "flux": {