Concepts
Architecture
System architecture overview for Constellation Overwatch
System architecture overview for Constellation Overwatch.
Constellation Overwatch is an event-driven C4 Industrial Data Fabric for telemetry, video, commands, and AI events. NATS JetStream provides durable messaging, KV state, and low-latency pub/sub. Pulsar runs at the edge as the sync agent: it registers fleets, relays MAVLink, bridges RTSP video, publishes telemetry, and updates CONSTELLATION_GLOBAL_STATE.
| 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 |
|---|
| Pulsar | Edge sync agent for fleet registration, MAVLink relay, RTSP video bridging, and optional YOLO overlay detection |
| Protocol | Use Case |
|---|
| MAVLink | Per-entity UDP telemetry into Pulsar |
| RTSP/WebRTC/HLS | Pulsar video bridge and advertised playback endpoints |
| REST/NATS/SSE | Fleet registration, JetStream ingest, API access, and live UI 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