Now it's time to see how all the ideas from the previous chapters fit together. It should be helpful for you to see how a complete Puppet infrastructure works, and you can also use this repo as a basis for your own projects. We'll see how you can do that later in the chapter, but first, a word or two about the overall structure of the repo.
A control repo is a Puppet code base that contains no modules, or only site-specific modules, and it's a good way to organize your Puppet code base.
In Chapter 7, Mastering modules, we learned about using the
r10k tool to manage modules with a Puppetfile. The Puppetfile specifies the modules we use, with their exact versions and their sources (usually Puppet Forge, ...