Ce dépôt contient l’ensemble de l’architecture Ansible OVH permettant de déployer, configurer et sécuriser des environnements AlmaLinux, incluant :
- Déploiement FreeIPA
- Déploiement Serveur Repo AlmaLinux
- Déploiement Terraform Controller
- Provisionnement automatisé de VM
- Gestion du patching
- Hardening & sécurité (OpenSCAP)
Ce README sert d’introduction rapide au projet et d’aide au démarrage.
ansible-ovh/
├── ansible.cfg
├── inventory/
│ └── prod/
│ ├── hosts.ini
│ ├── group_vars/
│ └── host_vars/
├── plays/
│ ├── infra/
│ ├── vm_infos/
│ ├── vm_patching/
│ └── vm_provisionning/
├── roles/
└── vaults/Le fichier ansible.cfg configure :
- L’utilisateur distant (
almalinux) - Les chemins :
inventory,roles,collections - Le comportement SSH
- La désactivation des warnings et retry files
-
hosts.inicontient la liste des groupes :alma10,ipaservers,repo,tfansible, etc. -
group_varsdéfinit les configurations globales :- dépôt local AlmaLinux
- FreeIPA
- Proxy
-
host_varspermet une personnalisation par hôte.
- Déploiement FreeIPA
- Déploiement Serveur Repo
- Déploiement Terraform Controller
- OpenSCAP (install + hardening)
- Chrony
- FreeIPA enrollment
- Déploiement des clés SSH
- Configuration réseau &
resolv.conf
- Mise à jour complète
- Reboot automatique si nécessaire
- Génération des logs et custom facts
- Collecte des services en échec via
service_facts
Quelques rôles inclus :
role_chronyrole_copy_ssh_keyrole_setup_freeipa_serverrole_setup_repo_serverrole_setup_repo_clientrole_hardening_openscaprole_remediation_openscaprole_tfansible
Utilisés pour stocker :
- Mots de passe FreeIPA
- Identifiants sensibles
- Clés administratives
Chiffré via ansible-vault.
ansible-playbook plays/infra/play_freeipa_server_deploy.yml
ansible-playbook plays/infra/play_repo_server_deploy.yml
ansible-playbook plays/infra/play_terraform_controller_deploy.ymlansible-playbook plays/vm_provisionning/play_lin_repo_client_deploy.yml -e HOSTS=<target>ansible-playbook plays/vm_patching/play_lin_update.yml -e HOSTS="alma10"La documentation détaillée du projet est disponible dans le fichier :
- LLD Ansible OVH (Low Level Design)