# 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`.