Chapter 5. Custom Facts and Modules
We 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, templates
has the templates, and lib
is where we extend Augeas, Hiera, Facter, and/or Puppet depending on the files we place there.
Note
You may also see a spec
directory in modules downloaded from Puppet Forge. This directory holds the...