Loading
Commits on Source 2
-
Pierros Papadeas authored
- docs/DEPLOYMENT.md: Complete guide covering local demo, VPS, home server (Cloudflare Tunnel), and Kubernetes paths. Includes station setup, monitoring, backup/recovery, and update procedures. - ops/docker-compose.demo.yml: One-command demo with pre-configured secrets and anonymous MQTT for quick local testing. - ops/mosquitto/config/mosquitto-demo.conf: Permissive broker config for demo. - ops/scripts/demo-seed.py: Interactive setup script with step-by-step instructions for first-time users.
-
Pierros Papadeas authored
Architecture evolution from single-operator/single-mission to organization-grade ground station network controller with concurrent multi-satellite tracking. Data Model: - Organization model with slug-based routing - Membership model with role-based access (owner/operator/viewer) - Campaign model replacing single-mission (draft/scheduled/active/completed) - Assignment model for per-station campaign time windows - Alembic migrations with auto-migration of v0.1 data to default org - Backward-compatible: legacy Mission model preserved (deprecated) Director: - Multi-campaign main loop processing per-station assignments - MultiTLEManager for concurrent satellite TLE management - Org-scoped MQTT topics with legacy fallback - Per-(station, campaign) tracking state - All payloads use shared.schemas Pydantic models - All topics use shared.topics.Topics methods API: - 14 new org-scoped endpoints (/api/orgs/{slug}/...) - RBAC middleware with role hierarchy enforcement - Campaign CRUD with auto-transmitter fetch from SatNOGS - Assignment CRUD with overlap detection - Auto-organization creation for new users - All legacy endpoints preserved for backward compatibility Dashboard: - Multi-satellite map visualization with per-campaign colors - Campaign sidebar replacing single-mission display - 4-step campaign creation wizard - Organization switcher in navbar - Per-station campaign assignment display with colored borders - Dual MQTT subscription (org-scoped + legacy) Shared Package: - 10 org-scoped topic methods in Topics class - 10 new Pydantic schemas (Campaign, Assignment, Organization) - 12 new constants (campaign/assignment statuses, roles) Documentation: - All docs updated for v0.2 architecture - Strategy document (docs/research/07-v02-strategy.md) - Deployment guide includes Alembic migration steps - Changelog with full v0.2.0 entry