feat: add post3 s3 proxy for postgresql

Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
2026-02-27 11:37:48 +01:00
commit 21bac4a33f
67 changed files with 14403 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
# POST3-004: S3 HTTP server skeleton
**Status:** Done
**Priority:** P0
**Blocked by:** POST3-003
## Description
Build the post3-server binary with CLI (clap), state management, notmad component lifecycle, and axum router with all S3 routes wired up.
## Acceptance Criteria
- [ ] `main.rs` — dotenvy + tracing_subscriber + cli::execute()
- [ ] `cli.rs` — clap App with `serve` subcommand
- [ ] `cli/serve.rs` — ServeCommand with --host flag, starts notmad::Mad with S3Server
- [ ] `state.rs` — State struct (PgPool + Store), runs migrations on new()
- [ ] `s3/mod.rs` — S3Server implementing notmad::Component
- [ ] `s3/router.rs` — all 9 routes mapped to handler functions
- [ ] Server starts, binds to port, responds to requests
- [ ] `cargo check -p post3-server` passes