Skip to content

Component

Component is a chart-backed resource format identified by:

  • apiVersion: components.nyl.niklasrosenstein.github.com/v1
  • dynamic kind (not a fixed literal)

Unlike fixed resource kinds, kind encodes either:

  • a local component path (<apiVersion>/<kind>)
  • a remote shortcut (<base>[#<name>][@<version>])
apiVersion: components.nyl.niklasrosenstein.github.com/v1
kind: example/v1/Nginx
metadata:
name: web
namespace: default
spec:
replicaCount: 2
  • kind: chart target (local or remote shortcut)
  • metadata.name: Helm release name
  • metadata.namespace: Helm release namespace (defaults to default)
  • spec: Helm values payload

With:

[project]
components_search_paths = ["components"]

kind: example/v1/Nginx resolves to:

components/example/v1/Nginx/Chart.yaml

Nyl checks components_search_paths in order and uses the first match.

project.aliases can map regular resource types to component targets:

[project.aliases]
"myapi.io/v1/MyKind" = "oci://registry-1.docker.io/bitnamicharts/nginx@18.2.4"

When an alias matches, Nyl resolves directly to the alias target.

Shortcut format:

<base>[#<name>][@<version>]

Remote bases:

  • http:// or https://
  • oci://
  • git+

For complete shortcut examples and guidance, see Remote Shortcuts & Aliases.