diff --git a/doc/202311-POC-Envole9.html b/doc/202311-POC-Envole9.html new file mode 100644 index 0000000..169746a --- /dev/null +++ b/doc/202311-POC-Envole9.html @@ -0,0 +1,552 @@ + + +
+POC Envole
+Envole est une solution qui propose un ensemble d'applicatifs web fédérés autour d'un annaire afin de gérer l'identité ainsi qu'un SSO afin de gérer l'authentification.
+Il s'appuit sur la distrution EOLE pour déployer ses différents composants.
+Envole rencontre depuis des années des problèmatiques :
+Ce document va chercher à évaluer la possibilité de conteneriser les applications Envole, afin qu'elles puissent fonctionner le moins possible en contrainte avec la version d'Eole
+La présente étude part du principe qu'Envole ne serait plus installé sur une instance Scribe mais sur une installation EoleBase d'Eole
+Avantages
+Inconvéhients
+Contrairement à la précédente logique Envole, il n'y aurait qu'un seul paquet Debian pour Envole. Il n'installerait pas les sources des applications, mais uniquement
+Afin de s'assurer de la faisabilité d'un tel changement, un POC a été initié, dans le cadre des éléments précédents cités. La première question fut de savoir quelle technologie de conteneurisation serait à utiliser PODMAN ou DOCKER, et dans leur logique de composer PODMAN-COMPOSE ou DOCKER-COMPOSER.
+PODMAN
+Eole a intégré à partir de la 2.9 dans sa distribution podman. Ce qui de prime abord devrait-être la technologie à utiliser, sauf que
+DOCKER
+Eole n'a pas intégré nativement docker. Mais il est tout à fait possible de l'installer par ses propres moyens sauf que
+CONCLUSION
+Quoi qu'il arrive, une intégration compléte que cela soit avec Podman ou avec Docker, demandera un travail d'intégration d'Eole
+Ma préférence va malgrés tout sur Docker, il est plus souple moins verbeux et me semble plus fiable à long terme. Il serait possible de maitenir les deux solutions en parrallèle avec un effort supplémentaire d'intégration et de maintenance.
+Les sources du POC sont disponible ici
+https://forge.cadoles.com/Envole/envole
Elles sont pour l'instant hébergé à Cadoles pour des raisons de simplicité de mise en oeuvre, mais à terme elles seront bien stockées chez Eole
+Certaines images sont hébergées elles aussi sur un repository public de Cadoles. Là aussi pour des raisons de simplicité de mise en oevre, mais à terme Eole devra fournir un repository propre aux images Envole.
+Les images en questions sont celles des applications maintenues par Envole, en l'occurence pour l'instant uniquement Ninegate. Mais à terme pourra aussi y figurer des images d'applications tiers sur lesquelles nous aurions besion d'altérer légèrement le comportement.
+1- Instancier un eolebase 2.9
+2- Installer eole-web
+apt-get install eole-web
+Genconfig
+Services > Activer l'interface web de l'EAD = non
+Services > Activer le serveur de bases de données MySQL = non
+Services > Activer l’interface d’administration du module (EAD3) = non
+Applications Web > Nom de domaine des applications web = mondomaine.fr
+save & quit
+Reconfigure
+
+3- Installer docker & docker-compose
+apt install git make apt-transport-https ca-certificates curl gnupg-agent software-properties-common
+mkdir -p /etc/apt/keyrings
+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
+echo \
+"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
+$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
+apt update
+apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose
+
+4- Installer Envole
+cd /root
+mkdir git
+cd /root/git
+git clone https://forge.cadoles.com/Envole/envole.git
+cd /root/git/envole
+make install
+
+5- Configurer Envole
+Le dictionnaire d'Envole dans genconfig est initalisé pour que l'on y indique un scribe distant.
+6- Reconfigure
+Maître de l'identité
+Mode d'Authentification
+Il n'y a que Ninegate qui pour l'instant peut faire varier son mode d'authentification
+A l'avenir on pourrait implémeter d'autre méthode d'authenfication, l'OPENID ou le SAML par exemple.
Server CAS local
+Si oui un conteneur Keycloak sera instancié qui sera préparamétré pour utiliser le procotole CAS en lien avec l'annuaire soit local soit distant déclaré dans le genconfig
ATTENTION = une foi instancié le serveur Keycloak ne prendra pas en compte des changement de paramétrage lié à l'annuaire
+Base de Données
+Si désactivé, l'ensemble des applications nécessitant une base de données ne pourront être activée.
Si distant, Envole ne fera pas le travail de créer les utilisateurs de base de données ainsi que les bases de données applicatives en elles-même. Cela sera à la charge d'un administrateur de réaliser ces tâches.
+ATTENTION = une foi instancié les changement de login/password d'accès à la BDD ne seront pas appliqués
+Annuaire
+Le cas d'un annuaire local n'est utile que si le maître de l'authenfication est local.
ATTENTION = une foi instancié les changement de login/password d'accès à la BDD ne seront pas appliqués
+Secrets
+L'ensemble des secrets nécessaires. Comme indiqué plus haut un grand nombre d'entre eux ne peuvent être modifié après instanciation du service associé au secret : BDD / Annuaire / Keycloak
Nextcloud
+Possiblité d'indiqué un partage Samba pour générer automatiquement un partage externe dans Nextcloud
Ce POC démontre qu'un modèle conteneriser d'Envole est tout à fait possible. Mais
+Ce que le POC à montrer comme problème
+Ce que ne fait pas le POC
+Ce que le POC n'a pas du tout aborder
+