Un projet Ansible s’organise autour de trois briques : un inventaire (qui sont les cibles), des playbooks (quoi faire, sous forme de tasks utilisant des modules), et des roles (comment organiser et réutiliser ces tasks).
Notes détaillées
| Note | Contenu |
|---|---|
| Inventaire et connexion | hosts, groupes, ansible.cfg, connexion SSH, cas particulier de Packer |
| Playbooks et tasks | Structure d’un playbook, hosts, become, tasks, modules, idempotence |
| Roles | Arborescence standard tasks/ defaults/ vars/ templates/ files/ handlers/ meta/ |
| Variables et handlers | Précédence des variables, defaults vs vars, notify/handlers |
Exemple réel du projet
ansible/
├── playbook.yml
└── roles/
├── postgresql/
│ └── tasks/main.yml
└── health-agent/
├── tasks/main.yml
├── defaults/main.yml
├── templates/config.json.j2
└── files/
├── health-agent.py
└── health-agent.service
En relation avec
- Synthèse Ansible — hub principal
- Templating — Vue d’ensemble — Jinja2, utilisé par le module
template - Provisioners — le provisioner Packer qui exécute ce playbook