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

Files


We saw in Chapter 2, Creating your first manifests that Puppet can manage files on a node using the file resource, and we looked at an example which sets the contents of a file to a particular string using the content attribute. Here it is again (file_hello.pp):

file { '/tmp/hello.txt':
  content => "hello, world\n",
}

The path attribute

We've seen that every Puppet resource has a title (a quoted string followed by a colon). In the file_hello example, the title of the file resource is '/tmp/hello.txt'. It's easy to guess that Puppet is going to use this value as the path of the created file. In fact, path is one of the attributes you can specify for a file, but if you don't specify it, Puppet will use the title of the resource as the value of path.

Managing whole files

While it's useful to be able to set the contents of a file to a short text string, most files we're likely to want to manage will be too large to include directly in our Puppet manifests. Ideally, we would put a copy of...