Component System
Nyl’s component system lets you map Kubernetes-style resources to Helm charts with a predictable lookup model.
For most teams, the default workflow is:
- Define local component charts under
components/<apiVersion>/<kind>/. - Reference those components from manifests with:
apiVersion: components.nyl.niklasrosenstein.github.com/v1kind: <apiVersion>/<kind>
- Put Helm values into
spec.
What a Component Resource Does
A Component resource is a compact wrapper around Helm rendering:
kindidentifies which chart to render.metadata.nameis used as Helm release name.metadata.namespaceis used as Helm release namespace (defaults todefaultif omitted).specis forwarded as Helm values.
Example:
apiVersion: components.nyl.niklasrosenstein.github.com/v1
kind: example/v1/Nginx
metadata:
name: web
namespace: default
spec:
replicaCount: 2
Choosing Between Component, HelmChart, and Aliases
- Use local Component resources for reusable, repo-owned building blocks.
- Use
HelmChartfor explicit chart definitions in platform-level manifests. - Use
project.aliaseswhen you want stable domainapiVersion/kindnames decoupled from chart source.
See: