What is a module and what is in it?
Modules provide us with a way to group code and data, making it easier to share and reuse code that is part of a specific technology implementation. Almost all of your Puppet code will be stored in modules of one kind or another. You should work out the scope of your module to create focused modules with a single clear responsibility. If you were deploying a LAMP or WAMP stack, you would not make a single module that configured all components; instead, you would break it into individual modules, including OS settings, MySQL, and Apache. This allows greater code reuse and reduces the complexity of any individual module.
A module is a directory named with similar criteria to a class, so it must begin with a lowercase letter and can only contain lowercase letters, numbers, and underscores. Unlike classes, modules cannot be nested and do not use the ::
symbol. Reserved words and class names should not be used as module names.
Modules have a directory...