Skip to content

What is Ironflow?

Ironflow is a Continuous History platform that ships as a single binary. Every event, every workflow step, every state change is recorded into one continuous history — and everything else is derived from it. Emit events from anywhere. React with recorded execution (durable workflows). Derive real-time views from your history. Rewind to any moment to debug, patch, or replay. Zero infrastructure to manage.

Continuous History: Entity Lifecycle — showing how events, workflows, projections, and time-travel connect in one unified history

Building reliable backend systems typically means stitching together a message broker, a database, a workflow engine, and a pub/sub layer. Ironflow bundles all of this into one process that boots in milliseconds.

Ironflow is built as a series of integrated layers, moving from the hardware-ready foundation to the high-visibility control plane.

The Ironflow Stack — five integrated layers from Foundation to Control Plane

Ironflow ships as a single binary — one binary, one platform, everything derived. It contains the server, message broker (NATS), database (SQLite/Postgres), and dashboard. By embedding NATS JetStream, Ironflow provides industrial-grade messaging and persistence without the JVM/Zookeeper overhead of Kafka or the operational complexity of Redis. One command — ironflow serve — and you’re running.

Ironflow replaces several pieces of infrastructure with built-in, high-performance data primitives.

  • Events & Pub/Sub: Emit events from anywhere. Subscribers receive events in real time with pattern matching (order.>), consumer groups, and durable replay.
  • KV Store: General-purpose key-value storage with namespaced buckets, revision tracking, and atomic operations (CAS).
  • Config & Secrets: Environment-scoped configuration and AES-256-GCM encrypted secrets, write-only through the API and decrypted only at runtime.

The heart of Ironflow is a workflow engine designed for recorded execution — every step captured, replayable, rewindable.

  • Memoized Steps: Define functions with atomic steps. Each step is automatically memoized; if a workflow crashes, it resumes from the last completed step instead of starting over.
  • Push + Pull Execution: Run short tasks via Push mode (HTTP POST to serverless endpoints) or long-running, high-throughput jobs via Pull mode (gRPC streams to dedicated workers) from the same codebase.

Ironflow provides native support for the “hard parts” of distributed systems through simple, readable code.

  • Sagas (Compensations): Register rollback handlers with step.compensate. If a later step fails, compensations run automatically in reverse order.
  • Event Sourcing: Store domain events in the continuous history log — your system’s single source of truth. Build derived views (projections) — state computed from history that updates automatically as events arrive.
  • CEL Policies: Fine-grained, high-performance authorization using the Common Expression Language (CEL) to control access to functions, streams, and secrets. Layered with built-in RBAC (system roles authoritative for allow; tenant-edited CEL is subtractive deny-only).

The top of the stack provides total visibility into your backend, turning production runs into something you can navigate and fix.

  • History Navigation (time-travel debugging): Rewind execution to any moment, inspect state at any step boundary, and scrub through the execution timeline.
  • TUI Debugger: Use ironflow inspect <run_id> for a terminal-first debugging experience with VS Code DAP support.
  • History Correction (live step patching): Edit a failed step’s output and resume the workflow immediately — no redeploy required. The audit trail was always there. See also History Editing (scoped injection) for pausing running workflows at step boundaries to inspect and inject data.

Where to goWhat you’ll learn
Getting StartedEmit events, build a projection, and time-travel debug — in 5 minutes
Workflow GuideFunctions, steps, memoization, sagas, invoke, error handling
Events & Pub/SubEvent subscriptions, consumer groups, real-time streaming
Event SourcingEntity streams, projections, event versioning
ArchitectureDeep dive into the technical architecture
Platform ComparisonHow Ironflow compares to Temporal, Inngest, Restate, Kurrent, and Kafka