Skip to content

Instantly share code, notes, and snippets.

@makeittotop
Created March 28, 2016 07:20
Show Gist options
  • Save makeittotop/2b714d5e019663f6543f to your computer and use it in GitHub Desktop.
Save makeittotop/2b714d5e019663f6543f to your computer and use it in GitHub Desktop.
# Anchor
# /etc/puppetlabs/puppet/modules/profiles/manifests/dbserver.pp
class profiles::dbserver {
anchor{'before_mysql:'} -> class{'mysql':} -> anchor{'after_mysql':}
}
# /etc/puppetlabs/puppet/modules/profiles/manifests/webserver.pp
class profiles::webserver {
anchor{'before_apache:'} -> class{'apache':} -> anchor{'after_apache':}
}
# /etc/puppetlabs/puppet/modules/roles/webstack.pp
class roles::ecommerce_app {
include profiles::dbserver
include profiles::webserver
Class['profiles::dbserver'] -> Class['profiles::webserver']
}
#/etc/puppetpabs/puppet/manifests/site.pp
node 'webapp01.puppetlabs.com' {
include roles::ecommerce_app
}
# Containment
# /etc/puppetlabs/puppet/modules/profiles/manifests/dbserver.pp
class profiles::dbserver {
contain mysql
}
# /etc/puppetlabs/puppet/modules/profiles/manifests/webserver.pp
class profiles::webserver {
contain apache
}
# /etc/puppetlabs/puppet/modules/roles/webstack.pp
class roles::ecommerce_app {
include profiles::dbserver
include profiles::webserver
Class['profiles::dbserver'] -> Class['profiles::webserver']
}
#/etc/puppetpabs/puppet/manifests/site.pp
node 'webapp01.puppetlabs.com' {
include roles::ecommerce_app
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment