2. What is a resource ?
http://www.sharepointblog.co.uk/tag/bamasterclass/
# puppetconf # puppetize @ puppetlabs
3. Puppet Resources
Simple way to describe the configuration state of
individual elements of the system being managed.
user { ‘dan’:
ensure => present,
shell => ‘/bin/bash’,
}
# puppetconf # puppetize @ puppetlabs
4. Puppet Resources
user { ‘dan’: # a user named dan
ensure => present, # should exist
shell => ‘/bin/bash’, # with this shell
}
# puppetconf # puppetize @ puppetlabs
5. Puppet Resources
package { ‘apache2’: # a package named apache2
ensure => present, # should be installed
}
# puppetconf # puppetize @ puppetlabs
7. Puppet DSL and Resources
The Puppet DSL can be used to compose collections of
simple resources into classes or defined resources.
# puppetconf # puppetize @ puppetlabs
15. GCE objects as resources?
• All GCE objects have state (they can exist, not
exist)
• GCE objects can be managed remotely using
the Puppet Device Pattern
# puppetconf # puppetize @ puppetlabs
20. We don’t really want
compute resources, we want
applications that consume
those resources.
# puppetconf # puppetize @ puppetlabs
21. Step 1. Get content from the
forge.
gce_instance { ‘dansinstance’:
ensure => present,
…
modules => [‘puppetlabs-mysql’, ‘saz-memcached’]
}
# puppetconf # puppetize @ puppetlabs
22. forge.puppetlabs.com
Over 500 modules!!!!
I get all of
my content
from the
forge
http://for.some.reason.i.ma.de/this
# puppetconf # puppetize @ puppetlabs
24. Why is this awesome
http://activerain.com/image_store/uploads/5/1/1/2/5/ar118906407752115.jpg
# puppetconf # puppetize @ puppetlabs
25. Puppet is a proper
composition language
• Easy to organize complicated stacks.
• Supports higher level interfaces.
• Better than copy and paste configuration.
# puppetconf # puppetize @ puppetlabs
26. Resources support noop
• Possible to see if your description matches the
current stack.
# puppetconf # puppetize @ puppetlabs
27. Writable configuration
language
• People already know how to compose
complex configurations with Puppet
# puppetconf # puppetize @ puppetlabs