Bootstrapping a Debian Lenny server with puppet from backports

Initial bootstrap

make sure lsb-release is installed

aptitude install lsb-release

add the backports key

/usr/bin/wget -O - http://backports.org/debian/archive.key | /usr/bin/apt-key add

and repository source

cat > /etc/apt/sources.list <<EOF
deb http://ftp.au.debian.org/debian lenny main contrib non-free
deb-src http://ftp.au.debian.org/debian lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
deb http://www.backports.org/debian lenny-backports main contrib non-free
EOF

do an update to get the backports packages in your package list

aptitude update

install puppet

echo '192.168.1.15 puppet' >> /etc/hosts
apt-get install -t lenny-backports puppet

do your first run

puppet agent --test -w 5

Sign the certificate

Then on the puppetmaster

puppet ca list
puppet ca sign <the outstanding servers hostname>

Do your initial puppet sync

Then back on the new host

puppet agent --test

Then you should be done assuming your default node has your basic setup, otherwise create a node in your puppet config with your required setup and run the puppetd -td command again.

Notes

The backports version of puppet defaults to not starting puppet at boot. This is good. Puppet running as a daemon seems to lock up and seem like its running when in fact it is doing nothing. It is much better to run puppet from cron to ensure its reliability.