Concepts
Architecture
System architecture overview for Constellation Overwatch
System architecture overview for Constellation Overwatch.
Constellation Overwatch is designed as a distributed, event-driven C4 Industrial Data Fabric that brings together telemetry, video, and AI processing in a unified platform built on NATS JetStream for reliable, low-latency messaging with atomic operations and durable streams.
| Component | Technology | Purpose |
|---|
| Messaging | NATS JetStream | Real-time pub/sub and persistent messaging |
| Database | SQLite | Embedded relational storage with auto-initialization |
| API | Go + Templ | RESTful API and server-rendered UI |
| Web Dashboard | Datastar + SSE | Real-time reactive UI with Server-Sent Events |
| Metrics | Prometheus | NATS and worker collectors for observability |
Background event processors that drive the event-driven architecture:
| Worker | Purpose |
|---|
| EntityWorker | Processes entity creation, updates, deletions, and status changes |
| TelemetryWorker | Handles high-frequency sensor data and updates KV state |
| CommandWorker | Routes commands to entities and processes acknowledgments |
| EventWorker | Processes general events and triggers state sync |
| VideoWorker | Manages video stream lifecycle and WebRTC signaling |
| Stream | Purpose |
|---|
CONSTELLATION_ENTITIES | Entity lifecycle events (created, updated, deleted, status) |
CONSTELLATION_EVENTS | General system and integration events |
CONSTELLATION_TELEMETRY | High-frequency sensor and position data |
CONSTELLATION_COMMANDS | Command dispatch and acknowledgment |
| Bucket | Purpose |
|---|
CONSTELLATION_GLOBAL_STATE | Real-time entity state keyed by entity_id, watched by SSE handlers for live UI updates |
| Component | Purpose |
|---|
| Aero Arc Relay | MAVLink bridge for UAVs |
| Vision | AI-powered video analysis |
| FFmpeg | Low-latency video streaming |
| Protocol | Use Case |
|---|
| MAVLink | Drone communication |
| RTSP/WebRTC | Video streaming |
| REST/WebSocket | API and real-time updates |
- Edge-First - Process data as close to the source as possible
- Offline-Capable - Full functionality without internet connectivity
- Security-First - Air-gapped deployment support
- Lightweight - Minimal resource footprint for embedded systems
- Interoperable - Standard protocols and open APIs