Puppet is a fantastic framework for configuration management widely based on DevOPS methods and Infrastructure as Code.
A great number of general puppet modules are already available, i.e. on Github or the Puppet forge.
When implementing Puppet modules, it is important check on a few things before using downloaded Puppet modules:
- Does the module do things exactly as needed in your specific IT environment?
Software used in your infrastructure should do exactly whats needed. Not more, not less. - Is the module compatible with other modules in your Puppet catalogue? Are there no conflicts?
Puppet does not allow a resource to be controlled by multiple classes. It is rather likely, that modules written by independent authors are conflicting in way or another. - Is it properly tested and following style guidelines?
- Is it properly documented?
- Does it follow security guidelines and best practices?
- DOES IT WORK?