Skip to main content

Authoring a Puppet Module

Hands-On Lab


Photo of

Training Architect





A full Puppet module generally makes use of a number of components: Classes, manifests, files, Hiera data, and sometimes even defined types. In this lab, we'll be working with all of these things to create a full Nginx module that works across Debian-based and RedHat-based distributions. The module will install Nginx, pull the configuration file under Puppet's control, ensure the service has been started, and create any virtual hosts, demonstrating how to use classes, metaparameters, Hiera, and defined ttypes.

This lab assumes basic familiarity of Puppet module components, such as resource types and class declarations; for a lab that addresses the very basics, try "Getting Started with Puppet Modules."

What are Hands-On Labs?

Hands-On Labs are scenario-based learning environments where learners can practice without consequences. Don't compromise a system or waste money on expensive downloads. Practice real-world skills without the real-world risk, no assembly required.