Resolution & Lookup Rules
This page describes how Nyl resolves component resources into charts.
Local Lookup
Section titled “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.yamlRelative search paths are resolved relative to the directory containing nyl.toml.
Search Path Precedence
Section titled “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
Section titled “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
Section titled “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.