Ironflow Runtime Architecture

Ironflow Runtime Architecture An architecture diagram generated by Archify. SDK clients · JS / Go / Python · Architecture component SDK clients JS / Go / Python Dashboard · React, embedded · Architecture component Dashboard React, embedded Auth · API keys + JWT · Ironflow single Go binary (ironflow serve) › Authenticated ingress · ifkey_ / ifplatform_ Auth API keys + JWT ifkey_ / ifplatform_ HTTP + ConnectRPC · mux :9123 · Ironflow single Go binary (ironflow serve) › Authenticated ingress HTTP + ConnectRPC mux :9123 Event Trigger · match + schema check · Ironflow single Go binary (ironflow serve) Event Trigger match + schema check Outbox Worker · transactional drain · Ironflow single Go binary (ironflow serve) Outbox Worker transactional drain NATS JetStream · embedded or external · Ironflow single Go binary (ironflow serve) NATS JetStream embedded or external Execution Engine · router, scheduler, cron · Ironflow single Go binary (ironflow serve) Execution Engine router, scheduler, cron Push functions · HTTP POST, <10s · Architecture component Push functions HTTP POST, <10s Pull workers · poll, no timeout · Architecture component Pull workers poll, no timeout Store · single interface · Ironflow single Go binary (ironflow serve) Store single interface SQLite / PostgreSQL · dev / prod + cluster · Architecture component SQLite / PostgreSQL dev / prod + cluster Blob storage · local or S3 · Architecture component Blob storage local or S3 POST /api/v1/events JWT session key / JWT check trigger write event + outbox row publish ironflow.*.events.> consume HTTP POST poll jobs runs, steps, claims SQL payload overflow Ironflow single Go binary (ironflow serve) Authenticated ingress Legend Frontend Backend Database Cloud Security Message bus External

Ingress and trust

  • • API keys (ifkey_ / ifplatform_) or dashboard JWT on every call
  • • Same mux serves REST, ConnectRPC, /health and /ready
  • • Pull workers poll GET /api/v1/workers/{id}/jobs, no timeout

Event path

  • • Trigger matches functions and enforces event schemas
  • • Outbox drains to NATS with backoff; poison rows go to DLQ
  • • Subjects: ironflow.{project}.{env}.events.> and public.{envID}.>

Engine and state

  • • Engine.Start boots router, scheduler, worker manager, cron, capacity dispatcher
  • • Steps memoized by ID; failed runs resume from last good step
  • • Store auto-detects SQLite or PostgreSQL; clustering needs PostgreSQL + external NATS