ITSM/docs/adr/ADR-001-rust-axum-rewrite.md

24 lines
1.2 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.