Commit Graph

28 Commits

Author SHA1 Message Date
jubnl 49976ab383 feat(storage): retire photos as a configurable category — served-only via the ServedCategory seam 2026-08-20 20:20:43 +02:00
jubnl 32a12068c6 feat(server): allow mirrors on any storage category — lift the backups-only rule 2026-08-20 18:50:38 +02:00
jubnl 28ae8f3959 test(server): storage slice-1 review follow-ups — mirror s3-replica probe decrypt, all-encrypted seed without key, test-route 401 2026-08-20 13:33:24 +02:00
jubnl bc55167a19 fix(server): final-review polish — encryption-gate wording, all-field sentinel guard, README/e2e notes 2026-08-20 09:05:20 +02:00
jubnl 67f237733e feat(server): api/admin/storage/test — per-target ephemeral probes, mirror targets probed individually 2026-08-20 08:19:02 +02:00
jubnl 7439bcd33c feat(server): api/admin/storage GET/PUT — masked secrets, preview-gated saves, wired reload, audits 2026-08-20 08:06:02 +02:00
jubnl 5dc78dd5cf feat(server): registry snapshot() — effective storage config with provenance 2026-08-20 07:58:10 +02:00
jubnl 261c67d572 feat(server): seed-once storage-config.json boot import — fail closed on any invalid seed 2026-08-20 01:01:21 +02:00
jubnl d9f6151f53 feat(server): deriveSecurity.encryptionKeySet and storage secret plumbing (gate, encrypt, unmask, mask, redact) 2026-08-20 00:50:27 +02:00
jubnl a6fb82833f feat(server): remove TREK_S3_*/TREK_UPLOADS_DIR — tombstone boot rule, built-in override as the relocation path 2026-08-20 00:41:03 +02:00
jubnl 5758471e4e feat(server): accept settings-declared s3 backends — shared-schema options, decrypt-at-build, registry preview() 2026-08-20 00:30:47 +02:00
jubnl f86e55f104 chore(server): final-review polish — stale CI refs, dockerignore key, boundary pins, zero-byte tempfile contract case 2026-08-19 22:46:52 +02:00
jubnl 0a4c36e1fb fix(server): scope the zero-byte put workaround to buffered bodies; bind test MinIO to localhost 2026-08-19 21:54:44 +02:00
jubnl 0054ae8287 fix(server): S3 driver zero-byte put — work around aws4 duplicate Content-Length signing defect 2026-08-19 21:46:51 +02:00
jubnl 52b39c7201 test(server): env-gated S3 driver contract suite against MinIO 2026-08-19 21:39:50 +02:00
jubnl 8b84586db9 feat(server): env-declared s3-main storage backend; settings-declared s3 rejected 2026-08-19 21:34:50 +02:00
jubnl 6d3d57f97f fix(server): S3 driver Upload monitoring — Transform interposition, stream cleanup 2026-08-19 21:26:23 +02:00
jubnl 3906fd3841 feat(server): S3 driver put — bounded-peek routing, Upload inactivity deadline 2026-08-19 21:03:28 +02:00
jubnl 683270f911 feat(server): S3 driver getStream and list — ranged full-object stat, iterator pagination 2026-08-19 20:48:53 +02:00
jubnl c3c0a4cd01 feat(server): S3 driver core — aws-lite client seam, stat/delete, driver-owned deadlines 2026-08-19 20:36:56 +02:00
jubnl 8ae73a2b5c test(server): pin ranged-read stat and zero-byte roundtrip in the storage driver contract 2026-08-19 20:20:58 +02:00
jubnl 939c2ec3e8 refactor(memories): immich upload reads through storage; drop uploads-root 2026-08-17 06:15:01 +02:00
jubnl db3c5da04e fix(storage): age-gate the boot spool sweep 2026-08-16 09:53:26 +02:00
jubnl f9d84f5907 fix(storage): default defParamCharset to utf8 in the upload factory 2026-08-16 09:53:25 +02:00
jubnl 7ae7295e1e feat(storage): multer upload options factory 2026-08-16 09:21:15 +02:00
jubnl 75d5bbcfc2 feat(storage): settings-backed registry, StorageService facade, module wiring 2026-08-16 00:21:22 +02:00
jubnl 5ad1670bd9 feat(storage): MirrorDriver composite backend 2026-08-16 00:00:26 +02:00
jubnl 19f18a2b3a feat(storage): storage key validation, driver contract suite, LocalDriver 2026-08-15 23:54:43 +02:00