Authoring a Puppet Module
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."