Book Image

Mastering Puppet

By : Thomas Uphill
Book Image

Mastering Puppet

By: Thomas Uphill

Overview of this book

Table of Contents (17 chapters)

Module manifest files


Each module is expected to have an init.pp file defined which has the top level class definition; in the case of our base example, init.pp is expected to contain class base { }.

Now, if we include base::subitem in our node manifest, then the file that Puppet would search for will be base/manifests/subitem.pp, and that file should contain class base::subitem { }.

It is also possible to have subdirectories of the manifests directory defined to split up the manifests even more. As a rule, a manifest within a module should only contain a single class. If we wish to define base::subitem::subsetting, then the file would be base/manifests/subitem/subsetting.pp, and it would contain class base::subitem::subsetting { }.

Naming your files correctly means they will be loaded automatically as needed, and you won't have to use the import function. By creating multiple subclasses, it is easy to separate a module into its various components; this is important later when you need to include...