In a previous chapter, we discussed roles and profiles. It is a common practice for many small organizations to place their roles and profiles in the control repository, as a simple place to get started writing puppet code for your organization. Using the previous environment.conf, our roles and profiles would be found at /etc/puppetlabs/code/environments/<environment>/site, as a roles directory and a profiles directory. These would be contained in the Git repository, in a site folder at the base of the repository.
For many larger organizations, accepting commits to a standalone role and standalone profile module can be easier to maintain than bundling them into the control repository. This provides each environment with ...