5.8. Outillage de déploiement

5.8.1. Outil

L’outil de déploiement utilisé sur VITAM est ansible. Cette solution de déploiement a les caractéristiques suivantes :

  • Agent-less : la propagation des ordres de déploiement utilise SSH et nécessite sur les serveurs un interpréteur Python 2.6+. (Cf. la documentation officielle pour la liste exhaustive des dépendances requises).
  • Centralisation des actions : l’intégralité des actions d’administration technique et d’exploitation de la plate-forme est réalisée par cet outil de déploiement (sauf exception mentionnée le cas échéant dans le DEX).
  • Méthode d’authentification : l’authentification est faite par un utilisateur habilité à se connecter à SSH et devant pouvoir avoir les élévations de privilèges nécessaires pour faire les actions (via su ou sudo) :
    • Le choix de la méthode d’authentification (mot de passe, clé publique sans passphrase ou clé publique avec passphrase) peut être choisi en fonction des contraintes d’hébergement. Cependant, certaines méthodes limiteront l’automatisation du déploiement.
    • La mise en place de cet utilisateur est un pré-requis à la mise en oeuvre de Vitam.

Indication

Sur Centos et Debian, l’interpréteur Python et les packages python requis pour l’exécution d’ansible sur les noeuds gérés sont inclus dans les packages logiciels du système, et généralement déjà installés dans les systèmes de base.

L’outil de déploiement prend en entrée :

  • La topologie de l’environnement (quel composant est installé sur quel serveur)
  • L’ensemble des paramètres de l’environnement

Ces 2 entrées sont définies par l’utilisateur sous la forme de fichiers ansible (fichier d’inventaire et de variables).

Prudence

L’utilisation d’ansible nécessite les droits root sur l’environnement cible (soit en tant qu’utilisateur root, soit en sudoer) par l’utilisateur linux faisant le déploiement. Le DIN contiendra les informations requises pour prendre en compte cet utilisateur.

Avertissement

L’utilisation d’une méthode de déploiement autre n’est pas supportée par le projet VITAM.

5.8.2. Architecture de l’outil

On dispose de 3 types de playbooks principaux :

  • 1 playbook de déploiement (ansible-vitam) qui est le coeur du déploiement ;
  • 1 playbook de déploiement (ansible-vitam-extra) qui contient des éléments potentiellement utiles, mais non nécessaires au fonctionnement du système ;
  • N playbooks d’exploitation (ansible-vitam-exploitation) pour l’automatisation des actes d’exploitation (décrits dans le DEX).

On dispose de 2 types de rôles :

  • rôle « helper » qui est appelé par les autres rôles et qui n’est pas contenu dans les playbooks ;
  • rôle « service » : 1 rôle par service déployé.

L’ensemble des fichiers de configuration (devant être instanciés) sera géré par l’outil de déploiement (via le langage de templating Jinja2).

5.8.3. Gestion des secrets

Pour les variables ayant une criticité (au sens de la sécurité - par exemple : les mots de passe de connexion aux bases de données), le déploiement VITAM est compatible avec l’utilisation du module Ansible Vault : celui-ci permet de chiffrer de manière symétrique les variables sensibles.

Avertissement

Cette fonctionnalité nécessite d’entrer la passphrase du fichier chiffré et donc est difficilement compatible avec une automatisation forte.

Les certificats (notamment CA et certificats serveur) devront être fournis au préalable et être placés dans les répertoires d’installation mentionnés dans le DIN.

Les composants nécessitant un certificat sont :

  • ceux exposés à l’extérieur du système, à savoir les frontaux (i.e. faisant partie de la zone Accès) et storage ;
  • ceux qui réalisent un horodatage sécurisé, à savoir logbook, worker et storage.

Pour chacun de ces certificats, l’intégralité des certificats des CA de la chaîne de certification devra également être fournie, ainsi que l’URL des CRL associées.

Avertissement

Les systèmes front-office en interface avec la solution Vitam doivent également mettre à disposition leurs certificats et chaînes de certification système, ainsi que les certificats individuels en cas d’utilisation des Personae.

Voir aussi

La liste des secrets nécessaires au bon fonctionnement de VITAM est décrite dans la section dédiée.