# Script Ansible qui permet de préparer des serveurs à recevoir des livraisons automatisées

cf la [doc confluence sur le sujet de l'industrialisation](https://zextras.atlassian.net/wiki/spaces/ZST/pages/2750939160/Industrialisation)


### Comment lancer une execution ? ###

* Installer ansible sur votre machine
  * pour ubuntu 20.04
    ```bash
    sudo apt-add-repository ppa:ansible/ansible
    sudo apt update
    sudo apt install ansible
    ```

  * puis éxecuter à la racine du projet:  
    `ansible-playbook playbook.yml -i inventory --ask-become-pass --tag zimbra-lab-antoine`  

**EXPLICATION**  
`playbook.yml` -> va exécuter l'ensemble des roles définit dans ce fichier  
`-i inventory` -> indique quel inventaire utiliser  
`--ask-become-pass` -> vous met un prompt pour saisir le mot de passe sudo  
`--tag zimbra-lab-antoine` -> permet de ne pas jouer l'ensemble du playbook  

### Comment ajouter un serveur ? ###

### Ajouter dans l'inventaire
* Ajouter une ligne dans le fichier inventory à la racine du projet pour un serveur  

##### Les paramètres
`ansible_user` -> nom d'utilisateur ssh  
`ansible_host` -> hostname ou ip du serveur  
`ansible_become=true` -> a ajouter pour indiquer que l'utilisateur n'est pas root,  
et doit le "devenir" via un sudo

### Ajouter dans le playbook
* Appliquer les roles que vous souhaitez appliquer a votre serveur  

#### `add-user-zextras-cd`
Créé un utilisateur "zextras-cd" sur la machine, et pose sa clé publique.  
La clé privé est chiffré dans le dépot (../roles/add-user-zextras-cd/files/id_ecdsa)  
Le pass pour le déchiffrer est le même que le pass de keepass interne.  
Elle peut être fait via `ansible-vault view roles/add-user-zextras-cd/file/id_ecdsa`.  
Cet utilisateur sera utilisé par l'outil de déploiement.  

#### `user-zextras-need-restart-apache`
Donne le droit à l'utilisateur "zextras-cd" de `restart` ou `reload` le service Apache  
sans mot de passe.  

#### `install-ruby`
Installe le paquet ruby. Compatible pour les gestionnaires de paquets apt, yum et dnf.
 