feat(infra): containerize BFF + compose-up smoke (refs #29)

Add a multi-stage Dockerfile for the BFF (.NET 10 sdk -> aspnet runtime,
curl for the healthcheck) and infra/docker-compose.yml running it with a
/health healthcheck. `docker compose up --wait` gates on the container
reporting healthy, which is the compose-up smoke test. Document the path
in the README.

Verified: image builds; `docker compose up -d --build --wait` reports the
container Healthy; host curl http://localhost:8080/health -> 200 Healthy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-03 13:46:17 +02:00
parent 7d67ecbde1
commit 2780bce4fd
4 changed files with 61 additions and 0 deletions

View File

@@ -56,6 +56,15 @@ docker compose -f infra/docker-compose.yml up -d
Health checks should be green within ~3 minutes on a developer machine. If something fails, see [docs/runbooks/local-startup.md](docs/runbooks/local-startup.md).
> **Wired today (Iteration 0):** only the placeholder BFF is in `infra/docker-compose.yml` so far. Bring it up and smoke-test its health endpoint:
>
> ```bash
> docker compose -f infra/docker-compose.yml up -d --build --wait
> curl http://localhost:8080/health # -> Healthy
> ```
>
> `--wait` exits non-zero unless the container reports healthy, so this doubles as the compose-up smoke test. The remaining services and the URLs below land in later slices.
**Default URLs**
| Service | URL |