Ctrl K
ComunidadGuías…

renovate.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:recommended",
    "helpers:pinGitHubActionDigests"
  ],
  "ignorePaths": [
    "ansible/tasks/docker-compose-up.yml",
    "kubernetes/apps/arca/chart/values.yaml",
    "kubernetes/apps/rfd-enrich/chart/values.yaml"
  ],
  "schedule": [
    "on the 1st day of the month"
  ],
  "customDatasources": {
    "kubernetes": {
      "defaultRegistryUrlTemplate": "https://api.github.com/repos/kubernetes/kubernetes/releases?per_page=100",
      "format": "json",
      "transformTemplates": [
        "{\"releases\": [$map($filter($, function($release) { $not($release.draft) and $not($release.prerelease) and $match($release.tag_name, /^v[0-9]+\\.[0-9]+\\.[0-9]+$/) }), function($release) { {\"version\": $substring($release.tag_name, 1), \"releaseTimestamp\": $release.published_at} })]}"
      ]
    },
    "talos": {
      "defaultRegistryUrlTemplate": "https://api.github.com/repos/siderolabs/talos/releases?per_page=100",
      "format": "json",
      "transformTemplates": [
        "{\"releases\": [$map($filter($, function($release) { $not($release.draft) and $not($release.prerelease) and $substring($release.tag_name, 0, $length($replace(\"{{{currentValue}}}\", /\\d+$/, \"\"))) = $replace(\"{{{currentValue}}}\", /\\d+$/, \"\") and $count($filter($release.assets, function($asset) { $asset.name = 'metal-amd64.iso' and $exists($asset.digest) })) > 0 }), function($release) { {\"version\": $release.tag_name, \"digest\": $substring($lookup($filter($release.assets, function($asset) { $asset.name = 'metal-amd64.iso' })[0], \"digest\"), 7), \"releaseTimestamp\": $release.published_at} })]}"
      ]
    }
  },
  "customManagers": [
    {
      "customType": "regex",
      "description": "Track stable Kubernetes releases for upgrade notifications",
      "managerFilePatterns": [
        "/^kubernetes/cluster/vars\\.yaml$/"
      ],
      "matchStrings": [
        "# renovate: datasource=custom\\.kubernetes depName=kubernetes/kubernetes versioning=semver\\n\\s*kubernetes_version: (?<currentValue>1\\.[0-9]+\\.[0-9]+)"
      ],
      "datasourceTemplate": "custom.kubernetes",
      "depNameTemplate": "kubernetes/kubernetes",
      "versioningTemplate": "semver"
    },
    {
      "customType": "regex",
      "description": "Keep the Talos patch version, ISO filename, and ISO checksum in sync",
      "managerFilePatterns": [
        "/^kubernetes/cluster/vars\\.yaml$/"
      ],
      "matchStrings": [
        "# renovate: datasource=custom\\.talos depName=siderolabs/talos versioning=semver\\n(?<indent>[ ]*)talos_version: (?<currentValue>v[0-9]+\\.[0-9]+\\.[0-9]+)\\n[ ]*talos_iso_filename: metal-amd64-v[0-9]+\\.[0-9]+\\.[0-9]+\\.iso\\n[ ]*talos_iso_sha256: (?<currentDigest>[a-f0-9]{64})"
      ],
      "autoReplaceStringTemplate": "# renovate: datasource=custom.talos depName=siderolabs/talos versioning=semver\\n{{{indent}}}talos_version: {{{newValue}}}\\n{{{indent}}}talos_iso_filename: metal-amd64-{{{newValue}}}.iso\\n{{{indent}}}talos_iso_sha256: {{{newDigest}}}",
      "datasourceTemplate": "custom.talos",
      "depNameTemplate": "siderolabs/talos",
      "versioningTemplate": "semver"
    },
    {
      "customType": "regex",
      "description": "Version pins annotated with a renovate: comment",
      "managerFilePatterns": [
        "/^ansible/group_vars/all/vars\\.yaml$/",
        "/^\\.github/workflows/[^/]+\\.yml$/"
      ],
      "matchStrings": [
        "#\\s*renovate:\\s*datasource=(?<datasource>[a-z-]+)\\s+depName=(?<depName>[^\\s]+)\\s*\\n\\s*[A-Za-z_]+:\\s*\"?(?<currentValue>[^\"\\s]+)\"?"
      ],
      "versioningTemplate": "semver",
      "extractVersionTemplate": "^v?(?<version>.*)$"
    },
    {
      "customType": "regex",
      "description": "Argo CD image tag and digest",
      "managerFilePatterns": [
        "/^kubernetes/apps/argocd/values\\.yaml$/"
      ],
      "matchStrings": [
        "tag: (?<currentValue>v[0-9]+\\.[0-9]+\\.[0-9]+)@(?<currentDigest>sha256:[a-f0-9]+)"
      ],
      "autoReplaceStringTemplate": "tag: {{{newValue}}}@{{{newDigest}}}",
      "datasourceTemplate": "docker",
      "depNameTemplate": "quay.io/argoproj/argocd"
    },
    {
      "customType": "regex",
      "description": "Cilium chart version in Ansible-rendered Application",
      "managerFilePatterns": [
        "/^kubernetes/apps/cilium/vars\\.yaml$/"
      ],
      "matchStrings": [
        "# renovate: datasource=helm depName=cilium registryUrl=https://helm\\.cilium\\.io/\\n\\s*cilium_chart_version: \\\"(?<currentValue>[^\\\"\\s]+)\\\""
      ],
      "datasourceTemplate": "helm",
      "depNameTemplate": "cilium",
      "registryUrlTemplate": "https://helm.cilium.io/",
      "versioningTemplate": "semver"
    },
    {
      "customType": "regex",
      "description": "Keep Kubernetes Helm image tags and digests in sync",
      "managerFilePatterns": [
        "/^kubernetes/apps/audiobookshelf/values\\.production\\.yaml$/",
        "/^kubernetes/apps/beszel/values\\.production\\.yaml$/",
        "/^kubernetes/apps/changedetection/values\\.production\\.yaml$/",
        "/^kubernetes/apps/freshrss/chart/values\\.yaml$/",
        "/^kubernetes/apps/freshrss/values\\.production\\.yaml$/",
        "/^kubernetes/apps/forgejo/values\\.production\\.yaml$/",
        "/^kubernetes/apps/immich/values\\.production\\.yaml$/",
        "/^kubernetes/apps/invidious/values\\.production\\.yaml$/",
        "/^kubernetes/apps/jellyfin/values\\.production\\.yaml$/",
        "/^kubernetes/apps/k8s-readonly/values\\.production\\.yaml$/",
        "/^kubernetes/apps/lidarr/values\\.production\\.yaml$/",
        "/^kubernetes/apps/lubelogger/values\\.production\\.yaml$/",
        "/^kubernetes/apps/maloja/values\\.production\\.yaml$/",
        "/^kubernetes/apps/navidrome/values\\.production\\.yaml$/",
        "/^kubernetes/apps/paperless-ngx/values\\.production\\.yaml$/",
        "/^kubernetes/apps/prowlarr/values\\.production\\.yaml$/",
        "/^kubernetes/apps/qbittorrent/values\\.production\\.yaml$/",
        "/^kubernetes/apps/radarr/values\\.production\\.yaml$/",
        "/^kubernetes/apps/romm/values\\.production\\.yaml$/",
        "/^kubernetes/apps/seerr/values\\.production\\.yaml$/",
        "/^kubernetes/apps/sonarr/values\\.production\\.yaml$/",
        "/^kubernetes/apps/speedtest-tracker/values\\.production\\.yaml$/",
        "/^kubernetes/apps/umami/values\\.production\\.yaml$/",
        "/^kubernetes/apps/gaswatch/chart/values\\.yaml$/",
        "/^kubernetes/apps/gaswatch/values\\.production\\.yaml$/",
        "/^kubernetes/apps/rfd-notify/chart/values\\.yaml$/"
      ],
      "matchStrings": [
        "(?:(?<registryIndent>[ \\t]*)registry: (?<registry>[^ \\t\\n]+)\\n)?(?<repoIndent>[ \\t]*)repository: (?<imageRepository>[^ \\t\\n]+)(?<repoComments>(?:\\n[ \\t]*#[^\\n]*)*)\\n(?<fieldIndent>[ \\t]+)tag: (?<tagQuote>[\\\"']?)(?<currentValue>[^\\\"'\\s]+)[\\\"']?\\n[ \\t]+digest: (?<currentDigest>sha256:[a-f0-9]+)"
      ],
      "autoReplaceStringTemplate": "{{#if registryIndent}}{{{registryIndent}}}registry: {{{registry}}}\\n{{/if}}{{{repoIndent}}}repository: {{{imageRepository}}}{{{repoComments}}}\\n{{{fieldIndent}}}tag: {{{tagQuote}}}{{{newValue}}}{{{tagQuote}}}\\n{{{fieldIndent}}}digest: {{{newDigest}}}",
      "depNameTemplate": "{{#if registry}}{{{registry}}}/{{{imageRepository}}}{{else}}{{{imageRepository}}}{{/if}}",
      "datasourceTemplate": "docker"
    }
  ],
  "argocd": {
    "managerFilePatterns": [
      "/^kubernetes/apps/argocd/.+\\.ya?ml$/"
    ]
  },
  "helm-values": {
    "managerFilePatterns": [
      "/^kubernetes/apps/.+/values[^/]*\\.ya?ml$/"
    ]
  },
  "kubernetes": {
    "managerFilePatterns": [
      "/^kubernetes/apps/.+\\.ya?ml$/"
    ]
  },
  "packageRules": [
    {
      "description": "Nothing auto-merges: a merge to main applies to live hosts",
      "matchUpdateTypes": [
        "minor",
        "patch",
        "pin",
        "digest"
      ],
      "automerge": false
    },
    {
      "matchDatasources": [
        "docker"
      ],
      "pinDigests": true
    },
    {
      "description": "Skip digest pinning for OCI charts managed by Argo CD",
      "matchManagers": [
        "argocd"
      ],
      "matchDatasources": [
        "docker"
      ],
      "pinDigests": false
    },
    {
      "description": "Temporarily skip digest pinning for the Arca image",
      "matchPackageNames": [
        "forgejo.davegallant.ca/dave/arca"
      ],
      "pinDigests": false
    },
    {
      "description": "Temporarily skip digest pinning for the RFD Enricher image",
      "matchPackageNames": [
        "ghcr.io/davegallant/rfd-enricher"
      ],
      "pinDigests": false
    },
    {
      "description": "Keep the beszel agent .deb and the beszel hub image in lockstep",
      "matchPackageNames": [
        "henrygd/beszel",
        "docker.io/henrygd/beszel"
      ],
      "groupName": "beszel"
    },
    {
      "matchDepNames": [
        "docker.io/searxng/searxng"
      ],
      "versioning": "regex:^(?<major>\\d{4})\\.(?<minor>\\d+)\\.(?<patch>\\d+)-[a-f0-9]+$"
    },
    {
      "matchDepNames": [
        "quay.io/invidious/invidious",
        "quay.io/invidious/invidious-companion"
      ],
      "versioning": "regex:^(?<major>\\d{4})\\.(?<minor>\\d+)\\.(?<patch>\\d+)-[a-f0-9]+$"
    },
    {
      "description": "Use the custom manager for Helm images with separate tag and digest fields",
      "matchManagers": [
        "helm-values"
      ],
      "matchFileNames": [
        "kubernetes/apps/audiobookshelf/values.production.yaml",
        "kubernetes/apps/beszel/values.production.yaml",
        "kubernetes/apps/changedetection/values.production.yaml",
        "kubernetes/apps/freshrss/chart/values.yaml",
        "kubernetes/apps/freshrss/values.production.yaml",
        "kubernetes/apps/immich/values.production.yaml",
        "kubernetes/apps/invidious/values.production.yaml",
        "kubernetes/apps/jellyfin/values.production.yaml",
        "kubernetes/apps/k8s-readonly/values.production.yaml",
        "kubernetes/apps/lidarr/values.production.yaml",
        "kubernetes/apps/lubelogger/values.production.yaml",
        "kubernetes/apps/maloja/values.production.yaml",
        "kubernetes/apps/navidrome/values.production.yaml",
        "kubernetes/apps/paperless-ngx/values.production.yaml",
        "kubernetes/apps/prowlarr/values.production.yaml",
        "kubernetes/apps/qbittorrent/values.production.yaml",
        "kubernetes/apps/radarr/values.production.yaml",
        "kubernetes/apps/romm/values.production.yaml",
        "kubernetes/apps/seerr/values.production.yaml",
        "kubernetes/apps/sonarr/values.production.yaml",
        "kubernetes/apps/speedtest-tracker/values.production.yaml",
        "kubernetes/apps/umami/values.production.yaml",
        "kubernetes/apps/gaswatch/chart/values.yaml",
        "kubernetes/apps/gaswatch/values.production.yaml",
        "kubernetes/apps/rfd-notify/chart/values.yaml"
      ],
      "enabled": false
    },
    {
      "description": "Use the custom manager for Forgejo\u2019s separate image tag and digest fields",
      "matchManagers": [
        "helm-values"
      ],
      "matchFileNames": [
        "kubernetes/apps/forgejo/values.production.yaml"
      ],
      "matchDepNames": [
        "codeberg.org/forgejo/forgejo"
      ],
      "enabled": false
    }
  ]
}