HarborRAG

Deployment Notes

Compose stacks under compose/, container images under docker/, and placeholders for cloud IaC under aws/. This file tracks deployment constraints that aren’t obvious from any single file.

The API must run as exactly one process (for now)

The Control Plane API’s live event stream (SSE ingestion progress) and its background progress bridge are built on InProcessEventBus (harborrag_runtime.events.in_process): an in-memory, per-process pub/sub. That has two consequences for how the API is deployed:

Horizontal scaling of the API (multiple processes/replicas, each seeing every live event) is deferred until a Redis-backed EventBusPort implementation lands. Until then, scale the ingestion worker (Temporal worker, separately replicable already) instead of the API.