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/hostsde la machine qui permet d’accéder à Zéphirvi /etc/hosts 127.0.0.1 <nom-de.domaine>Renseigner le fichier de configuration
.envsitué à la racine du projet. Ce fichier doit être situé à l’endroit où seront exécutés les commandeszephir-composeImportant
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
-dpermet de lancer l’application en arrière planCréer les images docker avec des conteneurs additionnels
En mode
devil 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
.envou 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
Serveurset créer un serveur en cliquant sur le boutonNouveau(choisirEolebasecomme 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
passphrasefournie 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 configurationafin 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 configurationpour 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
reconfigureterminée, une entrée dans l’historique des opérations propose d’afficher les résultats de la commande. - Le serveur est maintenant configuré.