alliance-boreale/infrastructure/ansible/vault/README.md
2026-05-14 08:54:41 -04:00

94 lines
No EOL
2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Vault Ansible
Ce répertoire contient les **secrets chiffrés** utilisés par Ansible pour lécosystème de lAlliance 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 dinté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.yml`
- `production-phase2.yml`
Des fichiers dexemple non sensibles peuvent aussi exister :
- `production.yml.example`
- `production-phase2.yml.example`
Les fichiers `*.example` servent de gabarits et **ne doivent contenir aucun vrai secret**.
## Commandes utiles
### Créer un nouveau fichier chiffré
```bash
ansible-vault create vault/production.yml
```
### Modifier un fichier chiffré
```bash
ansible-vault edit vault/production.yml
```
### Voir un fichier chiffré
```bash
ansible-vault view vault/production.yml
```
### Chiffrer un fichier existant
```bash
ansible-vault encrypt vault/production.yml
```
## Utilisation dans les playbooks
Exemple :
```bash
ansible-playbook playbooks/site.yml --ask-vault-pass
```
Ou avec un fichier de mot de passe :
```bash
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 `.example` en 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 production
- `production-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**.