Renovate Integration
Nyl ships a reusable Renovate preset for Helm chart version bumps in HelmChart, Component shortcuts, and project.aliases.
Use The Shared Preset
Section titled “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
Section titled “What It Matches”The preset adds regex managers for:
HelmChartresources (apiVersion: nyl.niklasrosenstein.github.com/v1)spec.chart.repository+spec.chart.name+spec.chart.version
Componentshortcut resources (apiVersion: components.nyl.niklasrosenstein.github.com/v1)kind: https://...#<chart>@<version>kind: oci://...@<version>kind: git+...#<path>@<ref>
nyl.tomlalias targets in[project.aliases]"myapi/v1/Kind" = "https://...#<chart>@<version>""myapi/v1/Kind" = "oci://...@<version>""myapi/v1/Kind" = "git+...#<path>@<ref>"
Datasource Mapping
Section titled “Datasource Mapping”https://...shortcuts and Helm repositories -> Renovatehelmdatasourceoci://...shortcuts and repositories -> Renovatedockerdatasourcegit+...shortcuts and repositories -> Renovategit-tagsdatasource
Notes And Limitations
Section titled “Notes And Limitations”- Local component kinds (for example
example/v1/Nginx) are intentionally ignored. - Matches expect canonical field names (
repository,name,version) inHelmChartspecs. git+...@<ref>updates depend on available Git tags for the referenced repository.
Troubleshooting
Section titled “Troubleshooting”- If a dependency is not detected, first verify it includes an explicit
@<version>(orspec.chart.versionforHelmChart). - Run
renovate-config-validatoragainst your final config to verify schema and templates.
Validate Matcher Coverage
Section titled “Validate Matcher Coverage”Nyl includes fixture-based matcher tests for the shared preset:
mise run test-renovate-matchersThe 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 matchnegative/: inputs that must not matchexpected.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.