diff --git a/doc/etude.html b/doc/etude.html deleted file mode 100644 index d83f321..0000000 --- a/doc/etude.html +++ /dev/null @@ -1,552 +0,0 @@ - - - -etude.md - - - - - - - - - - - - -
-

logo

-
-
-

POC 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

-

Le dictionnaire d'Envole dans genconfig est initalisé pour que l'on y indique un scribe distant.

-

6- Reconfigure

-
-
-

Complément sur variables Genconfig

-
-

genconfig

-
-
-
-

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

-
-
-

Conclusion

-

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

- - - - diff --git a/doc/etude.pdf b/doc/etude.pdf deleted file mode 100644 index 4b63a0d..0000000 Binary files a/doc/etude.pdf and /dev/null differ