Intégrations externes dans Gladys Assistant

@Terdious J’ai écrit toute une spec avec Fable 5 pour la gestion des sous-containers.

L’idée générale est qu’une intégration externe puisse déclarer en JSON des « sous-containers » dont elle a besoin. Dans notre cas, ça permettrait par exemple de déclarer Frigate + Mosquitto directement depuis l’intégration.

La spec est disponible ici :

(voir la section Sous-conteneurs)

Ensuite, c’est Gladys qui prend en charge tout le lifecycle de ces containers : création, démarrage, arrêt, suppression… Et si l’intégration est supprimée, tout est automatiquement nettoyé (containers + volumes).

Pour le cas particulier de Mosquitto, il y a une contrainte intéressante : il a besoin de fichiers présents sur le disque avant de pouvoir démarrer (notamment pour les mots de passe). Du coup, les containers déclarés peuvent être créés mais arrêtés par défaut, puis démarrés explicitement par l’intégration quand elle a terminé sa configuration. Une API /start est prévue pour ça.

Qu’en penses-tu ?