===== GSB : bootstraping =====
==== Installation locale ====
Les informations qui suivent ont pour objectif de décrire l'installation de **GSB** sur une **machine locale** (hors laboratoire réseau du lycée)
=== Installation de la machine depl ===
Cette machine stocke les paquets applicatifs.
  * télécharger une image ova debian **buster** avec :
wget http://sio.lyc-lecastel.fr/store/debian-buster-2020b.ova
  * importer la machine virtuelle **depl** à partir de l'image ova
=== Installation des outils sur la machine depl ===
  * lancer le script d'installation de **depl** avec :
curl http://sio.lyc-lecastel.fr/store/inst-depl|bash
  * on peut alors vérifier que la machine virtuelle **depl** est interfacée en mode **pont** puis la redémarer
  * noter l'adresse IP de l'interface de **depl**
  * on doit ensuite indiquer l'adresse de la machine **depl** en éditant le fichier **/var/www/html/gsbboot** (variable **DEPL**)
vim /var/www/html/gsbboot/gsbboot
Après cette étape, on doit : 
  * disposer d'une machine **depl** hébergeant :
    * un dépôt **git** : 
      * user **gitsgb** (/home/gitgsb/gsb.git)
      * accessible par **ssh** (compte gitgsb
   * un serveur **apache** 
     * lien symbolique de **/var/www/html/gsb.git** vers **/home/gitgsb/gsb.git**  
     * servant :
       * **gssboot** | script pour l'installation de base
       * 
 
==== Machine de référence ====
La machine de référence est une **Debian Buster** accessible ici : 
ftp://sionas/Public/ova/debian/debian-stretch64-2018a.ova
ou bien (serveur public) : http://sio.lyc-lecastel.fr/store/debian-buster-2020b.ova
ou encore avec :
wget ftp://sionas/Public/ova/debian/debian-stretch64-2018a.ova
==== Les machines : dépendances ====
L'installation doit s'effectuer dans un ordre cohérent :
  * **s-adm** en premier lieu
  * **s-infra**
  * **r-int**
  * **r-ext**
  * **s-mon**,
  * **s-itil**, **s-appli**, **s-backup**
  * ...
==== Installation de la machine s-adm ====
  * sur une debian **buster** à deux cartes
   * **eth0** : bridge, **eth1** : réseau interne **n-adm**
   * renommer la machiner **s-adm** puis redémarrer
   * lancer le processus de d'installation des outils (git + ansible
   * **Remarque** : l'appel à **gsbboot** doit se faire avec l'adresse ip plutôt qu'avec le nom car le nom depl ne sera résolvable qu'après la première exécution de **gsbboot**
   curl depl/gsbboot|bash
  * :!: ensuite, on doit éditer le ficher **/root/tools/ansible/pull-config** pour spécifier dans la variable **DEPL** l'adresse en question
=== Lancement du playbook d'autoconfiguration ===
pour configurer une machine (son nom doit être configuré), on doit lancer le script **pull-config** qui se trouve dans **/root/tools/**, celui-ci lance la commande **ansible-pull** qui récupère le dépot **gsb.git** et lance le playbook qui porte le nom de la machine
 
depuis **/root/tools/ansible**, lancer 
   bash pull-config
==== Pour chaque machine ====
  * importer la machine à partir du fichier **.ova**
  * définir les cartes réseau en accord avec le plan d(adressage et le schéma
  * donner le nom adapté (avec ''sed -i ...'')
  * redémarrer
  * mettre à jour les paquets : ''apt update && apt upgrade''
   curl depl/gsbboot|bash
et enfin, depuis **/root/tools/ansible**,
  * changer la variable **DEPL** (donner l'adresse de la machine **depl**) dans le fichier **pull-config**,
  * puis lancer 
   bash pull-config