Jsonnet-as-a-Service
Jsonnet-as-a-Service (JaaS) evaluates Jsonnet and returns JSON. It runs in one of two modes:
- OCI volume mounting — the chart mounts your snippets and libraries from OCI
artifacts as image volumes, and JaaS serves the evaluated JSON over HTTP
(
GET /jsonnet/<snippet>). Static content, no custom resources. - Flux CR-based — JaaS watches
JsonnetSnippetandJsonnetLibraryresources and publishes the rendered output as a FluxExternalArtifactthat any Flux consumer deploys.
The two modes are mutually exclusive in one chart release; Installation covers choosing one.
What teams build with it
- Grafana dashboards with grafana-operator. Author dashboards in Jsonnet (grafonnet), let JaaS render them, and have the grafana-operator reconcile the result into Grafana. See Grafana dashboards .
- Kubernetes manifests with stageset-controller. Render manifests from Jsonnet and roll them out in ordered, gated stages with stageset-controller . See Deploying manifests with StageSet .
Both build on the same core: a snippet renders to an ExternalArtifact, and a
downstream controller consumes it. JaaS only renders — what happens to the JSON is
the consumer’s concern, documented on that consumer’s own site.
Where to start
- Get started — render locally with no cluster, or install JaaS on Kubernetes and call its Quickstart endpoint.
- Rendering Jsonnet — the HTTP renderer: snippets, libraries, external variables, and the limits around evaluation.
- Operator mode
— evaluate
JsonnetSnippetresources and publish each result as a FluxExternalArtifact. - Guides — Grafana dashboards, and deploying rendered manifests with StageSet.
- API reference
— every field of
JsonnetSnippet,JsonnetLibrary, and theExternalArtifactoutput contract. - Runbooks — symptom, cause, and remediation for every Ready-condition reason.
Project
- Source, releases, and the container image: github.com/metio/jaas
- Helm chart:
oci://ghcr.io/metio/helm-charts/jaas