Book Image

Extending Puppet

By : Alessandro Franceschi
Book Image

Extending Puppet

By: Alessandro Franceschi

Overview of this book

Table of Contents (21 chapters)
Extending Puppet
About the Author
About the Reviewers

Chapter 6. Higher Abstraction Modules

Most of the modules we find on the Puppet Forge have one thing in common: they typically manage a single application (Apache, JBoss, ElasticSearch, MySQL, and so on) or a system's feature (such as networking, users, limits, or sysctl).

A good thing is that a rigorous approach to a single responsibility principle is important in order to have modules that can better interoperate, do just what they are expected to do, and behave like libraries that offer well-identified and atomic services to their users.

Still, our infrastructures are more complex; they require different applications to be configured to work together, where configurations may change according to the number and topology of the other components and some kind of cross-application dependencies have to be followed to fulfill a complete setup.

This is generally managed by Puppet users when they group and organize classes according to their needs. Most of the time, this is done in local site modules...