| .. | ||
| production-phase2.yml.example | ||
| production.yml.example | ||
| README.md | ||
Vault Ansible
Ce répertoire contient les secrets chiffrés utilisés par Ansible pour l’écosystème de l’Alliance Boréale.
Rôle de ce répertoire
On y place les variables sensibles, par exemple :
- mots de passe applicatifs
- secrets PostgreSQL
- clés API
- jetons d’intégration
- secrets Keycloak / Forgejo / PowerDNS
- mots de passe de comptes techniques
Ces fichiers sont destinés à être utilisés avec Ansible Vault.
Fichiers typiques
Exemples :
production.ymlproduction-phase2.yml
Des fichiers d’exemple non sensibles peuvent aussi exister :
production.yml.exampleproduction-phase2.yml.example
Les fichiers *.example servent de gabarits et ne doivent contenir aucun vrai secret.
Commandes utiles
Créer un nouveau fichier chiffré
ansible-vault create vault/production.yml
Modifier un fichier chiffré
ansible-vault edit vault/production.yml
Voir un fichier chiffré
ansible-vault view vault/production.yml
Chiffrer un fichier existant
ansible-vault encrypt vault/production.yml
Utilisation dans les playbooks
Exemple :
ansible-playbook playbooks/site.yml --ask-vault-pass
Ou avec un fichier de mot de passe :
ansible-playbook playbooks/site.yml --vault-password-file ~/.ansible/vault-pass.txt
Discipline minimale
- Ne jamais committer de secret en clair.
- Ne jamais renommer un fichier
.exampleen fichier réel sans le chiffrer. - Garder les secrets regroupés par environnement ou par phase logique.
- Préférer des noms explicites.
- Éviter de mélanger secrets de prod et secrets de labo dans le même fichier.
Convention recommandée
production.yml: secrets communs de productionproduction-phase2.yml: secrets propres aux services phase 2- autres fichiers : seulement si un découpage clair est utile
Rappel important
Le dépôt peut contenir :
- la structure,
- les exemples,
- les références de variables,
mais jamais les secrets en clair.