Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Renovate Integration

Nyl ships a reusable Renovate preset for Helm chart version bumps in HelmChart, Component shortcuts, and project.aliases.

Use The Shared Preset

In your project’s renovate.json:

{
  "extends": [
    "config:recommended",
    "github>NiklasRosenstein/nyl//.github/renovate/nyl-helm-components.json5"
  ]
}

What It Matches

The preset adds regex managers for:

  • HelmChart resources (apiVersion: nyl.niklasrosenstein.github.com/v1)
    • spec.chart.repository + spec.chart.name + spec.chart.version
  • Component shortcut resources (apiVersion: components.nyl.niklasrosenstein.github.com/v1)
    • kind: https://...#<chart>@<version>
    • kind: oci://...@<version>
    • kind: git+...#<path>@<ref>
  • nyl.toml alias targets in [project.aliases]
    • "myapi/v1/Kind" = "https://...#<chart>@<version>"
    • "myapi/v1/Kind" = "oci://...@<version>"
    • "myapi/v1/Kind" = "git+...#<path>@<ref>"

Datasource Mapping

  • https://... shortcuts and Helm repositories -> Renovate helm datasource
  • oci://... shortcuts and repositories -> Renovate docker datasource
  • git+... shortcuts and repositories -> Renovate git-tags datasource

Notes And Limitations

  • Local component kinds (for example example/v1/Nginx) are intentionally ignored.
  • Matches expect canonical field names (repository, name, version) in HelmChart specs.
  • git+...@<ref> updates depend on available Git tags for the referenced repository.

Troubleshooting

  • If a dependency is not detected, first verify it includes an explicit @<version> (or spec.chart.version for HelmChart).
  • Run renovate-config-validator against your final config to verify schema and templates.

Validate Matcher Coverage

Nyl includes fixture-based matcher tests for the shared preset:

mise run test-renovate-matchers

The test runs the official renovate/renovate Docker image and validates extracted dependencies from Renovate’s own logs. Docker daemon access is required.

Fixtures are in integrationtests/fixtures/renovate-matchers/:

  • positive/: inputs that must match
  • negative/: inputs that must not match
  • expected.json: expected extracted dependencies (datasource, depName, currentValue) per fixture file

The validation is extraction-focused: it asserts matching behavior and extracted dependency identity, and does not require successful network datasource lookups.

When changing .github/renovate/nyl-helm-components.json5, update fixtures and expected.json in the same change to keep matcher behavior explicit.