81 lines
2.5 KiB
Markdown
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`.
|