End-to-End Traffic Flow¶
- Browser or Electron client submits a simulation request over HTTPS to the cloud edge endpoint.
- Edge reverse proxy forwards request over the Netbird tunnel to
app-1(10.42.20.11:8000). - FastAPI validates payload, writes job metadata to PostgreSQL, and enqueues the job in Redis.
- Worker VM pops the queue item and downloads input files from object storage.
- Worker executes CEA pipelines (demand, costs, networks) and emits progress events.
- Worker uploads Parquet outputs directly to Hetzner Object Storage.
- API marks completion and publishes
job-successover SocketIO to update clients.
sequenceDiagram
participant U as User
participant E as Edge
participant A as API
participant R as Redis
participant W as Worker
participant S as Object Storage
U->>E: Submit job
E->>A: Forward via Netbird
A->>R: Enqueue job
W->>R: Pop job
W->>S: Download inputs
W->>S: Upload results
W-->>A: Progress events
A-->>U: Status and artifact links
Tip
Treat SocketIO as the real-time UX channel and object storage as the source of truth for completed outputs.