Files
Michael Kriese 9788f3698d refactor(manager): type manager data of the remaining managers (#46639)
* refactor(manager): type manager data of the remaining managers

Co-Authored-By: Claude Fable 5.1 <michael.kriese+claude-code@mend.io>
Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

* refactor(manager): type flux deps from shared helpers and require ansible collection names

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

---------

Co-authored-by: Claude Fable 5.1 <michael.kriese+claude-code@mend.io>
2026-10-07 06:31:47 +00:00
..

Checks helmfile.yaml files and extracts dependencies for the helm datasource.

The helmfile manager defines this default registryAlias:

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

If your Helm charts make use of repository aliases then you will need to configure an registryAliases object in your config to tell Renovate where to look for them. Be aware that alias values must be properly formatted URIs.

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

Private repositories and registries

To use private sources of 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.

Classic repositories

Renovate passes hostRules with hostType: 'helm' to helmfile deps for classic (non-OCI) repositories. It does so through the <NAME>_USERNAME and <NAME>_PASSWORD environment variables, where <NAME> is the repository name in upper case with dashes replaced by underscores. The hostRules entry must have both a username and a password, and its matchHost must match the repository url. Helmfile uses each variable only when the repository does not set that field itself.

For example, with this helmfile.yaml:

repositories:
  - name: team-a-charts
    url: https://charts.example.com/team-a
  - name: public
    url: https://public.example.com
releases:
  - name: app
    chart: team-a-charts/app
    version: 1.0.0

and this Renovate config:

{
  hostRules: [
    {
      matchHost: 'https://charts.example.com',
      hostType: 'helm',
      username: '<some-username>',
      password: '<some-password>',
    },
  ],
}

Renovate runs helmfile deps with TEAM_A_CHARTS_USERNAME and TEAM_A_CHARTS_PASSWORD set. The public repository has no matching hostRules entry, so it gets no credentials.

OCI registries

{
  hostRules: [
    {
      // global login
      matchHost: 'ghcr.io',
      hostType: 'docker',
      username: '<some-username>',
      password: '<some-password>',
    },
    {
      // login with encrypted password
      matchHost: 'https://ghci.io',
      hostType: 'docker',
      username: '<some-username>',
      encrypted: {
        password: 'some-encrypted-password',
      },
    },
  ],
}