Settings-Schema versionieren und atomar validieren #13

Closed
opened 2026-07-12 01:22:26 +02:00 by frank · 2 comments
Owner

Kontext

Settings liegen als freie String-/JSON-Werte in SQLite. Mehrteilige Updates können Teilzustände speichern; laufende und erst nach Neustart wirksame Serverwerte sind nicht sauber getrennt.

Ziel

Ein typisiertes, versioniertes Settings-Schema mit Validierung, Migrationen und atomaren Updates einführen.

Technische Leitplanken

  • Schema-Version und vorwärts gerichtete Migrationen
  • Typen für Server-, Connector-, Extension- und AI-Konfiguration
  • Transaktionen für zusammengehörige Änderungen
  • Laufende und pending-restart Werte explizit unterscheiden

Akzeptanz

  • Ungültige Ports, Hosts und Connector-Werte werden vor Persistierung abgelehnt
  • Fehlgeschlagene Updates hinterlassen keinen Teilzustand
  • Bestehende Installationen werden automatisch migriert
  • API-Fehler nennen Feld und Validierungsursache

Bezug: #7, Review-Bereiche E und F.

## Kontext Settings liegen als freie String-/JSON-Werte in SQLite. Mehrteilige Updates können Teilzustände speichern; laufende und erst nach Neustart wirksame Serverwerte sind nicht sauber getrennt. ## Ziel Ein typisiertes, versioniertes Settings-Schema mit Validierung, Migrationen und atomaren Updates einführen. ## Technische Leitplanken - Schema-Version und vorwärts gerichtete Migrationen - Typen für Server-, Connector-, Extension- und AI-Konfiguration - Transaktionen für zusammengehörige Änderungen - Laufende und pending-restart Werte explizit unterscheiden ## Akzeptanz - [ ] Ungültige Ports, Hosts und Connector-Werte werden vor Persistierung abgelehnt - [ ] Fehlgeschlagene Updates hinterlassen keinen Teilzustand - [ ] Bestehende Installationen werden automatisch migriert - [ ] API-Fehler nennen Feld und Validierungsursache Bezug: #7, Review-Bereiche E und F.
Author
Owner

Die Trennung sensitiver Werte aus dem Settings-Schema erfolgt gemeinsam mit #11.

Die Trennung sensitiver Werte aus dem Settings-Schema erfolgt gemeinsam mit #11.
Author
Owner

Implementiert in Commit 54a94c2: versioniertes Settings-Schema, atomare Batch-Updates, validierte Server-/Connector-/Extension-/AI-Werte sowie explizite active/pendingRestart-Serverkonfiguration. Verifiziert mit make test (51 Tests).

Implementiert in Commit 54a94c2: versioniertes Settings-Schema, atomare Batch-Updates, validierte Server-/Connector-/Extension-/AI-Werte sowie explizite active/pendingRestart-Serverkonfiguration. Verifiziert mit make test (51 Tests).
frank closed this issue 2026-07-12 07:52:52 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
frank/streamertool#13
No description provided.