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

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:

  1. Resolve project.components_search_paths from nyl.toml.
  2. Build candidate path <root>/<kind>/Chart.yaml.
  3. 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:

  1. Prefer repo-local components under components/.
  2. 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 ConfigMap does not include ConfigMaps generated by Component or HelmChart expansion.
  • Use -c HelmChart or match the component resource in input when you need those expansions.