Modules' reusability is a topic that has got more and more attention during the last few years; as more people started using Puppet, the need of having some common and shared code to manage common things became more evident.
The following are the reusable modules' main characteristics:
- They can be used by different people without the need to modify their content
- They support different operating systems and allow easy extension to new ones
- They allow users to override the default files provided by the module
- They might have an opinionated approach to the managed resources but don't force it
- They follow a single responsibility principle and should manage only the application they are made for
Reusability, we must underline, is not ...