I make frequent use of the Rancher helm-controller to easily manage Helm deployments across multiple clusters.

A basic HelmChart CRD contains everything needed to create a simple customManager.

apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: external-dns
  namespace: external-dns
spec:
  chart: external-dns
  repo: https://charts.bitnami.com/bitnami
  targetNamespace: external-dns
  version: 8.3.9

The manager then is just a simple regex on all yaml files. We match for kind: HelmChart and then extract all required values for the helm datasource.

{
  "customManagers": [
    {
      "customType": "regex",
      "fileMatch": ["\\.yaml$"],
      "matchStrings": [
        "kind:\\s*HelmChart\\s*\\n(?:.*\\n)*?\\s*chart:\\s*(?<depName>.*?)\\s*\\n(?:.*\\n)*?\\s*repo:\\s*(?<registryUrl>.*?)\\s*\\n(?:.*\\n)*?\\s*version:\\s*(?<currentValue>.*?)\\s*\\n"
      ],
      "datasourceTemplate": "helm"
    }
  ]
}

Adding the JSON above to your renovate.json should result in PRs like this showing up within your next few runs.

☸️ Happy Helming! :)

Hits