Prise en main (Getting Started)¶
Présentation du projet Zéphir¶
Nom du projet: | Zéphir |
---|---|
URL du projet: | https://dev-eole.ac-dijon.fr/git/zephir.git |
version: | alpha |
Pré-requis¶
2 Go de RAM
Installer l’application sur un système linux Ubuntu (>= 18.04)
Installer Docker et Docker-compose avec les paquets Ubuntu
apt install docker.io docker-compose
Vérifier que Docker fonctionne à l’aide de la commande suivante
service docker status
Installer les outils Docker à la main
- installer Docker
Dans ce cas, installer la version Docker community edition
- installer Docker-compose
Récupérer les sources de l’application¶
Cloner le code source de l’application depuis les dépôts de code EOLE
git clone https://dev-eole.ac-dijon.fr/git/zephir.git && cd zephir
Se placer sur la branche de la version en cours de développement
git checkout develop
S’assurer de disposer d’un nom de domaine valide et accessible OU renseigner le ficher
/etc/hosts
de la machine qui permet d’accéder à Zéphirvi /etc/hosts 127.0.0.1 <nom-de.domaine>
Renseigner le fichier de configuration
.env
situé à la racine du projet. Ce fichier doit être situé à l’endroit où seront exécutés les commandeszephir-compose
Important
En l’état des développements, les services sont accessibles par les chemins suivants :
- Interface web : /
- SSO (keycloak) : /auth/
- Traefik dashboard : /traefik/
- API : /api/
- Messages-web : /messages/
- Adminer : /adminer/
- Portainer: /portainer/
Lancer Zéphir¶
Créer les images docker
./bin/zephir-compose -b dev -- up --build -d
L’option
-d
permet de lancer l’application en arrière planCréer les images docker avec des conteneurs additionnels
En mode
dev
il peut être intéressant d’activer les helpers. Les helpers sont des conteneurs additionnels :- treafik : une interface web pour Treafik
- portainer : interface web pour la gestion des conteneurs
- adminer : interface web pour PostgreSQL
- messages-web : interface web de test de messages de l’api
Pour activer les helpers, taper la commande avec l’option
--helpers
./bin/zephir-compose -b dev --helpers -- up --build -d
La commande ci-dessus va construire les conteneurs docker localement.
Visualiser les conteneurs
Pour voir ces conteneurs, exécuter la commande suivante :
docker ps
La liste complète des services est visible dans le répertoire services/
du dépôt.
Vérifier que l’application est lancée¶
- Attendre un certain temps (voire un temps certain) que le build se termine ;
- Une fois le build terminé, attendre que les services s’initialisent (~5min) ;
- Ouvrir un navigateur et se rendre sur l’URL suivante :
https://<ip_du_zephir_ou_nom_de_domaine>
. (note : Le reverse-proxy configuré dans Traefik redirige les connexion HTTP vers HTTPS). - Attendre jusqu’à ce que l’URL soit accessible, une mire d’authentification apparaît ;
- Se connecter avec le login saisi dans le fichier
.env
ou par défaut :admin_zephir
, password:admin_zephir
.
Appairer un serveur¶
Créer le serveur sur l’application Zéphir
- Depuis l’application Zéphir,
aller dans l’onglet
Serveurs
et créer un serveur en cliquant sur le boutonNouveau
(choisirEolebase
comme modèle de serveur) - Dans le menu des serveurs, choisir le serveur nouvellement créé,
et aller dans
Appairage du serveur
. Télécharger le fichier de configuration, l’ouvrir et copier son contenu dans le presse-papier.
Note
La génération de la clef d’appairage peut prendre un certain temps. Attendre un peu avant d’accéder à la page d’appairage.
- Depuis l’application Zéphir,
aller dans l’onglet
Disposer d’un serveur physique ou virtuel à enregistrer
- Utiliser un module EOLE non instancié, par exemple un
Eolebase
.
Note
dans le cadre de l’infrastructure de développement interne EOLE, utiliser une image OpenNebula non instanciée (ex: aca.eolebase-2.6.2.1-Daily).
Coller le contenu du fichier de configuration d’appairage du serveur dans un fichier au format JSON nommé
peer_conf.json
:vi /root/peer_conf.json
Le contenu collé est de la forme
{"pub_key": "-----BEGIN [...] , "serverid": "1"}
Sauvegarder le fichier et quitter.
Installation des paquets nécessaires
apt install git make
Cloner les sources
git clone http://dev-eole.ac-dijon.fr/git/zephir-connect.git && \ cd zephir-connect && \ git checkout develop
Builder
make install
Installer le minion
install_zephir_minion
La commande est dans le
PATH
.Connecter le module à Zéphir
zephir-connect /root/peer_conf.json
La
passphrase
fournie lors de la création du serveur sur le Zéphir est demandée.Vérifier l’état du minion
service salt-minion status
- Utiliser un module EOLE non instancié, par exemple un
Sur l’application Zéphir, revenir sur l’onglet
Serveurs
, et recharger la page du serveur nouvellement appairé. Constater l’affichage des données d’environnement du serveur.L’appairage est effectif.
Configurer le serveur¶
- À nouveau depuis l’interface Zéphir, sur la page du serveur créé,
cliquez sur
Éditeur de configuration
afin de créer une configuration pour le serveur. L’application de configuration du serveur apparait. - Configurer le serveur
- Enregistrer la configuration
- En retournant sur la page du serveur, cliquer sur
Déploiement de la configuration
pour envoyer le fichier de configuration sur le serveur appairé. Cliquer sur le boutonDéployer la configuration
. Une nouvelle tache apparait dans l’historique des opérations indiquant que le déploiement est en cours. - Une fois la configuration déployée, retourner sur la page du serveur.
Cliquer sur
Appliquer la configuration
, Zéphir envoie une commande au serveur pour lui faire exécuter un la commandereconfigure
. - Une fois l’exécution de la commande
reconfigure
terminée, une entrée dans l’historique des opérations propose d’afficher les résultats de la commande. - Le serveur est maintenant configuré.
Architecture¶
Vue d’ensemble des microservices de l’application :