You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 11, 2026. It is now read-only.
The full-online R2-only news portal profile needs a metadata registry for images stored in Cloudflare R2. PostgreSQL must store metadata and relationships only. Image binaries must remain in R2 object storage.
This issue is full-online only for news portal images and must not introduce local filesystem storage.
Objective
Add a tenant-scoped R2-only media object registry for news images used by blog_content, homepage sections, galleries, ads, SEO images, and video thumbnails.
Scope
Add a schema migration for a metadata table such as:
Depends on: #631, #632
Context
The full-online R2-only news portal profile needs a metadata registry for images stored in Cloudflare R2. PostgreSQL must store metadata and relationships only. Image binaries must remain in R2 object storage.
This issue is full-online only for news portal images and must not introduce local filesystem storage.
Objective
Add a tenant-scoped R2-only media object registry for news images used by
blog_content, homepage sections, galleries, ads, SEO images, and video thumbnails.Scope
Add a schema migration for a metadata table such as:
Suggested columns:
Suggested statuses:
Required constraints:
Object key convention:
tenants/{tenant_id}/blog/news-images/{yyyy}/{mm}/{uuid}.{ext}Application behavior
Add application/domain helpers for:
Out of scope
Acceptance criteria
tenant_id.storage_driveris constrained tocloudflare_r2for this news image registry path.bun run db:migratepasses.bun run testpasses.bun run checkpasses.Security notes
/uploads/...,/public/..., or Docker volume paths.