Verentis

Runtimes

Runtimes: Docker & WebAssembly

Choose how your engine executes — server-side Docker or instant client-side WebAssembly in the browser.

An engine declares one or more runtimes. Verentis selects the best available runtime for each run: Docker for server-side execution, or a client-compatible WebAssembly runtime for eligible browser runs.

Docker (server-side)

The general-purpose runtime: any language, packaged as a container image.

spec:
  runtimes:
    docker:
      image: ghcr.io/you/engine:1.0.0
      pull-policy: IfNotPresent
  • Best for: arbitrary languages and dependencies, heavier workloads, anything that needs a full OS userland.
  • Trade-off: cold-start latency when a container must be pulled and started.

Warm pools

The platform can keep warm pools to reduce cold starts. Optimisations like warm pooling can be gated on trust signals (such as a verified first-party signature); third-party engines still run, fully sandboxed.

WebAssembly (client-side)

Run a WASM module in the browser for instant execution — no round-trip to the server.

spec:
  runtimes:
    wasm:
      module: https://cdn.example.com/pyodide/pyodide.js
      runtime: pyodide
      adapter: ./browser/dist/pyodide-runner.js
      client-compatible: true

The adapter is an engine-owned worker that implements the client warm/run protocol. The platform loads it generically and ships none itself — the deliberate symmetry with docker.image. This is how a third-party browser engine plugs in its own execution worker.

Reference the worker manifest-relative (./…) and bundle it in your package (packaging.files) — installed packages resolve it to a child of the manifest node (e.g. /applications/my-engine/browser/dist/pyodide-runner.js). Loose manifests may also use an absolute workspace path or an HTTPS URL.

  • Best for: instant, interactive execution (e.g. running a Python snippet inline) with zero server latency.

Server-side execution is Docker

There is deliberately no server-side WASM target. CLI, service, and API callers run through the Docker runtime; browser-capable workspace callers may select client WASM when the engine is client-compatible, has an adapter, and the script does not require server-only features.

Choosing & combining

NeedRuntime
Any language, heavy depsDocker
Instant, in-browser executionClient WASM

You can declare both and let the platform pick. A common pattern is Docker for full server-side runs plus client WASM for instant in-browser previews.

Next

The execution model

Understand the run context, identity, and scoped tokens.