feat: add media storage integration #87
No reviewers
Labels
No labels
activitypub
admin
api
articles
auth
bug
cleanup
cli
comments
compatibility
config
contacts
database
deployment
design
dev-env
docs
documentation
email
enhancement
feature
federation
feed
homepage
implementation
integration
media
openapi
priority:high
priority:low
priority:medium
proof
public-routes
public-ui
release
safety
social
sources
status:active
status:canceled
status:done
status:inprogress
status:waiting
syndication
tailwind
template
test
web
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
erik/slugkit!87
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/task-36204c4c-media-storage-integration"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary\n- Add S3-compatible media storage config and AWS SDK S3 storage implementation with Garage path-style support.\n- Add local Garage process to make dev via Procfile.dev and scripts/dev-garage.sh.\n- Add media metadata migration and reusable media service for upload, public URL generation, metadata persistence, and delete.\n- Document local dev Garage and production homelab Garage env variables.\n\n## Verification\n- npm exec --workspace @slugkit/template-site -- vitest run --config ../../vitest.config.ts src/media src/db/tests/migrations.test.ts\n- npm run typecheck\n- ./scripts/pre-pr.sh\n\nTask: #task-36204c4c
PR Review: Approved
Summary
The PR adds the media storage foundation requested by
task-36204c4c: S3-compatible storage configuration, Garage-compatible storage adapter, SQLite media metadata, reusable upload/delete/public URL service functions, local Garage dev process wiring, documented env vars, and fake-backed tests. A review gap around standard API error payloads for media validation/storage failures was fixed in follow-up commit0d4a2b2.Acceptance criteria
.env.exampledocuments required media storage variables.Blocking issues
None.
Warnings
None.
Verification
npm exec --workspace @slugkit/template-site -- vitest run --config ../../vitest.config.ts src/media src/api/__tests__/responses.test.tsnpm run typecheck./scripts/pre-pr.sh#99: success (build-lint-test, 28s)Final verdict
Approved. Ready for human merge approval.