21 lines
790 B
Markdown
21 lines
790 B
Markdown
# 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
|