Doku: Restart-Gateway-Button-Fehler ('no such gateway default') erklaeren und Workaround dokumentieren
This commit is contained in:
@@ -240,6 +240,41 @@ Falls der Fehler trotzdem auftritt: pruefen ob Dein `Caddyfile` den
|
|||||||
(`git pull` + `docker-compose up -d --build caddy`, kein Neubuild noetig,
|
(`git pull` + `docker-compose up -d --build caddy`, kein Neubuild noetig,
|
||||||
Caddy liest die Config beim Start neu ein).
|
Caddy liest die Config beim Start neu ein).
|
||||||
|
|
||||||
|
**"Restart Gateway"-Button im Dashboard zeigt
|
||||||
|
`✗ no such gateway 'default': register it with 'hermes profile create default'
|
||||||
|
first, or pass an existing profile name via '-p <name>'`:** Kein Bug bei uns,
|
||||||
|
sondern eine Architektur-Inkompatibilitaet zwischen unserem Deploy-Stil und
|
||||||
|
dem Dashboard-Button. Hintergrund (im Hermes-Sourcecode nachgesehen,
|
||||||
|
`hermes_cli/service_manager.py` + `hermes_cli/container_boot.py`):
|
||||||
|
|
||||||
|
- Unser `hermes-agent`-Service startet mit `command: ["gateway", "run"]`
|
||||||
|
direkt als Container-Kommando. Das Image erkennt dieses Muster als
|
||||||
|
"Legacy-Start" und supervised den Prozess ueber den **statischen**
|
||||||
|
s6-Service `main-hermes` (fest im Image, siehe
|
||||||
|
`/etc/s6-overlay/s6-rc.d/`).
|
||||||
|
- Der Dashboard-Restart-Button ruft dagegen immer `hermes gateway restart`
|
||||||
|
auf (ohne `-p` = Profil `default`). Dieser Befehl sucht einen **dynamisch
|
||||||
|
registrierten** s6-Service `gateway-default` unter `/run/service/` — der
|
||||||
|
entsteht aber nur durch `hermes profile create <name>` (Per-Profile-
|
||||||
|
Gateway-System). Bei uns wurde das nie ausgefuehrt, `main-hermes` und
|
||||||
|
`gateway-default` sind zwei komplett getrennte Dinge im selben Image.
|
||||||
|
- Ergebnis: der Button findet "sein" `gateway-default` nicht und wirft genau
|
||||||
|
diesen Fehler — der eigentliche Gateway-Prozess (`main-hermes`) laeuft
|
||||||
|
davon voellig unbeeindruckt normal weiter.
|
||||||
|
|
||||||
|
**Fix / Workaround:** Den Dashboard-Restart-Button bei uns einfach nicht
|
||||||
|
benutzen, sondern von aussen den Container neu starten:
|
||||||
|
```bash
|
||||||
|
docker-compose restart hermes-agent
|
||||||
|
```
|
||||||
|
Das genuegt fast nie: `main-hermes` laeuft unter s6-Supervision mit
|
||||||
|
Auto-Restart bei Crash (siehe Startup-Log "gateway is now running under s6
|
||||||
|
supervision (auto-restart on crash...)"), ein manueller Restart ist im
|
||||||
|
Normalbetrieb also selten noetig. `hermes profile create default`
|
||||||
|
NICHT ausfuehren, um den Button zu "reparieren" — das wuerde einen zweiten,
|
||||||
|
parallelen Gateway-Mechanismus fuer denselben Port aufmachen und ist nicht
|
||||||
|
das, wofuer unser Single-Profile-Setup gebaut ist.
|
||||||
|
|
||||||
## Verzeichnisse (nicht committet, siehe .gitignore)
|
## Verzeichnisse (nicht committet, siehe .gitignore)
|
||||||
|
|
||||||
- `hermes-agent-src/` — geklonter Hermes-Agent-Sourcecode (Docker-Build-Context)
|
- `hermes-agent-src/` — geklonter Hermes-Agent-Sourcecode (Docker-Build-Context)
|
||||||
|
|||||||
Reference in New Issue
Block a user