diff --git a/DETAILS.md b/DETAILS.md index f6ed5a3..897dc7b 100644 --- a/DETAILS.md +++ b/DETAILS.md @@ -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. diff --git a/README.md b/README.md index 476da43..e665cd8 100644 --- a/README.md +++ b/README.md @@ -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)