Gateway
HTTP and gRPC share admission control, bounded queues, and overload signals.
Kraton Engine / source code
Kraton Engine is the local execution layer: Rust and Wasmtime run WebAssembly Components behind policy boundaries that are explicit, narrow, and observable.
Architecture at a glance
The runtime separates serving, verification, policy, execution, and accounting so a fast call never has to become an implicit grant of authority.
HTTP / gRPC
│
▼
[ Gateway ] ──► [ verified cache ] ──► [ policy + EnginePair ] ──► [ encrypted receipt ledger ]
│ │ │
bundle + AOT fuel / epoch tier Merkle checkpoint
metadata + signature deny-all WASI host Ed25519HTTP and gRPC share admission control, bounded queues, and overload signals.
The host reads the signed bundle, metadata, and AOT compatibility markers before it becomes ready.
One path accounts with fuel; an epoch tier measures thread CPU time. Capability linking stays narrow.
Encrypted RocksDB records facts, then Merkle checkpoints are signed by the host identity.
Operating envelope
Operator detail
Each reserved memory slot holds mappings for its guard pages and copy-on-write image. At startup the host estimates the Linux VMA requirement; a large pool can exceed the default vm.max_map_count of 65,530.
When the host warns about its VMA budget
This is an operating-system setting for a suitably sized pool, not a requirement for every local demo. The engine surfaces the condition instead of silently betting on host memory.
Local host
The checked-in development configuration starts the Engine from source. Use the demos to exercise its contracts once the local host is running.
From the Engine source root
Explore a concrete use caseWhat the host enforces
A component begins without host filesystem, raw network, environment, clock, or random access. Every useful authority is a separately declared policy decision.
Fuel, thread CPU time, and input/output bytes become consumption facts. Price policy belongs outside the runtime, not inside the execution path.
HTTP-capable components suspend an async fiber rather than occupying an OS thread. A signed allowlist and DNS-pinned connection close the SSRF escape route.