What FLOW_STREAMING_ENABLED gates today
Nothing runnable is wired to the flag right now. The broker source
consumers are not yet part of the pipeline IR — the source-node
connector enum is file/object-store only (s3, gcs, azure_blob,
sftp, ftp, local_fs, http_pull — see
lib/flow/ir/nodes/source.ts), so a Kafka/Kinesis/Pulsar consumer node
cannot be authored or dispatched today. There is no streaming source
executor; the only streaming code that ships is the env flag and the
checkpoint helper below.
Checkpoint persistence (lands the moment any broker connects)
The Phase 6.4 scaffold ships the helper atlib/flow/runtime/streaming/checkpoint.ts:
pipeline_runs.metadata.streamingCheckpoints[]. At-least-once
delivery semantics — write checkpoint before the next batch’s side
effects. Any consumer (Kafka / Kinesis / Pulsar) plugs into this same
helper so the persistence layer is broker-agnostic.
Self-hoster setup
When you’re ready to enable streaming on a self-hosted deployment:- Set
FLOW_STREAMING_ENABLED=truein the API + worker env. On its own this does not add any broker source consumer — it only flips the gate future consumers will check. - Add a streaming source consumer — because the consumer node kind is not
in the source-node IR enum yet, this means extending
lib/flow/ir/nodes/source.tsand adding an executor, then installingkafkajs(or@aws-sdk/client-kinesis/pulsar-client) and implementing the broker-specific consumer inkaireon-worker. - Restart the worker process — the existing
kaireon-workerECR repo is unwired in playground (no App Runner service); self-hosters point their orchestrator at it. - Each consumer run reads
streamingCheckpointson startup, seeks the broker to the saved offset, processes, andwriteCheckpoints after each successful batch.
Honest limits carried into Phase 6.6 hardening
- Per-partition lag metrics on the per-node metrics dashboard
- Backpressure semantics beyond at-least-once
- UI hide for streaming node kinds when
FLOW_STREAMING_ENABLED=false— the Visual canvas + Schedule tab don’t yet hide them with a “self-host required” CTA
Spec reference
specs/2026-04-24-flow-design.md §6 Runtime Engine, streaming
subsection. Phase 6.4 SPEC at
.planning/phases/06.4-streaming-runtime-cdc-mirror/06.4-SPEC.md.