Move development runtime to isolated Athena Debian instance
This commit is contained in:
+9
-7
@@ -6,7 +6,8 @@ Einstellungen → Netzwerk bietet Installation, Conf-Import, Aktivieren/Deaktivi
|
||||
Handshake-Status und die Modi **LAN**, **Tunnel**, **beides**. Diese Modi gelten
|
||||
für die Server-Instanz von Athena Deck und alle ihre `/api/v1/*`-Endpunkte.
|
||||
Produktive Router-, Modell-, Audio- und Bild-Endpunkte werden nicht übernommen.
|
||||
Die lokale Mac-Instanz bleibt ein separater SSH-Verwaltungskanal.
|
||||
Die aktuelle Debian-Entwicklungsinstanz verwendet dieses Modul noch nicht.
|
||||
Die folgenden Angaben dokumentieren den separat getesteten Netzwerk-Prototyp.
|
||||
|
||||
Die Implementierung benutzt einen eigenen Container `athena-deck-network` mit
|
||||
eigenem Netzwerk-Namespace. Im Container laufen ein eingeschränkter Root-Helper
|
||||
@@ -23,7 +24,7 @@ Port-Veröffentlichung; eine Aussage „keinerlei Netzwerkänderung“ wäre daf
|
||||
|
||||
## Einrichtung in der Oberfläche
|
||||
|
||||
1. Auf dem Mac http://127.0.0.1:8108/#network öffnen.
|
||||
1. Die Verwaltungsoberfläche über den SSH-Tunnel öffnen (separater Netzwerk-Prototyp).
|
||||
2. Eigenes Deck-Passwort (mindestens 16 Zeichen) und separaten API-Token
|
||||
(mindestens 32 Zeichen) vergeben, Token sichern und **Modul auf Athena
|
||||
installieren** wählen. Installation läuft asynchron und meldet ihren Status.
|
||||
@@ -33,7 +34,7 @@ Port-Veröffentlichung; eine Aussage „keinerlei Netzwerkänderung“ wäre daf
|
||||
führt zum Status „Verbunden“. Ein geladenes Interface alleine genügt nicht.
|
||||
5. Gewünschten Zugriffsmodus testen, die Zieladresse öffnen, dort anmelden und
|
||||
innerhalb von 120 Sekunden bestätigen. Tunnel/beides muss über den Tunnel,
|
||||
LAN über den LAN-Zugang bestätigt werden. Der Mac-Verwaltungskanal kann diese
|
||||
LAN über den LAN-Zugang bestätigt werden. Der SSH-Verwaltungskanal kann diese
|
||||
Bestätigung nicht ersetzen.
|
||||
|
||||
Ohne Bestätigung wird der vorige Modus wiederhergestellt. Gespeichert wird nur der
|
||||
@@ -62,7 +63,7 @@ gezielten Wiederherstellung liegen. Automatische Updates/Reparatur bestehender
|
||||
Installationen sind noch nicht implementiert.
|
||||
|
||||
Der neue Server verwendet aktuell HTTP. WireGuard schützt den Tunneltransport.
|
||||
Für Einrichtung und Secrets aus entfernten Netzen den lokalen Mac-Verwaltungskanal
|
||||
Für Einrichtung und Secrets aus entfernten Netzen den lokalen SSH-Verwaltungskanal
|
||||
(SSH) verwenden. LAN-HTTP nur in einem vertrauenswürdigen Netz verwenden;
|
||||
HTTPS/Reverse-Proxy-Zertifikate sind noch nicht enthalten. Passwort wird mit
|
||||
PBKDF2-SHA256 (600.000 Iterationen, individuellem Salt) gespeichert. Sitzungen sind
|
||||
@@ -79,7 +80,8 @@ ssh -i /Users/mike_i386/.ssh/athena_key -o BatchMode=yes \
|
||||
|
||||
Dann http://127.0.0.1:8110 öffnen. Dieser Zugriff zählt als LAN, nicht als
|
||||
WireGuard-Bestätigung. Im Tunnel-only-Modus wird auch er gesperrt.
|
||||
Die Mac-Oberfläche auf Port 8108 kann weiterhin per SSH den Helper verwalten.
|
||||
Der frühere Remote-Verwaltungsadapter kann den Helper per SSH verwalten;
|
||||
dieser Adapter ist in der Debian-Entwicklungsinstanz deaktiviert.
|
||||
Zur Wiederherstellung dort Modus LAN testen, SSH-Tunnel öffnen und dort bestätigen.
|
||||
|
||||
Nur den neuen Container stoppen/starten:
|
||||
@@ -125,7 +127,7 @@ serverseitige Prüfung des tatsächlichen Zugangs gelten vor dem API-Aufruf.
|
||||
|---|---|
|
||||
| POST `/login` | `password` |
|
||||
| GET `/network` | Status ohne Secrets |
|
||||
| POST `/network/install` | `password`, `api_token` für neue Server-Instanz, nur angemeldete Mac-Verwaltung |
|
||||
| POST `/network/install` | `password`, `api_token` für neue Server-Instanz, nur angemeldete SSH-Verwaltung |
|
||||
| POST `/network/import` | `config` als Dateiinhalt |
|
||||
| POST `/network/connect` | `{}` |
|
||||
| POST `/network/disconnect` | `{}` |
|
||||
@@ -136,7 +138,7 @@ serverseitige Prüfung des tatsächlichen Zugangs gelten vor dem API-Aufruf.
|
||||
|
||||
`/network` liefert `installed`, `configured`, `enabled`, `connected`,
|
||||
`latest_handshake`, `state`, `mode`, `pending`, `ingress`, URLs und ggf. Fehler.
|
||||
Bei Nicht-Erreichbarkeit meldet die Mac-Ansicht ausdrücklich „noch nicht installiert
|
||||
Bei Nicht-Erreichbarkeit meldet die Verwaltungsansicht ausdrücklich „noch nicht installiert
|
||||
oder nicht erreichbar“; sie behauptet nicht, den Unterschied sicher zu kennen.
|
||||
Anwendungsfehler geben HTTP 400, fehlende Sitzung 401, unerlaubter Host/Origin oder
|
||||
Zugangsweg 403. Installation läuft als Hintergrundauftrag mit `job.state`.
|
||||
|
||||
Reference in New Issue
Block a user