Store relay settings overrides in PostgreSQL (SETTINGS_BACKEND=db)
Maintainer antworten meist innerhalb von 1 Tag
@Ferryx349 arbeitet bereits daran.
Seit 05.9.2026.
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
Problem
Operator settings overrides currently live in settings.yaml under NOSTR_CONFIG_DIR with legacy settings.json fallback. That creates operational friction:
- When nostream releases add new default settings keys, operators editing YAML may not know new values exist or need to be added.
- Deploy/bootstrap flows copy config files that can drift from what the application expects after upgrades.
- Operators end up maintaining files that are easy to overwrite or fall out of sync with releases.
We need durable storage for operator overrides that survives upgrades without requiring manual YAML edits for every new setting.
Proposal
Store only operator overrides in PostgreSQL — not the full settings blob. Shipped defaults remain in resources/default-settings.yaml and are merged at runtime.
- Add a
settings_overridestable (pathTEXT PK,valueJSONB,updated_atTIMESTAMPTZ). - Introduce
SETTINGS_BACKEND=file|db(default:filefor backwards compatibility). - When
SETTINGS_BACKEND=db:- Bootstrap loads overrides from PostgreSQL on startup.
- If the table is empty, import existing
settings.yaml/ legacysettings.jsononce. - Admin settings PATCH and restore persist overrides to the DB.
- Runtime settings = shipped defaults merged with DB overrides.
Out of scope (follow-ups)
- DB-mode backup snapshots on each PATCH file mode still creates timestamped YAML backups.
- Hot-reload of DB overrides across all cluster workers after admin changes.
- Refactoring compose, bootstrap copied files so operators never edit release-owned files.
- Full settings schema migration, versioning in the DB.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 829
- Forks
- 234
- Ø Merge
- 4 T. 5 Std.
- Gemergte PRs (30 T.)
- 22
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus cameri/nostream
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
cameri/nostream#811 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
feat(nip77): negentropy reconciliation core for the PostgreSQL backendEvtl. vergeben @Priyanshubhartistm hat das vor 2 Tagen übernommen. Offenenhancement
cameri/nostream#801 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
feat(admin): bounded NIP-66 probe history and Network Health timelineEvtl. vergeben @Ferryx349 hat das vor 2 Tagen übernommen. OffenAdmin Console enhancement
cameri/nostream#800 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
feat(nip85): Web-of-Trust spam mitigation engineEvtl. wieder frei @Ferryx349 hat das vor 66 Tagen übernommen, und es ist kein Pull Request offen. Offenenhancement
cameri/nostream#720 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in cameri/nostream
Ähnliche Issues
-
effort:S priority:P2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
dam-agents/dam#4562 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug p3 triaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug javascript P2-medium python release:v3.1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
adrirubio/claude-deck#546 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: desktop area: website priority: P2 type: feature
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
appandflow/stim#3411 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag