# 🌌 DAARION Space Service **ВСрсія:** 1.0.0 **Бтатус:** Development (Mock Data) **ΠŸΠΎΡ€Ρ‚:** 7002 --- ## πŸ“‹ Опис Space Service β€” Ρ†Π΅ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€ Π΄Π°Π½ΠΈΡ… для Space Dashboard Π² СкосистСмі DAARION. Π’Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Π°Ρ” Π·Π° космічний ΡˆΠ°Ρ€ Π²Ρ–Π·ΡƒΠ°Π»Ρ–Π·Π°Ρ†Ρ–Ρ— (planets, nodes, events). ### Π€ΡƒΠ½ΠΊΡ†Ρ–ΠΎΠ½Π°Π» - πŸͺ **Space Planets** β€” DAO-ΠΏΠ»Π°Π½Π΅Ρ‚ΠΈ Π· ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌΠΈ - πŸ–₯️ **Space Nodes** β€” Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ– ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½ΠΎΠ΄ - πŸ“‘ **Space Events** β€” ΠΏΠΎΠ΄Ρ–Ρ— космічного рівня - πŸ”­ **Anomaly Detection** β€” виявлСння Π°Π½ΠΎΠΌΠ°Π»Ρ–ΠΉ - 🌠 **Governance Temperature** β€” Π°ΠΊΡ‚ΠΈΠ²Π½Ρ–ΡΡ‚ΡŒ управління --- ## πŸš€ Π¨Π²ΠΈΠ΄ΠΊΠΈΠΉ старт ### Π§Π΅Ρ€Π΅Π· Docker Compose ```bash # Π— корСня ΠΏΡ€ΠΎΡ”ΠΊΡ‚Ρƒ ./scripts/start-city-space-services.sh ``` ### Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎ (Development) ```bash cd services/space-service # Π‘Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΠΈ Π²Ρ–Ρ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π΅ сСрСдовищС python -m venv venv source venv/bin/activate # Встановити залСТності pip install -r requirements.txt # Запустити сСрвіс python main.py ``` --- ## πŸ“‘ API Endpoints ### **GET** `/health` Health check endpoint --- ### **GET** `/space/planets` ΠŸΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ” DAO-ΠΏΠ»Π°Π½Π΅Ρ‚ΠΈ Ρƒ космічному ΡˆΠ°Ρ€Ρ– **Response:** `List[SpacePlanet]` ```json [ { "dao_id": "dao:3", "name": "Aurora Circle", "health": "good", "treasury": 513200, "activity": 0.84, "governance_temperature": 72, "anomaly_score": 0.04, "position": { "x": 120, "y": 40, "z": -300 }, "node_count": 12, "satellites": [...] } ] ``` --- ### **GET** `/space/nodes` ΠŸΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ” Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ– ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ усіх Π½ΠΎΠ΄ **Response:** `List[SpaceNode]` ```json [ { "node_id": "node:03", "name": "Quantum Relay", "microdao": "microdao:7", "gpu": { "load": 0.72, "vram_used": 30.1, "vram_total": 40.0, "temperature": 71 }, "cpu": { "load": 0.44, "temperature": 62 }, "memory": { "used": 11.2, "total": 32.0 }, "network": { "latency": 12, "bandwidth_in": 540, "bandwidth_out": 430, "packet_loss": 0.01 }, "agents": 14, "status": "healthy" } ] ``` --- ### **GET** `/space/events` ΠŸΠΎΡ‚ΠΎΡ‡Π½Ρ– Space/DAO/Node ΠΏΠΎΠ΄Ρ–Ρ— **Query Parameters:** - `seconds` (optional): Time window in seconds (default: 120) **Response:** `List[SpaceEvent]` ```json [ { "type": "dao.vote.opened", "dao_id": "dao:3", "timestamp": 1735680041, "severity": "info", "meta": { "proposal_id": "P-173", "title": "Budget Allocation 2025" } } ] ``` --- ## πŸ—ΊοΈ Π‘Ρ…Π΅ΠΌΠ° Π°Π³Ρ€Π΅Π³Π°Ρ†Ρ–Ρ— Π΄Π°Π½ΠΈΡ… ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Space Service β”‚ β”‚ (Port: 7002) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β–Ό β–Ό β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ microDAO β”‚ β”‚ Node β”‚ β”‚ Agent β”‚ β”‚ Service β”‚ β”‚ Metrics β”‚ β”‚ Registry β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β–Ό β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ NATS β”‚ β”‚ Redis / β”‚ β”‚ JetStream β”‚ β”‚ Timescale β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- ## πŸ“Š Π”ΠΆΠ΅Ρ€Π΅Π»Π° Π΄Π°Π½ΠΈΡ… | Endpoint | Π”ΠΆΠ΅Ρ€Π΅Π»Π° | NATS Subject | | --------------- | ------------------------------------- | --------------------- | | `/planets` | microDAO service + Node metrics | `dao.state.*` | | `/nodes` | NodeMetrics Agent β†’ NATS | `node.metrics.*` | | `/events` | JetStream Stream | `events.space.*` | --- ## πŸ”§ ΠšΠΎΠ½Ρ„Ρ–Π³ΡƒΡ€Π°Ρ†Ρ–Ρ ### Environment Variables ```bash # Service LOG_LEVEL=INFO ENVIRONMENT=development # Redis REDIS_URL=redis://redis:6379 # NATS NATS_URL=nats://nats:4222 # CORS CORS_ORIGINS=http://localhost:8899,https://daarion.city ``` --- ## πŸ§ͺ ВСстування ```bash # Health check curl http://localhost:7002/health # Get planets curl http://localhost:7002/space/planets # Get nodes curl http://localhost:7002/space/nodes # Get events (last 60 seconds) curl "http://localhost:7002/space/events?seconds=60" # Π§Π΅Ρ€Π΅Π· API Gateway curl http://localhost:8080/space/planets ``` --- ## πŸ“š ДокумСнтація - **OpenAPI Docs:** http://localhost:7002/docs - **ReDoc:** http://localhost:7002/redoc --- ## πŸ—ΊοΈ Roadmap ### Phase 1: Mock Data βœ… - [x] FastAPI application - [x] Mock planets/nodes/events - [x] OpenAPI documentation - [x] Docker setup ### Phase 2: Real Data Integration (Current) - [ ] NATS client integration - [ ] Redis client for metrics - [ ] Real-time node metrics - [ ] DAO state integration - [ ] Event stream from JetStream ### Phase 3: Advanced Features - [ ] Anomaly detection algorithm - [ ] Governance temperature calculation - [ ] Predictive analytics - [ ] WebSocket support --- ## πŸ“„ License Proprietary β€” DAARION Ecosystem