Platform · Manifest

KERNSTACK stack.json

stack.json is the manifest service: the single file that declares a KERNSTACK project. Its stack block names the target and the deploy gate; gateway.routes declares every public surface; resources declares functions, workers, tables, buckets, search indexes, inference endpoints, secrets, alerts, and workflows. It is kept in git, previewed with kernstack plan, and applied with kernstack deploy.

Why teams replace assembled cloud services with KERNSTACK stack.json

Teams otherwise describe their system across Terraform, a second YAML dialect, and a portal’s memory. On KERNSTACK the manifest is the whole description — the file an agent reads before drafting, a reviewer diffs before approving, and an auditor samples after an incident.

Anatomy of the file

Conventions keep it terse: omit src when code sits at functions/{name} or workers/{name}; omit seed when data sits at seed/tables/{name}.json or seed/buckets/{name}/. Profiles overlay the base file (stack..json), and deploy-time values live in gitignored .stack.env files referenced from the manifest. Adjacent non-deployed material belongs under reference/, which the CLI treats as inert by contract.

Change discipline around the file

Every edit is a plan before it is a fact: kernstack plan lists creates, updates, and “Will delete” entries; deploys refuse deletions without --confirm-destructive; a stack can pin space_id so a deploy aimed at the wrong environment fails. Source assurance levels (from locally_authenticated to review_approved and attested_build) let a project declare how trusted code must be before it may ship.

  • The file is agent-legible: one JSON document is the complete planning surface — no console archaeology
  • Apps under apps/ build and publish on deploy; routes to them are ordinary prefix routes
  • Removing a line is a designed act with a confirmation, never an accident of omission

SDKs & Language Integration

Every KERNSTACK environment vendors typed SDK packages into .kernstack/ so both engineers and coding agents in Agent Sandboxes can call stack.json without external credentials:

  • Go SDK: github.com/coding-berlin/kernstack-sdk-go/sdk_stacks
  • Node.js SDK: kernstack-sdk
  • Python SDK: kernstack_sdk
  • PHP SDK: kernstack/sdk (Composer)

Frequently asked questions

Scope and altitude: stack.json declares one application completely — routes, compute, data, intelligence, workflows — against one platform’s project model, and deploys it directly. It is not a general language for arbitrary cloud resources, and that narrowness is what makes its plans fully readable.

Yes — it is designed for it. Agents draft manifest changes on branches; humans approve the resulting plan. The JSON the agent reads is byte-identical to the JSON the reviewer approves.

In the target (a different instantiation with its own data), in stack.<env>.json profile overlays, and in .stack.env values. The base declaration stays the single source of architectural truth across all of them.

Ship your stack on the Software Lifecycle Cloud.

Closed preview on dedicated European infrastructure. Bring a repository or start from a blueprint.