mirror of
https://github.com/azaion/satellite-provider.git
synced 2026-06-21 23:51:13 +00:00
b0fffa6d42
Phase A baseline outputs from /autodev (Steps 1-5): - Problem & solution docs (_docs/00_problem, _docs/01_solution) - Codebase documentation (_docs/02_document) incl. architecture, module-layout, glossary, system-flows, baseline compliance scan - Test specs (blackbox, performance, resilience, security, resource, traceability matrix) - Test task decomposition (_docs/02_tasks/todo): AZ-285..AZ-290 - Testability refactor (_docs/04_refactoring/01-testability-refactoring): - TC-01 Move DownloadedTileInfoV2 + new ExistingTileInfo to Common.DTO - TC-02 Replace dead ISatelliteDownloader API with real signatures - TC-03 GoogleMapsDownloaderV2 implements ISatelliteDownloader - TC-04 TileService depends on ISatelliteDownloader (mockable) - TC-05 DI + endpoints use ISatelliteDownloader - Test runner scripts (scripts/run-tests.sh, run-performance-tests.sh) - Autodev state pointer (_docs/_autodev_state.md) Prepares the codebase for AZ-285..AZ-290 unit/integration test work. Co-authored-by: Cursor <cursoragent@cursor.com>
1.9 KiB
1.9 KiB
Restrictions
Software Constraints
| Constraint | Value | Source |
|---|---|---|
| Runtime | .NET 8.0 (LTS) | global.json, Dockerfile |
| Database | PostgreSQL 16 | docker-compose.yml |
| Container runtime | Docker | Dockerfile, docker-compose.yml |
| Image processing | SixLabors.ImageSharp 3.1.11 | SatelliteProvider.Services.csproj |
| CI platform | Woodpecker CI | .woodpecker/*.yml |
| Target architecture | ARM64 (primary), AMD64 (prepared) | .woodpecker/02-build-push.yml |
Operational Constraints
| Constraint | Value | Source |
|---|---|---|
| Deployment model | Single instance (no horizontal scaling) | In-process Channel queue, no distributed state |
| Max concurrent tile downloads | 4 (configurable) | ProcessingConfig |
| Max concurrent region processing | 20 (configurable) | ProcessingConfig |
| Queue capacity | 1000 requests | ProcessingConfig |
| Max ZIP archive size | 50 MB | RouteProcessingService |
| Tile versioning | Year-based integer (e.g., 2025) | Migration 004 |
Environment Constraints
| Constraint | Value | Source |
|---|---|---|
| Storage | Local filesystem (./tiles, ./ready, ./logs) | docker-compose.yml volumes |
| Network | Outbound HTTPS to Google Maps required | GoogleMapsDownloaderV2 |
| Authentication | None (internal/trusted network only) | Program.cs (no auth middleware) |
| Database persistence | Docker volume (postgres_data) | docker-compose.yml |
Dependencies on External Services
| Service | Criticality | Failure Impact |
|---|---|---|
Satellite imagery provider (provider-agnostic via ISatelliteDownloader; e.g., Google Maps) |
High | No new tiles can be downloaded; cached tiles still served |
| PostgreSQL | Critical | Service cannot start; all state operations fail |
| File system | Critical | Cannot store tiles or produce output artifacts |