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 itself 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! :)