Skip to content

Instantly share code, notes, and snippets.

@toobulkeh
Last active December 10, 2015 14:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save toobulkeh/4445117 to your computer and use it in GitHub Desktop.
Save toobulkeh/4445117 to your computer and use it in GitHub Desktop.
Puppet Dependency Syntax
#Define Extra Stages of Install
#Note: "rvm-install" stage is defined in the "rvm" module
stage { 'req-install': before => Stage['rvm-install'] }
stage { 'rvm-install': before => Stage['ruby-install'] }
stage { 'ruby-install': before => Stage['rails-install'] }
stage { 'rails-install': before => Stage['main'] }
class install_reqs {
group { "puppet": ensure => "present", }
exec { "apt-update":
command => "/usr/bin/apt-get -y update",
user => "root",
}
}
class install_rvm {
include rvm
rvm::system_user { vagrant: ; }
}
class install_ruby {
rvm_system_ruby { "ruby-1.9.3-p327":
ensure => 'present',
default_use => true;
}
}
class install_rails {
rvm_gemset { "ruby-1.9.3-p327@vagrant":
ensure => present,
require => Rvm_system_ruby['ruby-1.9.3-p327'];
}
rvm_gem { "ruby-1.9.3-p327@vagrant/rails":
ensure => '3.2.9',
require => Rvm_gemset['ruby-1.9.3-p327@vagrant'];
}
rvm_gem { "ruby-1.9.3-p327@vagrant/libv8":
ensure => '3.11.8.4',
require => Rvm_gemset['ruby-1.9.3-p327@vagrant'];
}
}
class { install_reqs:, stage => "req-install" }
class { install_rvm:, stage => "rvm-install" }
class { install_ruby:, stage => "ruby-install" }
class { install_rails:, stage => "rails-install" }
#Stage Ordering
Stage['req-install'] -> Stage['rvm-install'] -> Stage['ruby-install'] -> Stage['rails-install'] -> Stage['main']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment