Developing and Managing Modules
Having reviewed many aspects of the Puppet language, it is clear that using manifest files and classes alone would not scale or provide the structure needed as a code base grows for a diverse range of servers and customer requirements. In this chapter, we will review the components required to create Puppet code at scale. We will be looking at Puppet modules, which allow us to bundle code and data focused on a single technology implementation, thus making it easy to share and combine with other implementations. Then, we’ll explore the roles and profiles method to show you how profiles can group modules to create technology stacks and roles, then combine profiles to match business requirements. After, we’ll cover the Puppet Development Kit (PDK), showing how it can automate the process of creating and managing modules. The directories and files templated by the PDK will be shown, highlighting its built-in validation and linting checks, as...