Files
geointel/adr/ADR-004-storage-strategy.md
Jens faeb58ef6d
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
Initial public release
2026-08-31 21:56:53 +02:00

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.