mplx

Présentation

Cette section a pour but de décrire comment le serveur MPLX a été mis en place.

L’un des outils utilisés est Ansible. Les recettes (playbooks) ont été écrites dans le but d’être publiques.

Les playbooks servent à la fois à la phase de mise en place initiale, et à l’administration régulière du serveur.

mplx

C’est la machine qui héberge ce site.

La distribution Linux utilisée est Proxmox, mais il est prévu de la repasser sous Debian.

C’est quoi Ansible ?

Ansible est un outil de déploiement écrit en Python.

Typiquement, il sert à automatiser l’installation des logiciels utiles à la mise en place d’un service.

A la différence de scripts shell, Ansible décrit des états et cherche à y faire correspondre celui du système sur lequel les playbooks (les recettes) sont déroulés.

Les playbooks ansible sont donc réplicables, partageables, et peuvent être conçus de façon à fonctionner sur toutes les distributions Linux.

Motivations d’origine

Ce qui a motivé l’écriture de ces playbooks a suivi une trajectoire un peu particulière, en voici en gros le raisonnement.

  • D’abord, sur ma propre machine, envie de remplacer des logiciels avec GUI (interface graphique) par des équivalants en CLI (ligne de commande) moins consommateurs en ressources et plus universels.
  • Profiter du fait que ces logiciels fonctionnent en CLI pour les déporter sur une autre machine et y accéder via SSH. On passe d’une logique de logiciels à usage local à une logique de services accessibles par le réseau.
  • Éviter les applications web (et par extension, javascript, php/cgi, les serveurs de base de données), car les navigateurs cherchent à couvrir tous les usages, et le font mal.
  • Auto-hébergement : le service n’est pas dans les nuages, il est à la maison.
  • Mutualisation de services à accès restreints : puisque les services sont accessibles par SSH, on peut profiter de l’authentification forte pour rendre ces services accessibles à des potes, qui ont alors accès à un shell.
  • Mutualisation de services à accès public : malgré tout, certains services sont d’une nature qui ne se prête pas à SSH (exemple: site web, serveur de jeu…).
  • Faire tourner les services dans des conteneurs, pour limiter la casse en cas de compromission.
  • Utiliser ansible, pour rétablir facilement les conteneurs en cas de gros pépin, et permettre à d’autres personnes d’étudier/répliquer.

Les playbooks

Ces playbooks sont prévus pour fonctionner sous Debian.

Ils sont disponibles ici :

git clone git://mplx.ml:/~fab/mplx_ansible.git

Licence

L’ensemble est placé dans le domaine public, ou LPRAB si vous préférez les trucs plus institutionnels.