Skip to content

Instantly share code, notes, and snippets.

@jtopjian
Created March 6, 2013 15:13
Show Gist options
  • Save jtopjian/5099948 to your computer and use it in GitHub Desktop.
Save jtopjian/5099948 to your computer and use it in GitHub Desktop.
Puppet bootstrap scripts
#!/bin/bash
cd /etc/puppet/modules
git clone https://github.com/puppetlabs/puppetlabs-apt apt
git clone -b 3.x https://github.com/puppetlabs/puppetlabs-stdlib stdlib
git clone https://github.com/puppetlabs/puppetlabs-concat concat
git clone https://github.com/jtopjian/puppetlabs-ruby ruby
git clone https://github.com/puppetlabs/puppetlabs-apache apache
git clone https://github.com/puppetlabs/puppetlabs-passenger passenger
git clone https://github.com/puppetlabs/puppetlabs-firewall firewall
git clone https://github.com/puppetlabs/puppetlabs-puppetdb puppetdb
git clone https://github.com/cprice-puppet/puppetlabs-inifile inifile
cd /etc/puppet
for i in production development
do
mkdir -p env/$i/{modules,manifests}
done
echo "Now apply the pmaster.pp, and pmaster-puppetdb.pp manifests in that order"
class { 'puppet::agent':
server => 'puppet.example.com',
report_server => 'puppet.example.com',
ca_server => 'puppet.example.com',
method => 'service',
custom_repo => false,
environment => 'development',
} ->
class { 'puppet::server':
modulepath => '$confdir/env/$environment/modules:$confdir/modules',
config_version_cmd => false,
storeconfigs => 'puppetdb',
servertype => 'passenger',
monitor_server => false,
backup_server => false,
manifest => '/etc/puppet/manifests/site.pp',
} ->
class { 'puppetdb':
database => 'embedded',
listen_address => '0.0.0.0',
ssl_listen_address => '0.0.0.0',
} ->
class { 'puppetdb::master::config': }
class { 'puppet::agent':
server => 'puppet.example.com',
report_server => 'puppet.example.com',
ca_server => 'puppet.example.com',
method => 'service',
custom_repo => false,
environment => 'development',
} ->
class { 'puppet::server':
modulepath => '$confdir/env/$environment/modules:$confdir/modules',
config_version_cmd => false,
storeconfigs => 'puppetdb',
servertype => 'passenger',
monitor_server => false,
backup_server => false,
manifest => '/etc/puppet/manifests/site.pp',
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment