Stand vor Einführung des Nacht-Agenten

This commit is contained in:
Kundencenter 2026-09-27 00:51:32 +02:00
commit 4763548bfb
168 changed files with 12726 additions and 0 deletions

View file

@ -0,0 +1,7 @@
# ADR 0001: MariaDB statt PostgreSQL
Status: angenommen (26.09.2026, Vorgabe des Betreibers: MariaDB 11.8 ist bereitgestellt)
**Entscheidung:** MariaDB ist die führende Datenbank, utf8mb4_unicode_ci, Zugriff über `mysql2` mit eigenen SQL-Migrationen.
**Vorteile:** keine zweite Datenbank im Betrieb, vorhandenes Backup/Know-how. **Nachteile:** kein Row-Level-Security, DDL nicht transaktional.
**Folgen:** Mandantentrennung erfolgt in der Policy-Schicht und in Abfragen (`canInOrg`) und wird per Integrationstest geprüft.
Audit-Unveränderlichkeit: Hash-Kette (`audit_events`); zusätzlich soll die Anwendung später eine DB-Rolle mit nur INSERT/SELECT auf dieser Tabelle nutzen (offen).
Alle DB-Verbindungen laufen in UTC (`SET time_zone='+00:00'`).

View file

@ -0,0 +1,6 @@
# ADR 0002: Modularer Monolith (Fastify + Next.js + Worker)
Status: angenommen
**Entscheidung:** Drei Prozesse (API, Worker, Web) in einem pnpm-Monorepo. Fachlichkeit in Modulen (`KcModule`) mit eigenen Routen und Rechten.
Fastify statt NestJS: weniger Abhängigkeiten, gleiche Modulgrenzen durch eigenes Modulmanifest. Jobs zunächst in MariaDB (`jobs`, `FOR UPDATE SKIP LOCKED`); Redis ist nicht nötig und kann später ergänzt werden.
**Regeln:** Module importieren einander nicht; Kommunikation über `core/*` und Jobs. Connectoren werden als eigene Module/Pakete hinter einem Connectorvertrag ergänzt (Ticket KUNDENCENT-6).
**Bekannte Abweichung:** Config-Lader ist in `apps/api` und `apps/worker` dupliziert; bei weiterem Wachstum in ein Paket `packages/config` auslagern.