Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Quickly install Puppet from source + dependencies
#!/bin/bash
# Quick and easy script to install Puppet, Facter and dependencies.
# Kickstarts a node ready for puppeting.
# Tested with:
#
# - Scientific Linux 6.1, 6.2, 6.3
# - CentOS 6.3
## Installing Ruby
echo "Installing Ruby.."
yum -y -e 0 -d 0 install ruby ruby-devel rubygems libselinux-ruby gcc make
gem install -r ruby-shadow
echo "Downloading Facter.."
curl -s -O http://downloads.puppetlabs.com/facter/facter-latest.tgz
echo "Downloading Puppet.."
curl -s -O http://downloads.puppetlabs.com/puppet/puppet-latest.tar.gz
id puppet 2>1 1>/dev/null
if [[ $? == 1 ]]; then
adduser -r puppet
fi
## Install Facter
echo "Installing Facter.."
tar xzf facter-latest.tgz
rm -f facter-latest.tgz
pushd facter*
ruby ./install.rb 1>/dev/null
popd
## Install Puppet
echo "Installing Puppet.."
tar xzf puppet-latest.tar.gz
rm -f puppet-latest.tar.gz
pushd puppet*
ruby ./install.rb 1>/dev/null
cp conf/redhat/client.init /etc/init.d/puppet && chmod +x /etc/init.d/puppet
cp conf/redhat/client.sysconfig /etc/sysconfig/puppet
cp conf/redhat/logrotate /etc/logrotate.d/puppetmaster
cp conf/redhat/puppet.conf /etc/puppet/
chkconfig --add puppet
chkconfig puppet on
popd
echo "
* PRO TIP #1: Configure your Puppet Master in puppet.conf:
[agent]
server = puppet-master.yourdomain.co.nz
* PRO TIP #2: Run:
puppet agent -v --test --waitforcert 60
..to send a signing request to the Puppet Master.
"
exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment