docs: presigned-URL upload flow + B2 lifecycle setup
09-storage.md:
- Replaced the "Upload flow" section. The previous text described the
multipart-via-API path that was removed in b7f8329. Now documents
the three-step direct-to-B2 flow (presign → POST to B2 → attach
via upload_ids[]) with an ASCII diagram and a server-side
enforcement-points table.
- Replaced the "Future: signed URLs" placeholder (since presigned
URLs are now the present, not the future).
- Added "Lifecycle and retention" subsections covering the
pending_uploads cleanup cron (worker, 30 * * * *), the B2 bucket
lifecycle as backstop (uploads/ prefix, 7-day hide + 1-day delete),
and the still-open user-deletion cascade gap.
14-deployment-process.md:
- Added a "One-time B2 bucket lifecycle (manual)" section explaining
why the rule can't live in the deploy script (B2's S3 lifecycle
API is partial), the exact rule to apply via the Backblaze
console, and a verification command.
docs/deployment/README.md:
- Updated the chapter 9 description to mention presigned-URL uploads.
README.md (root):
- Added a paragraph under "Object storage" pointing to the new
upload architecture and the relevant deployment-book chapters.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -184,6 +184,15 @@ needed for local dev. For the complete production env var reference
|
||||
|
||||
Leave all four `B2_*` empty in dev to fall back to a local `/app/uploads` volume.
|
||||
|
||||
**Upload architecture (since `b7f8329`)**: Image and document uploads go
|
||||
**directly from the client to B2** via a presigned POST policy issued by
|
||||
`POST /api/uploads/presign`. Bytes never traverse the api server. B2
|
||||
enforces a 10 MB per-object cap at the protocol level. The worker reaps
|
||||
orphaned upload sessions hourly via the `maintenance:upload_cleanup`
|
||||
cron. See [`docs/deployment/09-storage.md`](./docs/deployment/09-storage.md)
|
||||
for the full flow, and [`docs/deployment/14-deployment-process.md`](./docs/deployment/14-deployment-process.md#one-time-b2-bucket-lifecycle-manual)
|
||||
for the one-time bucket lifecycle setup.
|
||||
|
||||
### Worker schedules (UTC hours)
|
||||
|
||||
| Variable | Description | Default |
|
||||
|
||||
Reference in New Issue
Block a user