Book Image

Mastering Puppet

By : Thomas Uphill
Book Image

Mastering Puppet

By: Thomas Uphill

Overview of this book

Table of Contents (17 chapters)

Chapter 5. Custom Facts and Modules

We have already created and used modules up to this point, when we installed and configured tuned using the is_virtual fact. We created a module called virtual in the process. Modules are nothing more than organizational tools; manifests, and plugin files that are grouped together.

We mentioned pluginsync in the previous chapter. By default, in Puppet 3.0 and higher, plugins in modules are synchronized from the master to the nodes. Plugins are special directories in modules that contain Ruby code.

Plugins are contained within the /lib subdirectory of a module, and there can be four possible subdirectories defined: files, manifests, templates, and lib. The manifests directory holds our manifests as we know, files has our files, and templates has the templates, and lib is where we extend augeas, hiera, facter, and/or Puppet depending on the files we place there. In this chapter, we will cover how to use the modulename/lib/facter directory to create custom...