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 # 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. [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. 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 : Nous utilisons :
* Vagrant pour automatiser la création de la Machine Virtuelle * 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 * 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 ## Pré-requis
Vous avez besoin de [vagrant](https://www.vagrantup.com/), [VirtualBox](https://www.virtualbox.org/) et éventuellement git. Vous avez besoin de [vagrant](https://www.vagrantup.com/), [VirtualBox](https://www.virtualbox.org/) et éventuellement git.
## Installation ## 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 ```bash
git clone https://git.kaz.bzh/KAZ/kaz-vagrant.git # pour essayer 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 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/ cd kaz-vagrant/
``` ```
* Personalisez votre simulateur avec la commande (au besoin ajustez la mémoire et les cpus utilisés dans Vagrantfile) : * 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 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 ## 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 ```bash
NOKAZ="true" vagrant up 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 ```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 : Pour détruire la VM et recommencer :
@ -58,16 +70,29 @@ Les utilisateurs créés sont
* debian/debian * debian/debian
* root/root. * 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 ```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) ![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: Vous pouvez également démarrer firefox avec les URL suivantes:
* https://www.kaz.local * https://www.kaz.sns
* https://tableur.kaz.local * https://tableur.kaz.sns
* https://pad.kaz.local * https://pad.kaz.sns
* https://depot.kaz.local * https://depot.kaz.sns
* https://agora.kaz.local/login (compte contact1@kaz.local créé, mot de passe toto) * https://agora.kaz.sns/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://cloud.kaz.sns/login (compte contact1@kaz.local créé, mot de passe totototototototo1234 )
* https://sondage.kaz.local * https://sondage.kaz.sns
Il vous faudra accepter les alertes de sécurité pour certificat absent (web et messagerie) Il vous faudra accepter les alertes de sécurité pour certificat absent (web et messagerie)