Apress NBA

Pulling Strings with Puppet

Configuration Management Made Easy

By James Turnbull

  • eBook Price: $20.99
Buy eBook Buy Print Book

Pulling Strings with Puppet Cover Image

Author James Turnbull will guide you through Puppet's key features, showing you how to install and configure the software, create automated Puppet tasks, known as recipes, and even create reporting solutions and extend Puppet further for your own needs.

Full Description

  • Add to Wishlist
  • ISBN13: 978-1-59059-978-5
  • 192 Pages
  • User Level: Beginner to Advanced
  • Publication Date: January 29, 2008
  • Available eBook Formats: PDF

Related Titles

  • Practical LPIC-1 Linux Certification Study Guide
  • Learn CakePHP, Second Edition
  • PHP Development Tool Essentials
  • Practical D3.js
  • Introducing Linux Distros
  • Building Arduino Projects for  the Internet of Things
  • PHP and MySQL Recipes
  • Spring Persistence with Hibernate, Second Edition
  • 3D Printed Science Projects
  • Kubernetes Microservices with Docker
Full Description

Competent system administrators know their success hinges upon being able to perform often tedious tasks with rigor and punctuality. Such metrics are often achieved only by instituting a considerable degree of automation, something that has become even more crucial as IT environments continue to scale both in terms of size and complexity. One of the most powerful system administration tools to be released is Puppet, a solution capable of automating nearly every aspect of a system administrator’s job, from user management, to software installation, to even configuring server services such as FTP and LDAP.

Pulling Strings with Puppet: Configuration Management Made Easy is the first book to introduce the powerful Puppet system administration tool. Author James Turnbull will guide you through Puppet’s key features, showing you how to install and configure the software, create automated Puppet tasks, known as recipes, and even create reporting solutions and extend Puppet further to your own needs. A bonus chapter is included covering the Facter library, which makes it a breeze to automate the retrieval of server configuration details such as IP and MAC addresses.

What you’ll learn

  • Properly install and configure Puppet in order to begin immediately maximizing its capabilities
  • Create reporting solutions to more easily monitor automated outcomes
  • Extend Puppet to perform tasks that are capable of suiting your organization’s specific needs
  • Use Facter to query server operating systems for key data such as IP addresses, server names, and MAC addresses

Who this book is for

Ruby developers and system administrators.

Table of Contents

Table of Contents

  1. Introducing Puppet
  2. Installing and Running Puppet
  3. Speaking Puppet
  4. Using Puppet
  5. Reporting on Puppet
  6. Advanced Puppet
  7. Extending Puppet
Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.


If you think that you've found an error in this book, please let us know by emailing to editorial@apress.com . You will find any confirmed erratum below, so you can check if your concern has already been addressed.

On page 23-24:
In addition to the presented notes, v2.6.4 of Puppet will require these directories to be created in /var/lib/puppet, and owned by puppet:puppet:
- bucket
- facts
- lib
- log
- reports
- run
- state
- yaml

On page 52:
when you talk about definitions to specify defaults for each of the argument passed the exmple is:

define config_file ( owner = root, group = root, mode = 644, source, backup = false, recurse = false, ensure = file) {

   file { $name:
        mode    => $mode,
        owner   => $owner,
        group   => $group,
        backup  => $backup,
        recurse => $recurse,
        ensure  => $ensure,
        source  => "puppet:///$source"

shouldn't be:

define config_file ( $owner = root, $group = root, $mode = 644, $source, $backup = false, $recurse = false, $ensure = file) {

   file { $name:
        mode    => $mode,
        owner   => $owner,
        group   => $group,
        backup  => $backup,
        recurse => $recurse,
        ensure  => $ensure,
        source  => "puppet:///$source"

using "$" sign before any argument?

On page 104:

Listing 4-10 describes how to add a user to the Administration group. If you implement this example as it stands and then remove a user from this line that user remains in the Administration group, which is clearly not the intended behavior.


    1. PHP Objects, Patterns, and Practice


      View Book

    2. Beginning Android 3D Game Development


      View Book

    3. Troubleshooting Oracle Performance


      View Book

    4. Beginning Amazon Web Services with Node.js


      View Book