Puppet

Qu’est-ce que Puppet ?
Puppet est un outil de gestion de configuration Open Source créé en 2005. Il utilise un langage déclaratif propre (DSL) pour décrire l’état souhaité des systèmes et garantir leur conformité.
Architecture
Modèle client-serveur
- Puppet Server : compile les catalogues
- Puppet Agent : applique les configurations
- PuppetDB : stocke les facts et rapports
- Facter : collecte les informations système
Langage déclaratif
class webserver {
package { 'nginx':
ensure => installed,
}
service { 'nginx':
ensure => running,
enable => true,
require => Package['nginx'],
}
file { '/etc/nginx/nginx.conf':
ensure => file,
content => template('webserver/nginx.conf.erb'),
notify => Service['nginx'],
}
}
Fonctionnalités
- Idempotence : exécutions répétables
- Rapports : conformité et dérives
- Hiera : séparation code/données
- Forge : modules communautaires
Comparaison entre Puppet et Ansible
| Aspect | Puppet | Ansible |
|---|---|---|
| Agent | Oui | Non |
| Langage | DSL Puppet | YAML |
| Mode | Pull | Push |
| Conformité continue | Oui | Manuel |
L’expertise Worteks
Worteks gère des infrastructures Puppet :
- Déploiement : Puppet Server et agents
- Modules : développement sur mesure
- Migration : vers Ansible si pertinent
- Audit : conformité et reporting