[V4] Intégration Zigbee2mqtt

Je ne pense pas qu’on veuille limiter l’accès du container Gladys à la machine.

Je rappelle que l’image Raspbian Gladys doit fonctionner pendant tout le cycle de vie du Raspberry Pi de l’utilisateur.

Imaginons que l’utilisateur installe Gladys en 2020, et qu’il change de Pi en 2030. Pendant 10 ans, si on ajoute des fonctionnalités, que des nouvelles intégrations sont développés dans Gladys, il faut que l’image Raspbian soit évolutive et que tous les dongles que l’on branche soit gérés par Gladys.

Si on doit demander à l’utilisateur de réinstaller Gladys tous les 4 matins, alors nous avons raté notre mission.

Je cite un post que j’avais écris sur un autre sujet:

Pourquoi utilise on Docker?

Dans Gladys 3, je rappelle qu’on exécutait Gladys directement sur la machine, sans Docker, donc Gladys avait accès à toute la machine.

Dans Gladys 4, on utilise Docker pour faciliter le packaging, le déploiement et la mise à jour des instances Gladys. Etant donné qu’on est dans de l’embarqué, qu’on a besoin d’accéder à des périphériques (USB, GPIO, Camera Pi par le Bus caméra par exemple) cela fait tout à fait sens de donner full accès à la machine à Gladys, comme ce serait le cas si jamais on faisait juste tourner le programme en direct sur le Raspberry Pi.

On est pas du tout dans l’usage Docker d’un provider cloud qui souhaiterait isoler l’exécution de code non-trusté, limiter l’accès à la machine physique, et limiter les ressources d’utilisation d’un utilisateur tiers.

Ici, l’utilisateur fait tourner sur sa machine à lui, tout seul, un programme embarqué qui fait l’usage intensif de périphériques externes et du hardware. Au contraire: on veut profiter des supers capacités du Raspberry Pi, et avoir les mêmes fonctionnalités que si on faisait tourner Gladys directement sur l’host comme la plupart des programmes font.

Essayer de limiter l’accès du container au Pi n’a pas de sens sens, et n’ajoute pas de sécurité…

Il faut penser le plus long terme possible, et à l’expérience de l’utilisateur en premier.

Qu’est-ce qui pose problème avec exposer le /dev? Gladys est là pour faire de la domotique, pas pour rester enfermer dans un container ^^