Skip to content

ADR-001 : Utiliser Ansible pour provisionner et configurer le VPS

Accepté

  • Date : 01/07/2026
  • Auteur : Corentin Talour

Cet ADR a été rédigé a posteriori afin de documenter une décision

La configuration manuelle du VPS rendait sa maintenance difficile.

Les opérations réalisées n’étaient pas toujours documentées précisément,ce qui compliquait leur reproduction lors de l’installation d’un nouveau serveur ou de la restauration de l’infrastructure après un incident.

L’infrastructure doit pouvoir être configurée de manière :

  • reproductible
  • idempotente
  • documentée
  • compréhensible par plusieurs administrateurs
  • simple à faire évoluer

Installer et configurer chaque composant manuellement, puis documenter les commandes et les opérations réalisées.

Cette approche est simple pour une première installation, mais elle présente un risque d’oubli, d’erreur humaine et de divergence entre la documentation et l’état réel du serveur.

Option 2 : Automatiser la configuration avec Ansible (choisi)

Section titled “Option 2 : Automatiser la configuration avec Ansible (choisi)”

Décrire la configuration attendue du VPS dans des playbooks et des rôles Ansible versionnés dans Git.

La documentation complète l’automatisation en expliquant l’architecture, les variables disponibles et les procédures d’exploitation.

Option 3 : Automatiser la configuration avec Salt Project

Section titled “Option 3 : Automatiser la configuration avec Salt Project”

Utiliser Salt Project pour gérer la configuration du serveur.

Salt offre également des fonctions de gestion de configuration et d’automatisation. Son architecture et son écosystème sont cependant moins adaptés aux connaissances actuelles de l’équipe et à la taille de cette infrastructure.

Ansible est retenu pour préparer et configurer le VPS.

Ce choix repose sur les éléments suivants :

  • son fonctionnement sans agent sur le serveur cible
  • l’utilisation de fichiers YAML relativement simples à lire
  • la possibilité de construire des rôles réutilisables et idempotents
  • son intégration avec SSH et sudo
  • son écosystème et son adoption dans l’industrie
  • la possibilité de versionner la configuration de l’infrastructure dans Git
  • l’intérêt pédagogique de développer les compétences de l’équipe sur Ansible

La création initiale du VPS chez l’hébergeur ne fait actuellement pas partie du périmètre automatisé. Ansible intervient une fois qu’un serveur Ubuntu accessible en SSH est disponible.

  • la configuration du VPS est reproductible
  • les changements apportés à l’infrastructure sont versionnés
  • le risque d’oubli lors d’une réinstallation est réduit
  • les rôles peuvent être exécutés plusieurs fois grâce à leur idempotence
  • un nouveau serveur peut être configuré plus rapidement
  • l’équipe développe ses compétences sur Ansible
  • la mise en place initiale demande plus de temps qu’une configuration manuelle ponctuelle
  • l’équipe doit apprendre et maintenir Ansible
  • les rôles doivent être testés et mis à jour avec les services qu’ils gèrent
  • une automatisation incorrecte peut propager rapidement une mauvaise configuration
  • certaines opérations exceptionnelles peuvent encore nécessiter une intervention manuelle