talos-cluster/.renovaterc.json5

181 lines
5.4 KiB
Plaintext

{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: [
"config:recommended",
"docker:enableMajor",
"helpers:pinGitHubActionDigests",
":automergeBranch",
":dependencyDashboard",
":disableRateLimiting",
":semanticCommits",
],
dependencyDashboard: true,
dependencyDashboardTitle: "Renovate Dashboard :robot:",
schedule: ["every weekend"],
ignorePaths: ["**/*.sops.*"],
flux: {
managerFilePatterns: ["/(^|/)kubernetes/.+\\.ya?ml(?:\\.j2)?$/"],
},
helmfile: {
managerFilePatterns: [
"/(^|/)helmfile\\.ya?ml(?:\\.gotmpl)?(?:\\.j2)?$/",
"/(^|/)helmfile\\.d/.+\\.ya?ml(?:\\.gotmpl)?(?:\\.j2)?$/",
],
},
kubernetes: {
managerFilePatterns: ["/(^|/)kubernetes/.+\\.ya?ml(?:\\.j2)?$/"],
},
kustomize: {
managerFilePatterns: ["/^kustomization\\.ya?ml(?:\\.j2)?$/"],
},
packageRules: [
{
description: "Override Helmfile Dependency Name",
matchDatasources: ["docker"],
matchManagers: ["helmfile"],
overrideDepName: "{{packageName}}",
},
{
description: "Flux Operator Group",
groupName: "flux-operator",
matchDatasources: ["docker"],
matchPackageNames: ["/flux-operator/", "/flux-instance/", "/flux-operator-manifests/"],
group: {
commitMessageTopic: "{{{groupName}}} group",
},
minimumGroupSize: 3,
},
{
description: "Auto-merge GitHub Actions",
matchManagers: ["github-actions"],
automerge: true,
automergeType: "branch",
matchUpdateTypes: ["minor", "patch", "digest"],
minimumReleaseAge: "3 days",
ignoreTests: true,
},
{
description: "Auto-merge Mise Tools",
matchManagers: ["mise"],
automerge: true,
automergeType: "branch",
matchUpdateTypes: ["minor", "patch"],
ignoreTests: true,
},
{
matchUpdateTypes: ["major"],
semanticCommitType: "feat",
commitMessagePrefix: "{{semanticCommitType}}({{semanticCommitScope}})!:",
commitMessageExtra: "( {{currentVersion}} ➔ {{newVersion}} )",
},
{
matchUpdateTypes: ["minor"],
semanticCommitType: "feat",
commitMessageExtra: "( {{currentVersion}} ➔ {{newVersion}} )",
},
{
matchUpdateTypes: ["patch"],
semanticCommitType: "fix",
commitMessageExtra: "( {{currentVersion}} ➔ {{newVersion}} )",
},
{
matchUpdateTypes: ["digest"],
semanticCommitType: "chore",
commitMessageExtra: "( {{currentDigestShort}} ➔ {{newDigestShort}} )",
},
{
matchDatasources: ["docker"],
semanticCommitScope: "container",
commitMessageTopic: "image {{depName}}",
},
{
matchDatasources: ["helm"],
semanticCommitScope: "helm",
commitMessageTopic: "chart {{depName}}",
},
{
matchManagers: ["github-actions"],
semanticCommitType: "ci",
semanticCommitScope: "github-action",
commitMessageTopic: "action {{depName}}",
},
{
matchDatasources: ["github-releases"],
semanticCommitScope: "github-release",
commitMessageTopic: "release {{depName}}",
},
{
matchManagers: ["mise"],
semanticCommitScope: "mise",
commitMessageTopic: "tool {{depName}}",
},
{
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"],
},
{
matchManagers: ["github-actions"],
addLabels: ["renovate/github-action"],
},
{
matchDatasources: ["github-releases"],
addLabels: ["renovate/github-release"],
},
],
customManagers: [
{
description: "Process annotated dependencies",
customType: "regex",
managerFilePatterns: [
"/(^|/).+\\.env(?:\\.j2)?$/",
"/(^|/).+\\.sh(?:\\.j2)?$/",
"/(^|/).+\\.ya?ml(?:\\.j2)?$/",
],
matchStrings: [
// # renovate: datasource=github-releases depName=k3s-io/k3s
// k3s_release_version: &version v1.29.0+k3s1
// # renovate: datasource=helm depName=cilium repository=https://helm.cilium.io
// version: 1.15.1
// # renovate: datasource=docker depName=ghcr.io/siderolabs/kubelet
// KUBERNETES_VERSION=v1.31.1
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( repository=(?<registryUrl>\\S+))?\\n.+(:\\s|=)(&\\S+\\s)?(?<currentValue>\\S+)",
// # renovate: datasource=docker depName=ghcr.io/prometheus-operator/prometheus-operator
// https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.80.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)\\n.+/(?<currentValue>(v|\\d)[^/]+)",
],
datasourceTemplate: "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}",
},
{
customType: "regex",
description: "Process OCI dependencies",
managerFilePatterns: [
"/\\.yaml(?:\\.j2)?$/",
],
matchStrings: [
"oci://(?<depName>[^:]+):(?<currentValue>\\S+)",
],
datasourceTemplate: "docker",
},
],
}