Summary
In this chapter, we've gained an understanding of Puppet modules, including an introduction to the Puppet Forge module repository. We've seen how to search for the modules we need, and how to evaluate the results, including Puppet Approved and Puppet Supported modules, operating system support, and download count.
We've looked at using the r10k
tool to download and manage Puppet modules in your infrastructure, and how to specify the modules and versions you need in your Puppetfile.
Introducing the standard library for Puppet, we've covered the use of ensure_packages()
to avoid package conflicts between modules, the file_line
resource, which provides line-level editing for config files, and a host of useful functions for manipulating data, as well as looking at the Pry debugger.
To fully understand how modules work, we developed a simple module from scratch to manage the NTP service, hosted in its own Git repository and managed via a Puppetfile and r10k
. We've also seen what a metadata...