Time for action – preparing for Puppet
Time for action – installing Puppet
Time for action – creating a directory structure
Time for action – creating a node declaration
Time for action – installing Nginx
Time for action – creating an Nginx module
Time for action – making a "puppet apply" command
Time for action – adding the Nginx service
Time for action – deploying a virtual host
Time for action – importing your manifests into Git
Time for action – committing and inspecting changes
Time for action – creating a master Git repo
Time for action – cloning the repo to a new machine
Time for action – adding a new node
Time for action – pushing changes to the master repo
Time for action – automatic pull-and-apply script
Time for action – creating a user
Time for action – adding an SSH authorized key
Time for action – deploying an SSH configuration file
Time for action – deploying a sudoers file
Running commands with exec resources
Time for action – running an arbitrary command
Time for action – scheduling a backup
Time for action – using a recursive file resource
Time for action – templating an Nginx virtual host
Grouping resources into arrays
Time for action – creating a definition for Nginx websites
Time for action – creating an NTP class