Réponse rapide
Un playbook production doit être découpé en rôles, idempotent, lisible et testable.
- hosts: app_servers
become: true
roles:
- role: org.base
- role: org.security
- role: org.app
Contexte
Les playbooks “monobloc” deviennent difficiles à maintenir et à relire en équipe. La documentation Ansible recommande de structurer par rôles et inventaires.
Structure conseillée
- rôles par responsabilité,
- inventaires séparés par environnement,
- variables non sensibles et sensibles séparées,
- handlers explicites pour les redémarrages.
Exemple minimal variables
# group_vars/prod/main.yml
app_port: 8080
app_env: prod
# group_vars/prod/vault.yml (chiffré)
vault_db_password: "..."
Qualité attendue
- ansible-lint
- tests de convergence
- test préprod avant prod
Checklist
- idempotence
- rollback
- journal de changements
- validation post-déploiement
FAQ
Molecule est-il obligatoire ?
Pas obligatoire, mais recommandé pour réduire les régressions.
Glossaire rapide
- Regex : expression régulière pour décrire un motif de recherche texte.
- MTTR : temps moyen de rétablissement après incident.
- CI/CD : intégration continue / déploiement continu.
- Idempotence : relancer une tâche donne le même état final sans effet secondaire indésirable.
Sources officielles
- man grep
- GNU grep manual
- journalctl (systemd)
- man ss
- Ansible Vault docs
- Ansible Playbooks
- Securing Debian Manual
Conclusion
Une structure claire améliore la fiabilité et la vitesse d’exécution des équipes Ansible.