Phase 11: Docker + Production Polish #10

Closed
opened 2026-02-02 19:58:46 +01:00 by qwc · 1 comment
Owner

Multi-stage Dockerfile (golang:alpine → alpine, CGO_ENABLED=0), docker-compose.yml, /healthz endpoint, graceful shutdown, rate limiting on login, config.yaml.example.

Tests needed:

  • Unit: rate limiter
  • Integration: healthz, graceful shutdown
  • Docker: build succeeds, image runs
Multi-stage Dockerfile (golang:alpine → alpine, CGO_ENABLED=0), docker-compose.yml, `/healthz` endpoint, graceful shutdown, rate limiting on login, config.yaml.example. **Tests needed:** - Unit: rate limiter - Integration: healthz, graceful shutdown - Docker: build succeeds, image runs
Author
Owner

Implemented in f602417:

  • Multi-stage Dockerfile (golang:1.24-alpine builder → alpine:3.21 runtime, CGO_ENABLED=0, non-root user, healthcheck)
  • .dockerignore for clean builds
  • docker-compose.yml for local development
  • Rate limiting middleware on login endpoint (10 req/min per IP)
  • Rate limiter unit tests (allow/block/reset/cleanup/middleware)
  • Integration test for login rate limiting via httptest

Health check (/healthz), graceful shutdown, and config.yaml.example were already in place from earlier phases.

Implemented in f602417: - Multi-stage Dockerfile (golang:1.24-alpine builder → alpine:3.21 runtime, CGO_ENABLED=0, non-root user, healthcheck) - `.dockerignore` for clean builds - `docker-compose.yml` for local development - Rate limiting middleware on login endpoint (10 req/min per IP) - Rate limiter unit tests (allow/block/reset/cleanup/middleware) - Integration test for login rate limiting via httptest Health check (`/healthz`), graceful shutdown, and `config.yaml.example` were already in place from earlier phases.
qwc closed this issue 2026-02-02 20:44:09 +01:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
qwc-open/asiakirjat#10
No description provided.