echo "======================================================================================" echo "" echo "Puppet Agent Installation" echo "" echo "This script will install a Puppet Agent on a RHEL / CentOS server." echo "" echo "======================================================================================" echo "" EXPECTED_ARGS=1 E_BADARGS=65 echo "=> Getting OS version ..." OS_MAJ_VERSION=$(rpm -qa \*-release | grep -Ei "oracle|redhat|centos" | cut -d"-" -f3) echo "=> Done!" echo "=> Getting hostname ..." if [ $# -ne $EXPECTED_ARGS ] then echo "Usage: $0 master_hostname" exit $E_BADARGS fi MASTER_HOSTNAME=$1 MY_HOSTNAME=$HOSTNAME echo "=> Found $MASTER_HOSTNAME" echo "=> Done!" echo "=> Adding Puppetlabs Yum repo ..." yum install -y http://yum.puppetlabs.com/puppetlabs-release-el-"$OS_MAJ_VERSION".noarch.rpm > /dev/null 2>&1 echo "=> Done!" echo "=> Installing Puppet Agent ..." yum -y install puppet > /dev/null 2>&1 echo "=> Done!" echo "=> Configuring Puppet Agent ..." echo '[main] logdir = /var/log/puppet rundir = /var/run/puppet ssldir = $vardir/ssl server = MASTER_HOSTNAME [agent] classfile = $vardir/classes.txt localconfig = $vardir/localconfig' > /etc/puppet/puppet.conf sed -i "s/MASTER_HOSTNAME/$MASTER_HOSTNAME/g" /etc/puppet/puppet.conf echo "=> Done!" echo "=> Ensuring Puppet Agent is running ..." puppet resource service puppet ensure=running enable=true > /dev/null 2>&1 echo "=> Done!" echo "" echo "======================================================================================" echo "" echo "Puppet Agent installed, you should run;" echo "" echo "puppet cert sign $MY_HOSTNAME" echo "" echo "on your Puppet Master ($MASTER_HOSTNAME) as soon as possible." echo "" echo "======================================================================================"