OD_PROJECT_STORAGE=s3 backend is implemented but never wired into project routes
Author: zenprocessCreated Aug 18, 2026Updated Sep 17, 2026
Labelsbughelp wanted
Summary
apps/daemon/src/storage/project-storage.ts implements a complete S3-compatible
ProjectStorage backend (SigV4 signing, MinIO-compatible, OD_PROJECT_STORAGE=s3
OD_S3_*knobs), but nothing ever callsresolveProjectStorage():
resolveProjectStoragehas zero callers outside the module itself (non-test grep across the repo: only its own definition).OD_PROJECT_STORAGEappears only inside project-storage.ts.- Project routes still read/write through the legacy local-fs helpers in
apps/daemon/src/projects.ts.
So setting OD_PROJECT_STORAGE=s3 today has no effect — the opt-in flag described
in the module docs isn't wired into the daemon's project routes.
Why this matters for us
We self-host the daemon and want projects (all generated artifacts) to live in
MinIO instead of a container volume. Right now we work around it with an external
mc mirror sidecar, but the native adapter (when wired) would remove the sync
latency and the split-brain risk.
Ask
- Confirm whether wiring
OD_PROJECT_STORAGEinto the project routes is planned (the header comment says "opt-in flag away" — the flag just isn't read anywhere). - If there's an existing plan/tracking issue, happy to test the first build that wires it against our MinIO deployment.
Source: nexu-io/open-design