How to integrate a new client to be managed by puppet?
Ideally you can integrate that into your fai, kickstart, openvz template or whatever you use. But if you want to integrate your existing nodes into puppet or your new dedicated server has just been made available, that's a possible way to shorten things:
#!/bin/bash # # 2012-03-07/TB # set -u PUPPETMASTER=puppetmaster.example.com PUPPETCONF=/etc/puppet/puppet.conf # install: aptitude install puppet facter lsb-release TEMPCONF=$(mktemp) # don't end with an empty puppet.conf cp $PUPPETCONF $TEMPCONF # insert server='XYZ' line into puppet.conf if not present grep -q "server=" $PUPPETCONF || sed -e "2 i server=$PUPPETMASTER" $PUPPETCONF > $TEMPCONF # diff to see the difference ;-) diff $PUPPETCONF $TEMPCONF # move to destination mv $TEMPCONF $PUPPETCONF && chmod 644 $PUPPETCONF && chown root.root $PUPPETCONF # disply conf to be sure more $PUPPETCONF # generate certificate request on the master: puppet agent --server=$PUPPETMASTER --no-deamonize --verbose
Once you received your cert and puppet takes over, you can delete the bootstrap file (or let puppet take care of it).
install from backports.org
How to integrate the backports repository see backportsorg
# client: aptitude install rdoc aptitude -t lenny-backports install facter puppet # install the puppetmaster: aptitude -t lenny-backports install puppetmaster # squeeze puppetmaster aptitude -t squeeze-backports install facter puppet puppetmaster-passenger