Resolution & Lookup Rules
This page describes how Nyl resolves component resources into charts.
Local Lookup
For Component resources with local kinds, Nyl checks component search roots in order:
- Resolve
project.components_search_pathsfromnyl.toml. - Build candidate path
<root>/<kind>/Chart.yaml. - Use the first existing match.
For kind: example/v1/Nginx, Nyl looks for:
<root>/example/v1/Nginx/Chart.yaml
Relative search paths are resolved relative to the directory containing nyl.toml.
Search Path Precedence
components_search_paths = ["components", "/opt/shared-components"] means:
- Prefer repo-local components under
components/. - Fall back to
/opt/shared-components.
The first matching component wins.
Alias Resolution
Before local lookup, Nyl checks project.aliases for a <apiVersion>/<kind> match.
If an alias exists, the alias target is resolved directly and local lookup is skipped for that resource.
Example:
[project.aliases]
"platform.example.io/v1/IngressStack" = "oci://registry-1.docker.io/bitnamicharts/nginx@18.2.4"
Expansion and Filtering Caveat
-c/--component filters top-level input resources before expansion.
Example:
-c ConfigMapdoes not include ConfigMaps generated by Component or HelmChart expansion.- Use
-c HelmChartor match the component resource in input when you need those expansions.