feat(cluster): Seite komplett neu — Blank-Page-Fix + Node-Join-Wizard
Seite war komplett leer wenn die Cluster-API einen Fehler zurückgab (if(!data) return null). Jetzt: sichtbarer Error-Banner mit Retry, keine leere Seite mehr. Neuer 4-Schritt-Wizard "Zweiten Node hinzufügen" immer sichtbar: 1. Installer-Oneliner (copyable) 2. Join-Token generieren (Button → POST /cluster/join-tokens) 3. cluster-join-Befehl inkl. Token inline auf der Seite (kein Modal) 4. systemctl restart edgeguard-api Token + CA-Fingerprint + Befehl erscheinen direkt in Schritt 3 nach Token-Generierung — kein separates Modal mehr nötig. common.retry i18n-Key ergänzt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -448,7 +448,19 @@
|
||||
"noSelf": "Selbst-Registrierung in ha_nodes fehlgeschlagen — Setup-Wizard durchlaufen.",
|
||||
"peersTitle": "Peers ({{count}})",
|
||||
"singleNodeTitle": "Single-Node-Modus",
|
||||
"singleNodeDesc": "Nur diese Box bekannt. Zusätzlicher Knoten? `edgeguard-ctl cluster-join` (kommt in Phase 3.2).",
|
||||
"singleNodeDesc": "Nur diese Box bekannt. Folge den Schritten unten um einen zweiten Node beizutreten.",
|
||||
"addNodeTitle": "Zweiten Node dem Cluster hinzufügen",
|
||||
"step1Title": "1 — EdgeGuard auf dem neuen Host installieren",
|
||||
"step1Desc": "Als root auf dem neuen Host ausführen (Debian 13, amd64):",
|
||||
"step2Title": "2 — Join-Token hier generieren (auf diesem Primary-Node)",
|
||||
"step2Desc": "Erzeugt einen einmaligen HMAC-Token, der 30 Minuten gültig ist. Der Token autorisiert den neuen Node ein signiertes Cluster-TLS-Zertifikat zu erhalten.",
|
||||
"step3Title": "3 — Auf dem neuen Node ausführen",
|
||||
"step3NoToken": "Zuerst oben auf \"Join-Token erzeugen\" klicken — der vollständige Befehl erscheint dann hier.",
|
||||
"step4Title": "4 — edgeguard-api auf dem neuen Node neu starten",
|
||||
"step4Desc": "Der Dienst lädt das neue Cluster-TLS-Zertifikat und beginnt Heartbeats zu senden. Der Node erscheint innerhalb von 30 Sekunden in der Peers-Tabelle.",
|
||||
"apiUnreachable": "Cluster-API nicht erreichbar",
|
||||
"tokenLabel": "Token",
|
||||
"caFingerprintLabel": "CA-Fingerabdruck",
|
||||
"driftBanner": "Config-Drift erkannt",
|
||||
"driftBannerDesc": "Ein oder mehrere Peers haben einen anderen Config-Hash als dieser Node. Entweder stehen noch Änderungen in der Outbox, oder auf einem Peer wurde direkt in der DB editiert. Warte bis die Outbox leer ist oder starte Diagnostics.",
|
||||
"col": {
|
||||
@@ -1069,6 +1081,7 @@
|
||||
"download": "Download",
|
||||
"copy": "Kopieren",
|
||||
"copied": "Kopiert",
|
||||
"retry": "Erneut versuchen",
|
||||
"close": "Schließen",
|
||||
"refresh": "Aktualisieren",
|
||||
"up": "UP",
|
||||
|
||||
Reference in New Issue
Block a user