Administration centralisée de machines avec Puppet
Ses composants

Le serveur
Le serveur est le démon puppetmasterd. Ce dernier ira lire ses fichiers de configuration pour ensuite générer la configuration que viendront chercher chaque client enregistré auprès de ce serveur
Les fichiers de configuration
Les fichiers de configuration suivent la syntaxe et le langage propre à Puppet et permettent au Serveur de pouvoir fournir la configuration à suivre à chacun de ses clients.
Une librairie de modules
Au lieu d'effectuer la spécification de la configuration de chaque application, il est aussi possible d'utiliser des modules créés par la communauté Puppet et ainsi simplifier encore plus la configuration des clients.
Le client
C'est un client nommé Puppetd. Il va vérifier toutes les 30 minutes (paramétrable) l'exactitude de sa configuration avec celle attendue par le serveur où il est enregistré.
Un validateur d'identitées
La connection entre un serveur et un client s'effectue au moyen d'une paire de clés et pour ainsi crypter le dialogue entre les deux protagonistes.
La première connection d'un client auprès de son serveur sera notifiée à ce dernier et il pourra authoriser la connection du client grâce à ce validateur
Une api d'informations sur le client
Chaque client peut aussi envoyer des informations sur sa configuration hardware et système plus détaillés à son serveur. Cet api nommée Report le permet.
Une console
Une console nommée Ralsh ou Puppet console, permet de spécifier la configuration de clients via une console acceptant des lignes de commandes comme des terminaux linux.
Une interface graphique

Afin d'avoir une visualisation graphique de la bonne prise en compte des modifications, une interface web est disponible : Puppet Daschboard.