1.2 KiB
Executable File
1.2 KiB
Executable File
ADR-001: Rust/axum statt Python/Flask (In-Place-Rewrite)
Datum: 2026-07-15 · Status: Akzeptiert · Entscheider: Moe (Vorgabe), umgesetzt via Claude
Kontext
Die Flask-Version (single-file, ungepinnte Dependencies) hatte 8 Sicherheits- Review-Befunde; Nutzer-Vorgabe: alle Schwachstellen beseitigen, technisch aktuellster Stand, ITIL v3/v4, Umstellung auf Rust. Es existierte ein Parallelbau-Plan (AES projects/itsm-rust) mit späterem Cutover.
Entscheidung
Kompletter In-Place-Rewrite in Rust mit axum 0.7 + tokio-postgres/deadpool + askama — gleicher Stack wie forge-web (einheitliche Technologierichtung). Der Parallelbau-Plan wurde auf explizite Nutzer-Anweisung übersprungen.
Konsequenzen
- Ein Binary, kompilierte Templates, keine Laufzeit-Dependency-Drift mehr.
- Stack-Konsistenz mit Forge (Wartbarkeit, Wissenstransfer). − Kein paralleles Rollback-System; kompensiert durch: identisches Schema (nur additiv migriert), Werkzeug-Hash-Kompatibilität (ADR-003), E2E-Tests vor Push, Compose-Backup als Rollback-Punkt. − Lehre aus Produktion (Forensik phase-010 B4): Kompatibilitätsannahmen gegen ECHTE Produktionsdaten testen, nicht nur gegen eigene Vektoren.