Managing and deploying Puppet code
By default, just creating the folders and dropping module contents into place combined with the puppet module install
command to automate pulling from the Forge API is enough to make modules visible in environments and to allow them to be wrapped up in package management to create versions. But this is not an approach that we recommend as it centralizes the deployment of modules and environments, most likely making a single team a gatekeeper. We will see that control repos provide more flexible control.
The most common approach is to use a Git repository known as a control repo. Puppet provides a template for this repository at https://github.com/puppetlabs/control-repo.
Note
The Puppet Forge author example42 provides its own templated control repo for use with its integrations and pre-designed implementation approaches: https://github.com/example42/psick.
Puppet’s control repo template contains many of the directories and files...