Book Image

Puppet 4.10 Beginner's Guide - Second Edition

By : John Arundel
Book Image

Puppet 4.10 Beginner's Guide - Second Edition

By: John Arundel

Overview of this book

Puppet 4.10 Beginner’s Guide, Second Edition, gets you up and running with the very latest features of Puppet 4.10, including Docker containers, Hiera data, and Amazon AWS cloud orchestration. Go from beginner to confident Puppet user with a series of clear, practical examples to help you manage every aspect of your server setup. Whether you’re a developer, a system administrator, or you are simply curious about Puppet, you’ll learn Puppet skills that you can put into practice right away. With practical steps giving you the key concepts you need, this book teaches you how to install packages and config files, create users, set up scheduled jobs, provision cloud instances, build containers, and so much more. Every example in this book deals with something real and practical that you’re likely to need in your work, and you’ll see the complete Puppet code that makes it happen, along with step-by-step instructions for what to type and what output you’ll see. All the examples are available in a GitHub repo for you to download and adapt for your own server setup.
Table of Contents (20 chapters)
Puppet 4.10 Beginner's Guide Second Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Understanding the demo repo


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.

The control 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, but they can also come from remote Git repos).

Therefore, our Puppet repo needs to contain only a Puppetfile, along with our node definitions, resource defaults, Hiera data, and the role and profile modules.

Module management

Because r10k expects to manage...