94 lines
No EOL
2 KiB
Markdown
94 lines
No EOL
2 KiB
Markdown
# 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.yml`
|
||
- `production-phase2.yml`
|
||
|
||
Des fichiers d’exemple 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**. |