Features

Durable execution for applications and agentic workloads, with deterministic workflows, explicit permissions, and tools to inspect every run.

What's new in Obelisk 0.42 →

Durable workflows

Recovery & retries

Workflows recover their progress after a server restart. Activities retry automatically on transient failures, with configurable retry and timeout policies.

Deterministic replay

Recorded history reconstructs workflow state without repeating completed activities. Workflow time and random values remain consistent during replay.

Structured concurrency

Run child workflows and activities in parallel, await their results, and cancel whole execution trees. Unawaited activities and delays are cancelled when their parent completes.

Scheduling & waiting

Durable sleeps, scheduled executions, and cron jobs survive restarts. Pause and resume long-running workflows, including agents waiting on people or external systems.

JavaScript & tools

JavaScript first

Write workflows, activities, and webhooks as plain JavaScript, with no build step. Boa is the default runtime; native V8 is an opt-in alternative.

Activities & webhooks

Put network calls and other external work in activities; expose HTTP endpoints through webhooks. Rust components are also supported and can interoperate with JavaScript.

VM activities (experimental)

Run Nix-packaged Linux tools inside a VM, using Bochs, QEMU, or Firecracker. Guest HTTP uses the same outbound permissions and secret handling as other components.

Exec activities

Run host executables with activity retries and observability. They run outside the sandbox and require approval from both the platform admin and the app admin.

Deployments & permissions

Layered permissions

The platform and app admins grant access to hosts, secrets, and executables. Deployments, including code written by agents, can only narrow those grants. Secrets can be injected at the network edge without exposing their values to code.

Versioned deployments

Redeploy without restarting the server. Running workflows keep their original code until explicitly upgraded. Every deployment's configuration and source can be retrieved.

Verify & distribute

Verify deployments offline and repair digests with --fix. Bundle code in a single deployment file or distribute components through OCI registries.

API authentication

The management API requires bearer tokens by default. Token hashes live in server configuration; applications expose their own HTTP routes through webhooks.

Inspect & operate

Web UI & debugger

Explore deployment graphs and execution traces in the embedded Web UI. Persist backtraces, inspect source, and replay or advance paused executions step by step.

Persistent logs & HTTP traces

Application logs and captured outgoing HTTP traces stay with execution history. Inspect failed attempts through the Web UI, CLI, or API.

API & CLI

Submit, inspect, pause, cancel, and replay executions programmatically. Developers and agents can follow child executions, read logs, and retrieve source through the same interfaces.

One server

A single binary with SQLite for one node or Postgres for multiple nodes. Configure concurrency, memory limits, and execution retention.

Obelisk is open source, written in Rust. Explore the source →