{
  "enabled": true,
  "extends": ["helpers:pinGitHubActionDigests"],
  "dependencyDashboard": true,
  "dependencyDashboardTitle": "Renovate Dashboard",
  "assigneesFromCodeOwners": true,
  "reviewersFromCodeOwners": true,
  "suppressNotifications": ["prIgnoreNotification"],
  "rebaseWhen": "conflicted",
  "prConcurrentLimit": 7,
  "pinDigests": true,
  "timezone":"Europe/Amsterdam",
  "gitAuthor": "TrueCharts-Bot <bot@truecharts.org>",
  "helm-values": {
    "fileMatch": ["charts/.+/.*values\\.yaml$", "charts/.+/SCALE/.*_values\\.yaml$"]
  },
  "helmv3": {
    "fileMatch": ["charts/.+/Chart\\.yaml$"]
  },
  "packageRules": [
    // Setup datasources for dep updates
    {
      "datasources": ["helm"],
      "matchManagers": ["helmv3"],
      "commitMessageTopic": "Helm chart {{depName}}"
    },
    // global docker datasource settings
    {
      "datasources": ["docker"],
      "matchManagers": ["helm-values"],
      "enabled": true,
      "pinDigests": true,
      "commitMessageTopic": "container image {{depName}}",
      "commitMessageExtra": "to {{#if isSingleVersion}}v{{{newVersion}}}{{else}}{{{newValue}}}{{/if}}",
      "matchUpdateTypes": ["major", "minor", "patch", "digest"],
    },
    // Setup datasources for github actions
    {
      "matchManagers": ["github-actions"],
      "automerge": true,
    },
    //
    // helm deps
    //
    {
      "matchDatasources": ["helm"],
      "updateTypes": ["major"],
      "automerge": false,
      "bumpVersion": "major",
      "labels": ["update/helm/dependency/major"],
      "groupName": ["helm dependency major"],
      "paths": ["charts/dependency/"],
    },
    {
      "matchDatasources": ["helm"],
      "automerge": true,
      "matchUpdateTypes": [
        "minor",
        "patch"
      ],
      "bumpVersion": "patch",
      "labels": ["update/helm/dependency/non-major"],
      "paths": ["charts/dependency/"],
      "groupName": "helm dependency non-major",
    },
    //
    // helm charts
    //
    {
      "matchDatasources": ["helm"],
      "updateTypes": ["major"],
      "bumpVersion": "major",
      "labels": ["update/helm/general/major"],
      "groupName": ["helm general major"],
      "paths": ["charts/incubator/", "charts/SCALE/", "charts/dev/", "charts/enterprise/", "charts/stable/", "templates/app/"],
      "schedule": [
        "before 10pm on tuesday"
      ],
    },
    {
      "matchDatasources": ["helm"],
      "automerge": true,
      "matchUpdateTypes": [
        "minor",
        "patch"
      ],
      "bumpVersion": "patch",
      "labels": ["update/helm/general/non-major"],
      "groupName": "helm general non-major",
      "paths": ["charts/incubator/", "charts/SCALE/", "charts/dev/", "charts/enterprise/", "charts/stable/", "templates/app/"],
      "schedule": [
        "before 10pm on tuesday"
      ],
    },
    //
    // Tag updates for semantic tags on enterprise Apps
    //
    {
      "matchDatasources": ["docker"],
      "updateTypes": ["major"],
      "bumpVersion": "major",
      "labels": ["update/docker/enterprise/major"],
      "paths": ["charts/enterprise/"],
      "schedule": [
        "before 8am"
      ],
    },
    {
      "matchDatasources": ["docker"],
      "automerge": true,
      "matchUpdateTypes": [
        "minor",
      ],
      "bumpVersion": "patch",
      "labels": ["update/docker/enterprise/minor"],
      "groupName": ["docker enterprise  minor"],
      "paths": ["charts/enterprise/"],
      "schedule": [
        "before 8am"
      ],
    },
    {
      "matchDatasources": ["docker"],
      "automerge": true,
      "matchUpdateTypes": [
        "patch",
        "digest",
        "pin",
      ],
      "bumpVersion": "patch",
      "labels": ["update/docker/enterprise/patch"],
      "groupName": ["docker enterprise patch"],
      "paths": ["charts/enterprise/"],
      "schedule": [
        "before 8am"
      ],
    },
    //
    // Tag updates for semantic tags on all but enterprise Apps
    //
    {
      "matchDatasources": ["docker"],
      "updateTypes": ["major"],
      "bumpVersion": "minor",
      "labels": ["update/docker/general/major"],
      "paths": ["charts/dependency/", "charts/SCALE/", "charts/incubator/", "charts/dev/", "charts/stable/", "templates/app/"],
      "schedule": [
        "before 8am"
      ],
    },
    {
      "matchDatasources": ["docker"],
      "automerge": true,
      "matchUpdateTypes": [
        "minor",
        "patch",
        "digest",
        "pin",
      ],
      "bumpVersion": "patch",
      "labels": ["update/docker/general/non-major"],
      "groupName": ["docker general non-major"],
      "paths": ["charts/dependency/", "charts/SCALE/",  "charts/incubator/", "charts/dev/", "charts/library/", "charts/stable/", "templates/app/"],
      "schedule": [
        "before 8am"
      ],
    },
    //
    // Tag semantic version type based on regex
    //
    {
      "matchDatasources": ["docker"],
      "versioning": "regex:^v(?<major>\\d{2})(?<minor>\\d{2})(?<patch>\\d{2})$",
      "matchPackageNames": ["tccr.io/truecharts/photoprism"],
    }
  ]
}
