Book Image

Puppet 5 Beginner's Guide - Third Edition

By : John Arundel
Book Image

Puppet 5 Beginner's Guide - Third Edition

By: John Arundel

Overview of this book

Puppet 5 Beginner’s Guide, Third Edition gets you up and running with the very latest features of Puppet 5, 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 (21 chapters)
Puppet 5 Beginner's Guide Third Edition
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Adapting the repo for your own use


You will need to change some of the data and settings in the demo repo to be able to use it yourself. To get you started, here is a table showing which files to change and what information you'll need to supply, with more detailed explanations in the following sections:

File

What to change

data/common.yaml

users: Users and SSH keys common to all nodes

allow_users: Users allowed to log in to all nodes

sudoers: Users allowed to use sudo on all nodes

classes: Classes included by all nodes

data/nodes/[NODE NAME].yaml

users: Users and SSH keys that only exist on this node

allow_users: Users allowed to log in to only this node

sudoers: Users allowed to use sudo on only this node

classes: Classes included only by this node

site-modules/role/manifests/

Role classes for your nodes (include profile::common in each one)

scripts/puppify

PUPPET_REPO: Git URL of your Puppet repo

IDENTITY: Path to the SSH key for initial bootstrap of nodes,...