In this chapter, we discussed Git, r10k, and Code Manager. We highlighted the logical separation of production-like and non-production-like environments. The contents of a control repository were laid out: Puppetfile, hiera.yaml, environment.conf, site.pp, and various types of code, such as roles and profiles. We covered enabling Code Manager and using the PE client tools to interact with Puppet Code Manager. Finally, we discussed a multitenant, Enterprise-focused control repository format that exports roles and profiles to standalone modules and uses data in modules to provide a Hiera hierarchy to each team in an organization.
In the next chapter, we'll focus on integrating a workflow to our code development. We'll expand our work into the PDK and inspect good development practice.