Add first-run admin setup and independent password and API token rotation
This commit is contained in:
@@ -1,9 +1,15 @@
|
||||
# Athena Deck · Prototyp 0.2
|
||||
# Athena Deck · Prototyp 0.3
|
||||
|
||||
Eigenständige neue Oberfläche, Python-Standardbibliothek und HTML/CSS/JavaScript.
|
||||
Keine Installation von Python-Paketen oder Frontend-Builds nötig. Python >= 3.10.
|
||||
|
||||
## Neu: WireGuard-Einstellungen
|
||||
## Neu: Zugang und API-Token
|
||||
|
||||
Beim ersten Öffnen werden Oberflächenkennwort und separater API-Token eingerichtet.
|
||||
Beide sind unter **Zugang & API** änderbar. Die lokale Vorschau ist jetzt ebenfalls
|
||||
anmeldepflichtig. Details und API-Rechte: [Zugangsverwaltung](ACCESS.md).
|
||||
|
||||
## WireGuard-Einstellungen
|
||||
|
||||
Installation einer getrennten Server-Instanz, sicherer Conf-Import und LAN-/Tunnel-Zugriff
|
||||
sind jetzt unter Einstellungen verfügbar. Einrichtung, Sicherheitsgrenzen und Tests:
|
||||
@@ -34,7 +40,7 @@ auf dem Host werden keine Dateien angelegt und keine Dienste gesteuert.
|
||||
|
||||
## Interne API v1
|
||||
|
||||
Alle Antworten JSON, keine persistenten Zustandsdaten. GUI verwendet nur diese API.
|
||||
Alle Antworten JSON. Zugangsdaten werden geschützt persistiert; Demo-Zustand ist flüchtig. GUI verwendet nur diese API.
|
||||
|
||||
| Methode | Pfad | Ergebnis |
|
||||
|---|---|---|
|
||||
@@ -44,16 +50,17 @@ Alle Antworten JSON, keine persistenten Zustandsdaten. GUI verwendet nur diese A
|
||||
| POST | `/api/v1/demo/start` | Idempotent starten und Health prüfen |
|
||||
| POST | `/api/v1/demo/stop` | Idempotent eigenen Kindprozess stoppen |
|
||||
|
||||
POST benötigt `X-Athena-Deck: 1`; Browser-Origin muss zum Host passen.
|
||||
Browser-POST benötigt Sitzung und `X-Athena-Deck: 1`; Browser-Origin muss zum Host passen.
|
||||
API-Clients verwenden für freigegebene Dienst-Endpunkte den separaten Bearer-Token.
|
||||
Host-Allowlist: localhost oder 127.0.0.1 mit tatsächlichem UI-Port.
|
||||
Keine CORS-Freigabe. 403 bei ungültigem Zugriff, 404 bei unbekannten Pfaden,
|
||||
503 bei fehlgeschlagener Demo-Bereitschaft. Keine frei übergebbaren Befehle,
|
||||
Prozess-IDs, Service-Namen oder Remote-Ziele.
|
||||
|
||||
```sh
|
||||
curl http://127.0.0.1:8108/api/v1/status
|
||||
curl -X POST -H 'X-Athena-Deck: 1' http://127.0.0.1:8108/api/v1/demo/start
|
||||
curl -X POST -H 'X-Athena-Deck: 1' http://127.0.0.1:8108/api/v1/demo/stop
|
||||
curl -H 'Authorization: Bearer <API-TOKEN>' http://127.0.0.1:8108/api/v1/status
|
||||
curl -X POST -H 'Authorization: Bearer <API-TOKEN>' http://127.0.0.1:8108/api/v1/demo/start
|
||||
curl -X POST -H 'Authorization: Bearer <API-TOKEN>' http://127.0.0.1:8108/api/v1/demo/stop
|
||||
```
|
||||
|
||||
Hardware: `available` bezeichnet Erfolg der SSH-Collector-Abfrage, einzelne
|
||||
|
||||
Reference in New Issue
Block a user