Course overview

During a 2-day course full time or 4-day course part time, students will be introduced to the fundamentals of the Puppet programming language and the Puppet master/agent architecture. The course is relevant to both Puppet Enterprise and open source Puppet.


This course is intended for system administrators and developers with no prior knowledge or experience with Puppet or other configuration management languages, who are looking for a career as an automation engineer, DevOps engineer, cloud engineer or platform engineer.


  • Basic familiarity with Linux or Windows operating systems
  • Ability to use a text editor such as vi or nano
  • A laptop with VMware Fusion or Oracle Virtualbox installed

Course outline

Puppet concepts
The puppet master and the agent; the lifecycle of a puppet run; facts and facter

Installing puppet
Installing a puppet master; installing the puppet agent – covers open source and Puppet Enterprise

Puppet language
Puppet types and providers; resources; the puppet resource tool; classes; modules; Puppet Forge; roles and profiles; node classification; relationships and the relationship graph; functions and stdlib; variables; conditionals and selectors; iterators

FIles and templates
Installing files; the template function; installing files with dynamic content using ERB templates

Defined types
Using defined types to define your own types

Introduction to hiera; parameterised classes and hiera ‘automatic data binding’; explicit hiera calls
using the hiera function