3 # This bootstraps Puppet on Ubuntu 12.04 LTS.
7 # Load up the release information
10 #REPO_DEB_URL="http://apt.puppetlabs.com/puppetlabs-release-${DISTRIB_CODENAME}.deb"
11 REPO_DEB_URL="http://apt.puppetlabs.com/puppetlabs-release-stable.deb"
13 #--------------------------------------------------------------------
14 # NO TUNABLES BELOW THIS POINT
15 #--------------------------------------------------------------------
16 if [ "$(id -u)" != "0" ]; then
17 echo "This script must be run as root." >&2
21 if which puppet > /dev/null 2>&1 -a apt-cache policy | grep --quiet apt.puppetlabs.com; then
22 echo "Puppet is already installed."
26 # Do the initial apt-get update
27 echo "Initial apt-get update..."
28 apt-get update >/dev/null
30 # Install wget if we have to (some older Ubuntu versions)
31 echo "Installing wget..."
32 apt-get install -y wget >/dev/null
34 # Install the PuppetLabs repo
35 echo "Configuring PuppetLabs repo..."
36 repo_deb_path=$(mktemp)
37 wget --output-document="${repo_deb_path}" "${REPO_DEB_URL}" 2>/dev/null
38 dpkg -i "${repo_deb_path}" >/dev/null
39 apt-get update >/dev/null
42 echo "Installing Puppet..."
43 DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install puppet >/dev/null
45 echo "Puppet installed!"
47 # Install RubyGems for the provider
48 echo "Installing RubyGems..."
49 if [ $DISTRIB_CODENAME != "trusty" ]; then
50 apt-get install -y rubygems >/dev/null
52 gem install --no-ri --no-rdoc rubygems-update
53 update_rubygems >/dev/null
55 # Installing Puppet Modules
56 puppet module install puppetlabs/vcsrepo
57 puppet module install puppetlabs/stdlib