Skip to content

Instantly share code, notes, and snippets.

@jeffweiss
Created November 9, 2012 18:13
Show Gist options
  • Save jeffweiss/4047258 to your computer and use it in GitHub Desktop.
Save jeffweiss/4047258 to your computer and use it in GitHub Desktop.
Dev env bootstrap script
#!/bin/bash
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
# First try to load from a user install
source $HOME/.rvm/scripts/rvm
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
# Then try to load from a root install
source "/usr/local/rvm/scripts/rvm"
else
printf "ERROR: An RVM installation was not found.\n"
fi
rvm use 1.8.7@pe-dev-env_nfs --create
gem install puppet --no-ri --no-rdoc
puppet module install puppetlabs-vcsrepo
puppet apply repos.pp
$devel_dir = "/tmp/nfs"
$devpath = "$devel_dir/pe-dev-env_nfs"
file { "dev-env":
path => "$devel_dir",
ensure => directory,
mode => 0664,
recurse => true
}
package { "vagrant":
ensure => present,
provider => gem
}
package { "virtualbox":
ensure => present,
provider => gem
}
package { "nokogiri":
ensure => present,
provider => gem
}
package { "rspec":
ensure => present,
provider => gem
}
package { "mocha":
ensure => present,
provider => gem
}
package { "capybara":
ensure => present,
provider => gem
}
package { "sauce":
ensure => present,
provider => gem
}
vcsrepo { "dev-env":
path => "$devpath",
ensure => latest,
provider => git,
source => "[email protected]:puppetlabs/pe-dev-env.git",
require => File["dev-env"]
}
vcsrepo { "src/puppet-dashboard":
path => "$devpath/src/puppet-dashboard",
ensure => latest,
provider => git,
source => "[email protected]:puppetlabs/puppet-dashboard.git",
require => Vcsrepo["dev-env"]
}
vcsrepo { "src/rubycas-server":
path => "$devpath/src/rubycas-server",
ensure => latest,
provider => git,
source => "[email protected]:lifton/rubycas-server.git",
revision => "multi-auth",
require => Vcsrepo["dev-env"]
}
vcsrepo { "src/console_auth":
path => "$devpath/src/console_auth",
ensure => latest,
provider => git,
source => "[email protected]:puppetlabs/console_auth.git",
require => Vcsrepo["dev-env"]
}
vcsrepo { "src/live-management":
path => "$devpath/src/live-management",
ensure => latest,
provider => git,
source => "[email protected]:puppetlabs/live-management.git",
require => Vcsrepo["dev-env"]
}
vcsrepo { "src/console":
path => "$devpath/src/console",
ensure => latest,
provider => git,
source => "[email protected]:puppetlabs/console.git",
require => Vcsrepo["dev-env"]
}
vcsrepo { "src/console/applications/certificates":
path => "$devpath/src/console/applications/certificates",
ensure => latest,
provider => git,
source => "[email protected]:puppetlabs/console_certificate_manager.git",
require => Vcsrepo["src/console"]
}
vcsrepo { "src/pe_console_common":
path => "$devpath/src/pe_console_common",
ensure => latest,
provider => git,
source => "[email protected]:puppetlabs/pe_console_common.git",
require => Vcsrepo["dev-env"]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment