ITSM/docs/adr/ADR-006-multistage-build.md

910 B
Executable File
Raw Permalink Blame History

ADR-006: Multi-Stage-Docker-Build statt Clone-on-Start

Datum: 2026-07-15 · Status: Akzeptiert

Kontext

Der frühere bootstrap.sh klonte bei JEDEM Container-Start main und installierte ungepinnte pip-Pakete: unreproduzierbar, ungetesteter Stand konnte durch bloßen Neustart live gehen; forge_client.py wurde dabei sogar vergessen (Feature in Prod defekt).

Entscheidung

Multi-Stage-Dockerfile (rust:1-slim-bookworm → debian:bookworm-slim, USER nobody, HEALTHCHECK). deploy/docker-compose.yml baut per build: aus dem geklonten Quellstand; Neustart startet exakt das gebaute Image.

Konsequenzen

  • Reproduzierbare, testbare Deployments; Rollback = altes Image/älterer Commit. Update erfordert bewussten Build (~3 min auf SRV1361746) — gewollt. postgres:16-alpine wird beibehalten (pgdata-Kompatibilität); Major-Upgrade wäre ein eigener Change mit pg_upgrade/dump+restore.