From fec75022f26dd2a652adb15dfd0ebc613a087824 Mon Sep 17 00:00:00 2001
From: Vincent Mazenod <vmazenod@gmail.com>
Date: Wed, 19 Dec 2018 16:59:57 +0100
Subject: [PATCH] ansible

---
 content/slides/cri/md/ansible.md | 174 +++++++++++++++++++++++--------
 1 file changed, 130 insertions(+), 44 deletions(-)

diff --git a/content/slides/cri/md/ansible.md b/content/slides/cri/md/ansible.md
index 475ec30..8ed310e 100644
--- a/content/slides/cri/md/ansible.md
+++ b/content/slides/cri/md/ansible.md
@@ -23,6 +23,8 @@
   * marche bien en python 3
     * virtualenv
 
+* [ansible docs](https://docs.ansible.com/)
+
 
 ## ansible
 
@@ -42,50 +44,119 @@
 ## terminologie
 
 * **mgmt node** (machine pilote) machine surlaquelle ansible est installé et responsable de la configuration de toutes les machines gérées.
-* **Inventory** (inventaire) fichier contenant les ip de tous les serveurs à configurer
-* **Playbook** gère la configuration à déployer sur chaque serveur
-* **Task** fichier où sont définies les actions réalisées par le playbook
-* **Module** actions plus ou moins complexe utilisables à partir des **tasks**. ansible possède de [nombreux modules natifs](https://docs.ansible.com/ansible/latest/modules/modules_by_category.html). Il est possible d'écrire ses propres modules.
-* **Role** permet d'organiser les playbooks en parties claires et réutilisables
-* **Play** est l'exécution d'un playbook sur un serveur
-* **Facts** information collectée par ansible sur le système du serveur à configurer
-* **Handlers** similaire aux **tasks** mais appelable à partir d'une **task** (redémarrage de service par exemple)
-
-
-ansible all --inventory-file=inventory.ini --module-name ping -u root
-
-* modules
-
-* task
-  * register
-  * debug
-  * loop
-  * set_fact
-  * pre_task
-* roles
-
-* playbook
-  * ligne de commande
-  * --check --diff
-  * verbosité
-  * tags
-
-* variable (see debug task)
-  * hierarchie
-  * from env ou Vault
-  * acces dynamique
-  * ansible-vault : utiliser vault
-  * https://docs.ansible.com/ansible/latest/user_guide/playbooks_prompts.html
-* plugin
-  * callback
-  * filter
-  * lookup
-* modules ansible utile
-  * pexpect
-* remote roles
-
-
-* skeleton https://github.com/mrjk/ansible-skel
+* **inventory** (inventaire) fichier contenant les ip de tous les serveurs à configurer
+* **playbook** gère la configuration à déployer sur chaque serveur
+* **task** fichier où sont définies les actions réalisées par le playbook
+
+
+## terminologie
+
+* **module** actions plus ou moins complexe utilisables à partir des **tasks**. ansible possède de [nombreux modules natifs](https://docs.ansible.com/ansible/latest/modules/modules_by_category.html). Il est possible d'écrire ses propres modules.
+* **role** permet d'organiser les playbooks en parties claires et réutilisables
+
+
+## terminologie
+
+* **play** est l'exécution d'un playbook sur un serveur
+* **facts** information collectée par ansible sur le système du serveur à configurer
+* **handlers** similaire aux **tasks** mais appelable à partir d'une **task** (redémarrage de service par exemple)
+
+
+## inventory
+
+* fichier texte au format *ini*
+* organiser par groupes
+* [inventory docs](https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html)
+
+```ini
+localhost              ansible_connection=local
+
+[webservers]
+jumper ansible_port=5555 ansible_host=192.0.2.50
+bar.example.com ansible_user=limosadm
+
+[dbservers]
+one.example.com
+two.example.com
+www[03:10].example.com
+```
+
+
+## ansible / ad-hoc command
+
+```
+$ ansible all --inventory-file=inventory.ini \
+  --module-name ping -u root
+$ ansible atlanta -a "/usr/bin/foo" \
+  -u username --become --become-user \
+  otheruser --ask-become-pass
+```
+
+* [docs ad-hoc command](https://docs.ansible.com/ansible/latest/user_guide/intro_adhoc.html)
+  * shell
+  * packages
+  * users / groups
+  * déploiement (git)
+  * services
+
+
+## playbook
+
+[docs playbooks](https://docs.ansible.com/ansible/latest/user_guide/playbooks.html)
+
+* ligne de commande
+* --check --diff
+* verbosité
+
+
+## variable
+
+* hierarchie
+* from env ou Vault
+* acces dynamique
+* ansible-vault : utiliser vault
+* https://docs.ansible.com/ansible/latest/user_guide/playbooks_prompts.html
+
+
+## task / basic
+
+* debug
+* raw
+* shell
+* command
+
+
+## task / basic
+
+* register
+* loop
+* set_fact
+* pre_task
+* when
+* tags
+
+
+## modules
+
+* file
+* infile
+* copy
+* template
+* package
+* stat
+* get_url
+* unarchive
+* user
+* systemd
+* pip
+* pexpect (require pexcpect)
+
+
+## roles
+
+
+## remote roles
+
 
 ### Récupérer les roles nécessaires
 
@@ -96,3 +167,18 @@ ansible all --inventory-file=inventory.ini --module-name ping -u root
 ```
 ansible-galaxy install -f -r requirements.yml -p ansible/roles/public
 ```
+
+
+## plugins
+
+* callback
+* filter
+* lookup
+* module_utils
+
+
+## skeleton
+https://github.com/mrjk/ansible-skel
+
+
+## ansible.cfg
-- 
GitLab