This repository contains a compact but expressive Space Situational Awareness (SSA) operations platform that combines several aspects:
- Orbital conjunction analysis (SSA Conjunction Lab)
- SSA Operations Sandbox (jobs + results + tracks)
- Event-driven Mission Bus (Redis pub/sub) with HMAC-protected telemetry
- Security monitoring and basic cyber resilience / chaos injection
- Multi-sensor tracking of synthetic orbital objects
- Docker-based microservice architecture
- Example QEMU / ARM sensor node concept
- Minimal Kubernetes manifests for a cluster deployment
All orbital objects, sensor data and scenarios are synthetic and purely for educational / portfolio purposes. No real satellite, organisation or military actor is referenced.
api– FastAPI backend, REST API, DB access, metrics, HMAC-checked telemetryworker-conjunction– performs orbital conjunction analysis for jobsworker-tracking– consumes measurement events and updates trackssecurity-monitor– subscribes to security events (invalid HMAC etc.)chaos-injector– periodically sends bogus telemetry to test robustnessdb– PostgreSQL databasebus– Redis-based mission bus (pub/sub)frontend– static web UI served by Nginx (for basic visualisation)qemu-node– conceptual ARM Linux sensor agent (not part of Compose)
Requirements:
- Docker + Docker Compose (or
docker compose) - Internet access for base images (PostgreSQL, Redis, Nginx, Python)
From the project root:
docker compose up --buildOnce everything is up, open:
- API docs: http://localhost:8000/docs
- Frontend UI: http://localhost:8080/
- A client submits an SSA scenario via
POST /jobs(FastAPI). - The API stores the job in PostgreSQL and publishes a
jobs.newevent on Redis. worker-conjunctionsubscribes tojobs.new, runs a simplified orbital conjunction analysis and writes results back to the database.- Synthetic sensor nodes (including a conceptual
qemu-node) could send measurements toPOST /measurementswith an HMAC header. - The API validates the HMAC, writes measurements to the DB and updates tracks.
worker-trackingcan perform asynchronous aggregation / future extensions.- Invalid HMAC or other security conditions trigger
security.eventson Redis, which are consumed and logged bysecurity-monitor. chaos-injectorintentionally sends bogus or replayed telemetry to test detection and resilience.- The
frontendpolls/jobs,/tracksand/jobs/{id}/conjunctionsand renders a simple operations dashboard.
The platform is intentionally simplified:
- Orbital mechanics are approximate and for illustration only.
- Security mechanisms (HMAC, chaos injection) are minimal but show the idea.
- The goal is to demonstrate understanding of SSA concepts, distributed systems, containerisation, basic security monitoring and resilience patterns.