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

81 lines
2.5 KiB
Markdown

# ansible/
Sous-arbre Ansible de l'Alliance Boréale pour la **mise en conformité post-provisionnement** des VMs.
## Responsabilités
Ce sous-arbre prend des VMs déjà créées et accessibles en SSH, puis applique :
- la baseline packages commune ;
- le hardening OS ;
- le pare-feu local ;
- les mises à jour de sécurité automatiques ;
- l'agent Icinga2 ;
- l'agent Wazuh en option.
## Hors périmètre
Ne relèvent **pas** de ce sous-arbre :
- la création des VMs ;
- le clonage de templates ;
- la gestion Proxmox ;
- la génération initiale des ressources cloud-init.
Ces responsabilités appartiennent au sous-arbre `opentofu/` du dépôt principal.
## Structure
```text
ansible/
├── ansible.cfg
├── requirements.yml
├── inventories/prod/
│ ├── hosts.yml
│ ├── group_vars/all.yml
│ └── host_vars/
├── playbooks/
│ ├── site.yml
│ ├── baseline.yml
│ └── hardening.yml
├── roles/
│ ├── baseline_common/
│ ├── hardening_common/
│ ├── firewall_nftables/
│ ├── monitoring_icinga_agent/
│ └── security_wazuh_agent/
└── docs/
```
## Démarrage
1. Laisser OpenTofu générer `inventories/prod/hosts.yml`.
2. Ajuster `inventories/prod/group_vars/all.yml`.
3. Vérifier les réseaux d'administration autorisés dans le firewall.
4. Lancer :
```bash
ansible-playbook playbooks/site.yml
```
## Intégration supplémentaire issue de `ansible2.zip`
Cette convergence incorpore maintenant une seconde lignée orientée services :
- `postgresql`
- `keycloak`
- `forgejo`
- `powerdns_authoritative`
Playbooks ajoutés :
- `playbooks/services/phase1_dns.yml`
- `playbooks/services/phase2_identity_forge.yml`
Un exemple d'inventaire généré par OpenTofu est fourni dans `inventories/prod/examples/tofu_generated.example.yml`.
Des exemples de `host_vars` et de `vault/` sont aussi inclus pour accélérer l'adaptation.
Les playbooks de baseline et hardening ciblent `all`. Les playbooks de services ciblent directement les groupes OpenTofu : `c3_services`, `c4_forge`, `c5_runner`, `c7_tenants`.
## 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`.