On pupettise uniquement les configurations qui sont en plusieurs exemplaires, sur plusieurs machines (exemple : SSH, ntp, resolv.conf, comptes utilisateurs, … ; contre-exemples : config ns0, config VPN, config BIRD, etc.)
On ne lance pas puppet-agent automatiquement. cssh fait l'affaire. On est pas obligé d'attendre 30 mns ou de faire un mix “auto + je lance l'agent pour tester”. On se donne du temps de réflexion avant d'appliquer. Et puppet-agent ne tourne pas toutes les 30 minutes pour rien (les changements de la base commune à toutes les VM et tous les LXC seront rares). Oui, d'autres logiciels de gestion des confs comme Ansible seraient plus adaptés à nos besoins mais le choix de Puppet est historique (LDN utilisait ça du temps de notre infrastructure commune) et aucun admin ARN n'a envie / le temps de changer ça.
Actuellement, Puppet s'occupe :
Utilisateurs : créer les comptes utilisateurs des techniciens avec leur mot de passe, leurs groupes d'appartenance (sudo), leur clé ssh et leur environnement de travail (bash ou zsh ? screen ou tmux ? avec quels screenrc, bashrc ou *rc ?).
Mot de passe du compte root
Packages à installer sur toutes les machines (VM, LXC, peu importe, minimum vital pour travailler) : htop, sudo, vim, screen, iputils-ping, traceroute, mtr-tiny, telnet, netcat, tcpdump, dnsutils, iptables, wget, nano, rsyslog, bash-completion, zsh, tmux, less, most, manpages, man-db, iotop, bwm-ng, psmisc, snmpd
Pour installer puppet-agent sur une nouvelle machine puis ajouter cette machine dans puppet-master : https://wiki.ldn-fai.net/wiki/Puppet (ne pas suivre Capistrano, puppet-lint,…). En gros :