Plugin-Installer: Dienste (Sidecar-Container) unterstützen #74

Closed
opened 2026-10-21 12:00:23 +00:00 by alf · 0 comments
Owner

Anlass

Das Plugin iris-web-linux (Gateway für den Web-Client, Feature-Issue: iris/iris-web#1) ist ein dauerhaft laufender Dienst. app/plugin_installer.py entpackt heute nur Dateien; pre_install/post_install und host_capabilities werden nicht ausgewertet. Ein Plugin kann beim Installieren keinen Container auf dem Server-Host starten.

Ziel

Der Installer unterstützt Dienste (Sidecar-Container): plugin.json deklariert z. B. eine Compose-Datei; der Server startet, stoppt und entfernt den Dienst mit Installation, Deinstallation und Neustart. Der Server startet bereits Geschwister-Container (Sandbox), hat also Docker-Zugriff.

Zu klären im Entwurf

  • Manifest-Feld und Schema (Compose-Pfad, Ports, Volumes, Netzwerk).
  • Secrets: Das Gateway bekommt den Master-Token (v1) als Secret, nie in Logs/Compose-Datei im Klartext.
  • Lebenszyklus: Start nach Server-Neustart, Status in /plugins, Fehlerzustände.
  • Backup/Restore (Plugin-Sync nach Restore), Datenordner des Dienstes unter /data.
  • Sicherheit: Welche Compose-Optionen sind erlaubt (kein privileged, keine beliebigen Host-Mounts).
  • Wire-Protokoll/Doku: 07-Plugin-System.md ergänzen; Mac-Server betroffen? (Dienste sind dort ein anderer Mechanismus, Entscheidung festhalten.)
## Anlass Das Plugin `iris-web-linux` (Gateway für den Web-Client, Feature-Issue: iris/iris-web#1) ist ein dauerhaft laufender Dienst. `app/plugin_installer.py` entpackt heute nur Dateien; `pre_install`/`post_install` und `host_capabilities` werden nicht ausgewertet. Ein Plugin kann beim Installieren keinen Container auf dem Server-Host starten. ## Ziel Der Installer unterstützt **Dienste (Sidecar-Container)**: `plugin.json` deklariert z. B. eine Compose-Datei; der Server startet, stoppt und entfernt den Dienst mit Installation, Deinstallation und Neustart. Der Server startet bereits Geschwister-Container (Sandbox), hat also Docker-Zugriff. ## Zu klären im Entwurf - Manifest-Feld und Schema (Compose-Pfad, Ports, Volumes, Netzwerk). - Secrets: Das Gateway bekommt den Master-Token (v1) als Secret, nie in Logs/Compose-Datei im Klartext. - Lebenszyklus: Start nach Server-Neustart, Status in `/plugins`, Fehlerzustände. - Backup/Restore (`Plugin-Sync nach Restore`), Datenordner des Dienstes unter `/data`. - Sicherheit: Welche Compose-Optionen sind erlaubt (kein `privileged`, keine beliebigen Host-Mounts). - Wire-Protokoll/Doku: `07-Plugin-System.md` ergänzen; Mac-Server betroffen? (Dienste sind dort ein anderer Mechanismus, Entscheidung festhalten.)
alf closed this issue 2026-10-27 10:45:20 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
iris/iris-linux-server#74
No description provided.