mplx

Organisation des rôles et playbooks

Numérotation des playbooks

A la fois pour indiquer l’ordre suggéré d’exécution, et pour rendre l’auto-complétion pratique.

Les playbooks à exécuter en premier pour mettre en place le bordel sont en 1xx. Les playbooks spécifiques aux conteneurs sont en 3xx. Les playbooks divers à exécuter occasionellement sont en 9xx.

Roles principaux et secondaires

On distingue des rôles principaux, de rôles secondaires. Les rôles principaux sont généralement nommés service_*, ainsi que quelques autres rôles pas encore bien classés. Ces rôles peuvent être inscrits dans les playbooks. Les rôles secondaires sont généralement nommés configurer_*, et ne sont pas censés être appellés par les playbooks.

Cette séparation est sans doute à revoir. Il faudrait :

  • Centraliser les variables à ajuster par l’utilisateur avant le déroulement du playbook
  • Décider d’une politique d’importation des rôles, voir où on se l’autorise.
  • Les rôles qui initient la config d’un conteneur, et les tâches d’administration récurrentes (ajout d’un nouveau site dans nginx par expl)

Host_vars

A revoir ! Plutôt que d’utiliser les hostvars, utiliser des fichiers de variables séparés et inclus explicitement. Plutôt que déterminés par des variables, certains comportements pourraient ptet être ajustés via un prompt.

Presque tous les conteneurs ont dans leur host_vars un fichier users.yml qui contient la liste des utilisateurs du service. L’idée c’est de pouvoir ajouter des utilisateurs simplement en ajoutant une entrée dans ce fichier YAML, qui par principe (host_vars) ne concerne que ce conteneur. A l’avenir, ce fichiers users.yml devrait être remplacé par LDAP.

Selon l’usage du conteneur, on peut trouver des fichiers de variables plus spécifiques : git.yml : liste des dépots git à créer/gérer sites.yml : liste des sites web à créer/gérer …