Administration centralisée de machines avec Puppet
Gestion des dépendances
Marche à suivre
Puppet permet une gestion de dépendances très utile pour le lancement de programmes.
Ces derniers demandent d'être installé (via leur paquet), configuré grâce à leur fichier de configuration et puis lancé. Et le tout dans ce sens là : le programme ne peut pas s'exécuter sans avoir été installé et sans un fichier de configuration adéquat.
Puppet avec ses types permet de configurer les trois étapes utiles au programme et une dépendance entre eux grâce à des paramètres spécifiques de ces derniers. Il est bien entendu possible d'effectuer des dépendances plus complexes entre différents programmes.
Exemple et explication
Nous allons dans cet exemple prendre la configuration du programme Haproxy, un loadbalancer.

En premier, le programme est installé (récupéré sur le dépôt de la distribution) avec le type package.
En second, avec le type File, le fichier de configuration est copié depuis le serveur sur le client (paramètre source) et placé au bon endroit. Chaque modification de ce dernier notifiera le service Haproxy (pour qu'il soit redémarré).
En Dernier, le programme est exécuté avec le type Service. Celui-ci souscrit à son fichier de configuration permettant de redémarrer le programme à chaque changement de configuration. Et plus important, le lancement du programme ne pourra s'effectuer qu'une fois son paquet et son fichier de configuration disponibles.
On a donc pu voir comment installer, paramétrer et exécuter un programme avec la gestion de dépendances fournie avec Puppet.
Plus complexe

On peut voir dans cet exemple qu'il est tout à fait possible d'avoir des dépendances plus complexes.
L'exécution de Selenium ne se fera que si les cinq actions dont il requiert l'exécution se soient effectuées et si le fichier /etc/init.d/selenium est modifié.