Chapter 5. Using and Writing Reusable Modules
The members of the Puppet community have always wondered how to write code that could be reused. In the early days, 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 configuration files, Puppet, and Ruby code 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 Forge, a central repository of modules that can be installed and managed directly from the command line.
It seemed to be the solution to the already growing mess of unstructured, sparse, uninteroperable, and incompatible modules, but to be realistic, it took some time before becoming...