Kubernetes RenderingComponent System
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.k8s.nyl/v1kind: <apiVersion>/<kind>
- Put Helm values into
spec.
What a Component Resource Does
Section titled “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.
Cluster and DeploymentTarget values remain in Nyl’s template context and are not
forwarded automatically. Reference them explicitly in spec when the chart
accepts the corresponding value:
spec: environment: "{{ values.environment }}"A local component can instead declare value imports that map selected target values to chart value defaults for every invocation.
Example:
apiVersion: components.k8s.nyl/v1kind: example/v1/Nginxmetadata: name: web namespace: defaultspec: replicaCount: 2Choosing Between Component, HelmChart, and Aliases
Section titled “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: