This document provides an overview of getting started with Puppet, including which Puppet distribution to use, external node classifiers, PuppetDB, Hiera, provisioning options, scaling Puppet, configuration as code using modules, the Puppet Forge for modules, learning more from IRC channels and mailing lists, and using Vagrant for learning. It also includes examples of Puppet code.
14. Puppet Master PuppetDB Console Razor
Dashboard Cobbler
Foreman Foreman*
ENC
Optional
PROOF OF CONCEPT
PROOF OF CONCEPTS NEVER DIE - EVEN IF YOU REALLY WISHED THEY WOULD
25. PUPPET HAS MORE THEN A DSL
SOMETIMES YOU JUST NEED TO WRITE A LITTLE RUBY
26. class evil {
define loop () {
notice("${name}")
}
loop { ['this', 'is', 'evil']:}
}
class{"evil":}
$ puppet apply evil.pp
notice: Scope(Evil::Loop[this]): this
notice: Scope(Evil::Loop[is]): is
notice: Scope(Evil::Loop[evil]): evil
27. node_config.vm.provision :puppet do |puppet|
puppet.manifests_path = 'provision/manifests'
puppet.module_path = 'provision/modules'
end
VAGRANT
LEARN TO ♥ IT