GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
980 B
980 B
ADR-004 — Storage Strategy
Status
Accepted for V1.
Context
GeoIntel stores multiple artifact types: uploaded rasters, vector uploads, generated tiles, model outputs, masks, exports, and reports.
Decision
Use local filesystem storage for V1 with a strict directory convention:
storage/uploads/for original user uploads,storage/originals/for normalized source copies,storage/tiles/for generated raster tiles,storage/masks/for segmentation masks,storage/derived/for processed artifacts,storage/exports/for GeoJSON/COCO/YOLO exports,storage/reports/for reports,storage/models/for model artifacts.
Database rows reference files by relative path and content hash.
Consequences
Simple local development and predictable repo behavior. Future MinIO/S3 migration remains possible because storage calls must go through a service boundary.
Non-goals
No direct random file writes from routes or frontend-specific paths.