alliance-boreale/infrastructure/ansible/docs/CONVERGENCE_NOTES.md
2026-03-09 22:20:08 -04:00

51 lines
2.1 KiB
Markdown

# Rapport de convergence — sous-arbre ansible/
## Décision d'architecture
Le dépôt Ansible fusionné a été recentré pour jouer un rôle unique :
**configurer et durcir des VMs déjà provisionnées**.
La création des VMs, le template Debian 12, le clonage et l'écriture de l'inventaire relèvent désormais du dépôt OpenTofu.
## Ce qui a été retenu
- `baseline_common`
- `hardening_common`
- `firewall_nftables`
- `monitoring_icinga_agent`
- `security_wazuh_agent`
- inventaire YAML simple
- playbooks séparés `baseline`, `hardening`, `site`
## Ce qui a été retiré du chemin principal
- `proxmox_debian12_template`
- `proxmox_vm_clone`
- `playbooks/proxmox/*`
## Logique cible
Le sous-arbre `ansible/` vise une baseline VM commune :
1. petite ;
2. reproductible ;
3. fermée par défaut ;
4. compatible avec l'inventaire généré par OpenTofu ;
5. prête à recevoir ensuite les rôles applicatifs C2/C3/C4/C5.
## Intégration de `ansible2.zip`
Apports retenus :
- rôle `common` utilisé comme source secondaire d'idées, déjà absorbées en grande partie par `baseline_common` + `hardening_common` + `firewall_nftables`
- rôles applicatifs `postgresql`, `keycloak`, `forgejo`, `powerdns-authoritative` intégrés au dépôt convergé
- exemple concret d'inventaire OpenTofu (`inventory/tofu_generated.yml`) conservé comme gabarit
- exemples de vault Phase 1 / Phase 2 conservés
Décision d'architecture :
- le rôle `common` de `ansible2.zip` n'est pas repris tel quel pour éviter un doublon avec la baseline convergée
- les playbooks originaux ne sont pas repris à l'identique; ils sont réémis sous `playbooks/services/` pour s'aligner avec la séparation OpenTofu → inventaire, puis Ansible → convergence + service
## Inventaire OpenTofu recommandé
Le dépôt consomme un inventaire généré par OpenTofu avec un groupe racine `boreale_all`, des groupes de couche (`c3_supervision`, `c3_core`, `c4_forge`, `c5_pivot`) et un sous-arbre `tenants/c7_products`. Des métadonnées minimales par hôte sont attendues : `boreale_layer`, `boreale_role`, `boreale_env`, `boreale_managed_by`.