Files
Sebastian Poxhofer be13c9f5f7 feat(manager): share OCI Helm chart resolution across managers (#45760)
* feat(manager): share OCI Helm chart resolution across managers

Add getOciChartDep() to helmv3/oci.ts and use it in argocd, fleet, flux,
helmfile, helmsman, helmv3, kustomize, sveltos, terraform and vendir.

- set pinDigests: false for OCI charts in all of them
- apply registryAliases to OCI charts in argocd, helmfile and helmsman
- keep the registry port in terraform helm_release repositories
- skip fleet OCI charts without a version instead of using 'undefined'

* docs(manager/helmv3): correct the OCI chart pinDigests rationale

* refactor(manager/helmfile): drop redundant OCI repository url guard

The repository schema already requires url to be a string, so the falsy
branch could not be reached by parsed input and left the patch partially
covered.
2026-09-09 13:51:30 +00:00
..
2024-04-11 13:23:20 +00:00

Renovate supports updating Helm Chart references in:

  • requirements.yaml files, for Helm v2
  • Chart.yaml files, for Helm v3

The helmv3 manager defines this default registryAlias:

{
  "registryAliases": {
    "stable": "https://charts.helm.sh/stable"
  }
}

If you use repository aliases in your Helm charts then you must set an registryAliases object in your configuration file so Renovate knows where to find the repository. Alias values must be properly formatted URIs.

If you need to change the versioning format, read our versioning documentation to learn more.

Private repositories and registries

To use private sources in your Helm charts, you must set the password and username you use to authenticate to the private source. For this you use a custom hostRules array.

OCI registries

{
  hostRules: [
    {
      // Global login
      matchHost: 'registry.gitlab.com',
      hostType: 'docker',
      username: '<some-username>',
      password: '<some-password>',
    },
    {
      // For repository string oci://registry.gitlab.com/user/oci-helm-test
      matchHost: 'https://registry.gitlab.com/user/oci-helm-test',
      hostType: 'docker',
      username: '<some-username>',
      password: '<some-password>',
    },
  ],
}

Helm repository

{
  hostRules: [
    {
      // Global login for 'gitlab.com' if using Helm
      matchHost: 'gitlab.com',
      hostType: 'helm', // this is optional, but else the credentials will be used for all requests matching `matchHost`
      username: '<some-username>',
      password: '<some-password>',
    },
    {
      // Specific repository
      matchHost: 'https://gitlab.com/api/v4/projects/xxxxxxx/packages/helm/stable',
      hostType: 'helm', // this is optional
      username: '<some-username>',
      password: '<some-password>',
    },
  ],
}

Subchart archives

To get updates for subchart archives put helmUpdateSubChartArchives in your postUpdateOptions configuration. Renovate now updates archives in the /charts folder.

{
  "postUpdateOptions": ["helmUpdateSubChartArchives"]
}