update doc snster

This commit is contained in:
Francois Lesueur 2023-01-14 09:11:53 +01:00
parent fb07ff2b4a
commit 88b95d7ff7
2 changed files with 45 additions and 18 deletions

View File

@ -1,5 +1,7 @@
# kaz-vagrant
(ATTENTION, NON À JOUR POUR SNSTER)
[Kaz](https://kaz.bzh/) est un CHATONS du Morbihan. Nous proposons ici un moyen de le répliquer dans d'autres lieux. Il y a des éléments de configuration à définir avant d'initialiser ce simulateur.
Le principe est de faire fonctionner un simulateur de notre CHATONS dans une VirtualBox pour mettre au point nos différents services.

View File

@ -6,19 +6,26 @@ Le principe est de faire fonctionner un simulateur de notre CHATONS dans une Vir
Nous utilisons :
* Vagrant pour automatiser la création de la Machine Virtuelle
* VirtualBox pour simuler notre serveur
* VirtualBox pour une VM isolée
* [SNSTER](https://framagit.org/flesueur/snster) pour créer des services internet tiers et notre serveur
* LXC pour faire tourner ces services dans des conteneurs distincts (ie, kaz-prod est un conteneur LXC)
* Docker pour chaque service de notre serveur
À la fin, nous obtenons une maquette d'un petit internet simulé, avec du DNS, des mails tiers, et notre serveur kaz-prod dans un coin.
Ça mériterait un schéma !
## Pré-requis
Vous avez besoin de [vagrant](https://www.vagrantup.com/), [VirtualBox](https://www.virtualbox.org/) et éventuellement git.
## Installation
* Télécharger le dépôt kaz-vagrant ou utilisez la commande git :
* Télécharger le dépôt kaz-vagrant, branche develop-snster, ou utilisez la commande git :
```bash
git clone https://git.kaz.bzh/KAZ/kaz-vagrant.git # pour essayer
git clone git+ssh://git@git.kaz.bzh:2202/KAZ/kaz-vagrant.git # pour contribuer
git switch develop-snster # dans les 2 cas
cd kaz-vagrant/
```
* Personalisez votre simulateur avec la commande (au besoin ajustez la mémoire et les cpus utilisés dans Vagrantfile) :
@ -31,19 +38,24 @@ vagrant plugin install vagrant-disksize
vagrant up
```
Cette étape peut-être (très) longue. Il faudra éventuellement répondre "docker0" à la question "Which interface should the network bridge to?"
Cette étape peut-être (très) longue. Notamment, la construction de kaz-prod se fait dans un conteneur LXC, dans lequel les overlays docker passent par un filesystem FUSE beaucoup plus lent qu'en natif...
## Mise au point
Il est possible d'interrompre la création à la coquille vide (juste la VM sans les services KAZ) pour des question de mise au point avec la commande :
(Non implémenté) Il est possible d'interrompre la création à la coquille vide (juste la VM sans les services KAZ) pour des question de mise au point avec la commande :
```bash
NOKAZ="true" vagrant up
```
Dans ce cas, il faudra ensuite lancer dans la VM :
(Non implémenté) Dans ce cas, il faudra ensuite lancer dans la VM :
```bash
/kaz/bin/install.sh
snster -c /root/snster-kaz -t /root/templates attach kaz-prod -x /mnt/snster/root/snster-kaz/kaz/prod/kaz.sh
SETUP_MAIL="docker exec mailServ setup"
snster -c /root/snster-kaz -t /root/templates attach kaz-prod -x "${SETUP_MAIL} email add contact1@kaz.sns toto"
snster -c /root/snster-kaz -t /root/templates attach kaz-prod -x "${SETUP_MAIL} email add contact2@kaz.sns toto"
snster -c /root/snster-kaz -t /root/templates attach kaz-prod -x "${SETUP_MAIL} email add contact3@kaz.sns toto"
snster -c /root/snster-kaz -t /root/templates attach kaz-prod -x "${SETUP_MAIL} email add contact4@kaz.sns toto"
```
Pour détruire la VM et recommencer :
@ -58,16 +70,29 @@ Les utilisateurs créés sont
* debian/debian
* root/root.
Si vous avec laissé la création des dockers, il faut bien attendre la fermeture automatique de la fenêtre et l'apparition de l'écran de connexion (on vous a dit que c'était long).
Si vous avec laissé la création de Kaz, il faut bien attendre la fermeture automatique de la fenêtre et l'apparition de l'écran de connexion (on vous a dit que c'était long).
Lors du démarrage de la VM, il faut lancer les conteneurs dans la VM :
Lors du démarrage de la VM, il faut lancer SNSTER et éventuellement les conteneurs :
```bash
/kaz/bin/container.sh start
cd /root/snster-kaz
snster start
snster attach kaz-prod -x /kaz/bin/container.sh start
```
Vous pouvez alors démarrer le client de messagerie clawsmail dans lequel 4 comptes ont été paramétrés (contact1@kaz.local, contact2@kaz.local, contact3@kaz.local, contact4@kaz.local) tous avec le mot de passe 'toto'
Vous pouvez alors (toutes les commandes snster doivent être exécutées dans `/root/snster-kaz`) :
* Afficher un bureau graphique sur une machine tierce à Kaz : `snster display isp-a-home`. Sur cette machine, vous pouvez :
* Ouvrir Firefox et naviguer vers :
* `https://www.kaz.sns`, le Kaz interne à la VM
* `https://listes.kaz.sns`, le sympa interne à la VM
* `https://www.kaz.bzh`, le vrai Kaz
* Ouvrir claws-mail et retrouver les comptes mails configurés :
* `contact1@kaz.sns` à `contact4@kaz.sns`, hébergés sur le kaz-prod de la VM
* `email@isp-a.sns`, hébergé dans le conteneur LXC isp-a-infra
* Travailler sur kaz-prod : `snster attach kaz-prod`
* Afficher un plan de réseau : `snster print`
* Il est probablement pratique d'installer son environnement de développement sur la VM, avec ses clés SSH et son éditeur favori. Les fichiers de kaz-prod sont accessibles, depuis la VM, dans le dossier `/var/lib/lxc/kaz-kaz-prod/overlay/delta/` (à confirmer que c'est 100% synchronisé entre VM et conteneur LXC)
Il y a un aperçu de l'état des services avec l'url https://kaz.local/status/allServices.html
Il y a un aperçu de l'état des services avec l'url https://kaz.sns/status/allServices.html
![status](/doc/images/allServices.jpg)
@ -75,13 +100,13 @@ Les erreurs 502 correspondent à des fonctions en cours de développement. Les m
Vous pouvez également démarrer firefox avec les URL suivantes:
* https://www.kaz.local
* https://tableur.kaz.local
* https://pad.kaz.local
* https://depot.kaz.local
* https://agora.kaz.local/login (compte contact1@kaz.local créé, mot de passe toto)
* https://cloud.kaz.local/login (compte contact1@kaz.local créé, mot de passe totototototototo1234 )
* https://sondage.kaz.local
* https://www.kaz.sns
* https://tableur.kaz.sns
* https://pad.kaz.sns
* https://depot.kaz.sns
* https://agora.kaz.sns/login (compte contact1@kaz.local créé, mot de passe toto)
* https://cloud.kaz.sns/login (compte contact1@kaz.local créé, mot de passe totototototototo1234 )
* https://sondage.kaz.sns
Il vous faudra accepter les alertes de sécurité pour certificat absent (web et messagerie)