Additional puppet notes after books and presentation

At some point, I’m going to have to consolidate all the notes into one document; but, just to keep the new shit segregted from the old shit...

Taking the free puppet courses available at


Just ran through the exercise. Interestingly, didn’t have to create a site.pp file. Just include the module at the end of the module definition:

class motd {
  file { '/etc/motd':
    ensure  => file,
    owner   => 'root',
    group   => 'root',
    content => 'Hellow, world!  Puppet is AWESOME!!',
include motd

Then run puppet apply motd.pp and it works...


${module}->lib directory contains custom facts and custom resource types?

$confdir =

  • /etc/puppet (open source)
  • /etc/puppetlabs (puppet enterprise)

puppet config print modulepath to display the modulepath.

autoloading = puppet run, -> catalog compile -> find/compile the modules.


before: Causes a resource to be applied before the target resource

require: Causes a resource to be applied after the target resource

notify: Causes the notified resource to refresh if the notifying resource changes

subscribe: subscribing resource will refresh if the target resource changes.

chto gets applied first:

class chto {
    before => some_other

chto gets applied after:

chass chto {
    require => some_other


Hiera is for providing config data in the form of variables

ENCs are for providing node configuration.

Facter IDs system information such as OS, IP, etc. Sends facts to puppet