HelmChart
k8s.nyl/v1
Kubernetes Rendering Resources · Download JSON Schema · Usage guide
Expands a local or remote Helm chart into Kubernetes manifests.
Nyl renders the chart and recursively processes its output. Cluster and target values are template inputs; pass values to the chart explicitly through spec.values.
When needed
Use this optional resource to render a Helm chart with explicit chart coordinates and values.
If omitted
Nyl does not discover and render charts automatically. Invoke charts through a HelmChart or a component resource; projects containing only authored Kubernetes manifests need neither.
Example
apiVersion: k8s.nyl/v1
kind: HelmChart
metadata:
name: workloads
namespace: workloads
spec:
chart:
name: ./charts/app
values:
replicaCount: 2
Fields
Required means required within the containing object. Optional and nullable are distinct; contextual defaults and requirements are explained with each field.
Unknown fields are rejected.
apiVersion
Required · string
API version (e.g., “k8s.nyl/v1”)
const: "k8s.nyl/v1"
kind
Required · string
Resource kind (always “HelmChart”)
const: "HelmChart"
metadata
Required · object
Kubernetes metadata
Unknown fields are rejected.
metadata.annotations
Optional · object
Annotations
metadata.annotations[key]
Optional · string
metadata.labels
Optional · object
Labels
metadata.labels[key]
Optional · string
metadata.name
Required · string
Resource name
metadata.namespace
Optional · string or null
Namespace (optional)
spec
Required · object
Chart specification
Unknown fields are rejected.
spec.chart
Required · object
Reference to the chart
Unknown fields are rejected.
spec.chart.name
Optional · string or null
Universal name field with context-dependent meaning
When repository is set:
- For Helm/OCI repositories: Specifies the chart name (required)
- For Git repositories: Specifies subdirectory path within repo (optional)
When repository is NOT set:
- Treated as local filesystem path (absolute or relative)
Examples:
- Local filesystem: ”./charts/mychart”, “/opt/charts/app”
- Git subpath: “charts/mychart”, “deploy/helm/app”
- Helm/OCI chart: “nginx”, “prometheus”
spec.chart.repository
Optional · string or null
Repository URL for Git, OCI, or traditional Helm repositories
Protocol prefixes indicate the repository type:
git+https://orgit+git@- Git repositoryoci://- OCI registryhttps://or no prefix - Traditional Helm repository
Examples:
- Git: “git+https://github.com/user/repo.git”
- Git SSH: “git+git@github.com:user/repo.git”
- OCI: “oci://ghcr.io/owner/chart”
- Helm: “https://charts.example.com”
spec.chart.version
Optional · string or null
Chart version or Git reference
For Helm repositories: Specifies the chart version (required) For Git repositories: Specifies the Git reference - branch, tag, or commit (optional, defaults to HEAD)
Examples:
- Branch: “main”, “develop”
- Tag: “v1.0.0”, “1.2.3”
- Commit: “abc123…” (full or short hash)
spec.includeCrds
Optional · boolean or null
Whether to include CRDs from the chart’s crds/ directory in the rendered output. Defaults to true when unset.
spec.values
Optional · any value
Values to pass to the chart
default: null