Templates have no types
A Helm chart is a text template over an untyped values tree, and a Kustomize overlay patches YAML against a built-in schema from Kubernetes 1.21. Mistakes surface when the API server rejects a manifest, or never:- Most charts ship no values schema. Of the 300 most-starred Helm charts on Artifact Hub (queried October 12, 2026), 25.7% ship a
values.schema.json, and most schemas that exist accept unknown keys, so a misspelled value is ignored. - Values are parsed as YAML 1.1.
country: NOreaches the chart asfalse, andyes,onandyastrue(helm#32504). - Structure comes from indentation. A wrong
nindentcan still be valid YAML, under the wrong key, andhelm templatedoes not validate its output against Kubernetes schemas.
values.schema.json when it has one. A typo fails the render with the file and line:
Rendering runs someone else’s program
Helm and Kustomize include features that read host files (symlinks in directory charts,file:// dependencies), make network requests (schema $ref, remote bases, remote resources) and run executables (plugins, post-renderers, git, helm). They run with the authority of whatever renders them: a laptop, a CI runner, a GitOps repo server. These features have produced a steady stream of advisories, for example:
akua compiles Helm and Kustomize to WebAssembly and runs them, and the KCL runtime, inside Wasmtime. The sandbox has no host filesystem, network, environment variables or process spawning, and each render runs under memory caps and a CPU budget. Dependencies are fetched outside the sandbox, only from sources the Package declares, and pinned by digest in
akua.lock.
What the sandbox does not cover
- The manifests themselves. A Package can still render a privileged Pod or a cluster-admin binding. Gate what reaches a cluster with policy and admission control.
- The first fetch of a dependency. A digest pin proves you get the same bytes again, not that the first bytes were good. Cosign verification of dependencies is opt-in, through a
[signing]key inakua.toml. - Wasmtime itself. Wasmtime and akua’s host code are the trusted computing base.
Related topics
Typed resources
Kubernetes versions and CRDs as typed dependencies.
Package format
The
Input schema, @ui annotations and composition.Akua
What akua is and how the platform uses it.
Error codes
Every structured error, including the render budgets.