The roles and profiles pattern adds two additional layers of abstraction between your node classification at the highest level and component modules at the lowest, thus providing three levels of abstraction in your Puppet modules. The following descriptions go from the most complex to the least:
- Component modules: These are modules for the management of software for your business. There will no doubt be a bunch of these that you've downloaded from the Forge (for example, puppetlabs/apache, puppetlabs/mysql, hunner/wordpress, and so on), and no doubt also some that you have developed for your own business-specific purposes.
We've discussed these already at length in Chapter 1, Authoring Modules, so here's the rub:
- Profiles: A set of encapsulated technology-specific classes that use one or more component modules and corresponding business...