[V4] Integration von Zigbee2mqtt

Ich glaube nicht, dass wir den Zugriff des Gladys-Containers auf die Maschine einschränken wollen.

Ich erinnere daran, dass das Raspbian-Gladys-Image während des gesamten Lebenszyklus des Raspberry Pi des Benutzers funktionieren muss.

Stellen Sie sich vor, der Benutzer installiert Gladys im Jahr 2020 und wechselt den Pi im Jahr 2030. In 10 Jahren, wenn wir Funktionen hinzufügen, neue Integrationen in Gladys entwickelt werden, muss das Raspbian-Image evolutionsfähig sein und alle Dongles, die angeschlossen werden, von Gladys verwaltet werden.

Wenn wir den Benutzer bitten müssen, Gladys alle paar Tage neu zu installieren, dann haben wir unsere Mission verfehlt.

Ich zitiere einen Beitrag, den ich zu einem anderen Thema geschrieben habe:

Warum verwenden wir Docker?

In Gladys 3 erinnere ich daran, dass wir Gladys direkt auf der Maschine ohne Docker ausgeführt haben, sodass Gladys Zugriff auf die gesamte Maschine hatte.

In Gladys 4 verwenden wir Docker, um die Verpackung, den Deployment und das Update der Gladys-Instanzen zu erleichtern. Da wir im Bereich der eingebetteten Systeme arbeiten und Zugriff auf Peripheriegeräte (USB, GPIO, Kamera Pi über den Kamerabus usw.) benötigen, ist es durchaus sinnvoll, Gladys vollen Zugriff auf die Maschine zu geben, wie es der Fall wäre, wenn wir das Programm einfach direkt auf dem Raspberry Pi ausführen würden.

Wir sind nicht im Docker-Gebrauch eines Cloud-Anbieters, der die Ausführung von nicht vertrauenswürdigem Code isolieren, den Zugriff auf die physische Maschine einschränken und die Ressourcennutzung eines Drittanbieters begrenzen möchte.

Hier führt der Benutzer auf seiner eigenen Maschine ein eingebettetes Programm aus, das intensive Nutzung externer Peripheriegeräte und Hardware betreibt. Im Gegenteil: Wir wollen die Superfähigkeiten des Raspberry Pi nutzen und die gleichen Funktionen haben, als würden wir Gladys direkt auf dem Host wie die meisten Programme ausführen.

Der Versuch, den Zugriff des Containers auf den Pi einzuschränken, hat keinen Sinn und fügt keine Sicherheit hinzu…

Man muss so langfristig wie möglich denken und die Benutzererfahrung an erste Stelle setzen.

Was ist das Problem mit dem Freigeben von /dev? Gladys ist für die Hausautomatisierung da, nicht um in einem Container eingeschlossen zu bleiben ^^