Writing Puppet to cover all the different parts of your system is a lot less time consuming if you use modules already available on the web to compliment what you build yourself. There are a number of ways to do this and keep track of which modules you are using and their updates, including git submodules, librarian-puppet and r10k. This talk covers how to use those methods, how to adapt the modules you've included to your needs, and how to contribute back to the community.
r10k has become the de-facto solution for promoting infrastructure code through successive deployment tiers, from development to testing and on to production. But r10k is just one piece in a larger "code management" workflow, which increases confidence in your deployments and reduces the potential for unwanted changes reaching production. In this session we will give a high-level introduction to the problems of code management and how r10k fits into this.