Chapter 5. Using and Writing Reusable Modules
People in the Puppet community have always wondered how to write code that could be reused. Earlier, this was done with recipes, collected on the old wiki, where people shared fragments of code for specific tasks. Then we were introduced to modules, which allowed users to present all the Puppet and Ruby code and configuration files needed to manage a specific application in a unique directory.
People started writing modules, someone even made a full collection of them (the father of all the modules collections is David Schmitt; then others followed), and, at the European Puppet Camp in 2010, Luke Kanies announced the launch of the Puppet Modules Forge, a central repository of modules which can be installed and managed directly from the command line.
It seemed the solution to the already growing mess of unstructured, sparse, interoperable, and incompatible modules, but, in reality, it took some time before becoming the powerful resource...