Initial public release
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
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
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user