Documentation Index
Fetch the complete documentation index at: https://docs.karta.sh/llms.txt
Use this file to discover all available pages before exploring further.
karta.toml is an optional file at the root of your harness application. It’s
not needed to run locally — it’s read when the app is
published as a release, to tell the builder how to run
your app.
Example
karta.toml
app from app.py to obtain the Karta instance, and
the python buildpack tells the builder to synthesize a Python runtime image.
Keys
The
module:attribute that exposes your Karta instance — e.g. app:app
means “import app from app.py.” Used by the runtime to load your
application.The buildpack to synthesize a runtime image from — e.g.
python. When
present, the builder classifies
the release as buildpack and generates a minimal Dockerfile. Omit it (and
ship no Dockerfile) to run the file tree directly via file_copy.Build-kind resolution
The builder picks one of three strategies, in order:| Signal | Build kind | What happens |
|---|---|---|
A Dockerfile in the repo | dockerfile | Build the image from your Dockerfile. |
buildpack = "…" in karta.toml | buildpack | Synthesize a minimal Dockerfile for that runtime. |
| neither | file_copy | Run the extracted file tree directly (no image). |
Image builds (kaniko spawn + registry push) are currently stubbed; buildpack
and dockerfile releases fall back to
file_copy execution until image builds
are enabled. Detection and the deterministic image_ref are real. See
Releases.karta.toml is parsed,
and the archive is guarded against oversized payloads, too many members, and
path traversal before extraction.
Don’t confuse
karta.toml (deploy/build hints) with
karta.jsonc (CLI, harness, and runtime settings).
They serve different stages: karta.toml is for publishing; karta.jsonc is
for how the app behaves when it runs.