Envole

Introduction

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

Architecture

EoleBase

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

Paquet Debian

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

POC

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 vs DOCKER sur Eole

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.

POC

Sources

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

Repository

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.

Installation du POC

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