# ADR-0001: PostgreSQL als persistente Plattformdatenbank **Status:** Beschlossen **Datum:** 12.07.2026 ## Kontext Tuxflotte verwaltet zunehmend persistente und miteinander verknüpfte Plattformdaten. Dazu gehören unter anderem: - Organisationen - Geräte - Gerätezuordnungen - Hardware-Snapshots - Netzwerkprofile - Workspaces - Backends - Runtime Blueprints - Secret-Referenzen Die bisherige dateibasierte Device Registry diente dem Nachweis des grundlegenden Provisioning-Handshakes. Für das langfristige Plattformmodell ist eine strukturierte persistente Datenhaltung erforderlich. ## Entscheidung Tuxflotte verwendet PostgreSQL als persistente Plattformdatenbank. Die Datenbank bildet die Beziehungen zwischen Organisationen, Geräten, Hardware-Snapshots, Workspaces, Backends und Gerätezuordnungen ab. Die dateibasierte Device Registry wird nicht als dauerhaftes Persistenzmodell weitergeführt. Hardwareinformationen werden als zeitbezogene Snapshots gespeichert. Die stabile Geräteidentität und der erfasste Hardwarezustand werden getrennt behandelt. Secrets werden nicht als Klartextbestandteil der fachlichen Plattformdaten gespeichert. Das konkrete Secret-Management wird in einer separaten Architekturentscheidung definiert. ## Konsequenzen Der Provisioning-Server erhält eine PostgreSQL-Anbindung. Änderungen am Datenbankschema werden über versionierte Migrationen verwaltet. Geräte erhalten eine interne, von Hardwaremerkmalen unabhängige Datenbank-ID. Der Hardware-Fingerprint dient der Wiedererkennung eines Geräts während des Provisioning-Handshakes. Hardwaredaten werden getrennt von der Geräteidentität als Snapshots gespeichert. Ein Gerät kann mehrere Hardware-Snapshots besitzen. Netzwerkinterfaces und Massenspeicher können einem Hardware-Snapshot zugeordnet werden. Die bestehende dateibasierte Device Registry wird nach erfolgreicher Einführung der Datenbank entfernt. Die Provisioning API bleibt von der konkreten Persistenzimplementierung unabhängig.