Mastering Puppet

Mastering Puppet
eBook: $20.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 20%!
Print + free eBook + free PacktLib access to the book: $54.98    Print cover: $33.99
save 51%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Implement puppet in a medium to large installation.
  • Deal with issues found in larger deployments, such as scaling, and improving performance.
  • Step by step tutorial to utilize Puppet efficiently to have a fully functioning Puppet infrastructure in an enterprise- level environment

Book Details

Language : English
Paperback : 280 pages [ 235mm x 191mm ]
Release Date : July 2014
ISBN : 1783982187
ISBN 13 : 9781783982189
Author(s) : Thomas Uphill
Topics and Technologies : All Books, Open Source

Table of Contents

Chapter 1: Dealing with Load/Scale
Chapter 2: Organizing Your Nodes and Data
Chapter 3: Git and Environments
Chapter 4: Public Modules
Chapter 5: Custom Facts and Modules
Chapter 6: Custom Types
Chapter 7: Reporting and Orchestration
Chapter 8: Exported Resources
Chapter 9: Roles and Profiles
Chapter 10: Troubleshooting
  • Chapter 1: Dealing with Load/Scale
    • Divide and conquer
      • Puppet with passenger
      • Splitting up the workload
        • Certificate signing
        • Reporting
        • Storeconfigs
        • Catalog compilation
        • Keeping the code consistent
      • One more split
      • One last split or maybe a few more
    • Conquer by dividing
      • Creating an rpm
      • Creating the YUM repository
    • Summary
  • Chapter 2: Organizing Your Nodes and Data
    • Getting started
    • Organizing the nodes with ENC
      • A simple example
        • Hostname strategy
        • Modified ENC using hostname strategy
      • LDAP backend
        • OpenLDAP configuration
    • Hiera
      • Configuring hiera
      • Using hiera_include
    • Summary
  • Chapter 3: Git and Environments
    • Environments
      • Environments and hiera
        • Multiple hierarchies
        • Single hierarchy for all environments
      • Dynamic environments
    • Git
      • Why Git?
      • A simple Git workflow
      • Git Hooks
        • Using post-receive to set up environments
        • Puppet-sync
      • Playing nice with other developers
      • Not playing nice with others
    • Git for everyone
    • Summary
  • Chapter 4: Public Modules
    • Getting modules
    • Using GitHub for public modules
    • Modules from the Forge
    • Using librarian
    • Using r10k
    • Using modules
      • concat
      • inifile
      • firewall
      • lvm
      • stdlib
    • Summary
  • Chapter 5: Custom Facts and Modules
    • Module manifest files
      • Module files and templates
      • Naming a module
      • Creating modules with a Puppet module
        • Comments in modules
      • Multiple definitions
    • Custom facts
      • Creating custom facts
      • Creating a custom fact for use in hiera
    • Summary
  • Chapter 7: Reporting and Orchestration
    • Turning on reporting
    • Syslog
    • Store
    • IRC
    • Foreman
      • Installing Foreman
      • Attaching Foreman to Puppet
      • Using Foreman
    • Puppet Dashboard
      • Using passenger with Dashboard
      • Linking Dashboard to Puppet
      • Processing reports
      • mcollective
        • Installing activemq
        • Configuring nodes to use activemq
        • Connecting a client to activemq
        • Using mcollective
    • Summary
  • Chapter 8: Exported Resources
    • Configuring puppetdb – using the forge module
    • Manually installing puppetdb
      • Installing Puppet and puppetdb
      • Installing and configuring PostgreSQL
      • Configuring puppetdb to use PostgreSQL
      • Configuring Puppet to use puppetdb
    • Exported resource concepts
      • Declaring exported resources
      • Collecting exported resources
    • Simple example: a host entry
    • Resource tags
      • Exported SSH keys
        • sshkey collection for laptops
    • Putting it all together
    • Summary
  • Chapter 10: Troubleshooting
    • Connectivity issues
    • Catalog failures
      • Full trace of a catalog compile
      • The classes.txt file
    • Debugging
      • Personal and bugfix branches
        • Echo statements
      • Scope
      • Profiling and summarizing
    • Summary

Thomas Uphill

Thomas Uphill is an RHCA who has been using Puppet since version 0.24. He has been a system administrator for nearly 20 years, more than 10 of which have been with Red Hat Linux and its derivatives. He has presented tutorials on Puppet at LOPSA-East and has spoken at PuppetConf 2013. He enjoys teaching others how to use Puppet to automate as much system administration tasks as possible. When he's not at the Seattle Puppet Meetup, you can find him at

Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Mastering Puppet +    Expert Python Programming =
50% Off
the second eBook
Price for both: €24.70

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Scale out your Puppet masters using proxy techniques
  • Automate Puppet master deployment using Git Hooks, r10k, and librarian-puppet
  • Access public modules from Git Forge and use them to solve real-world problems
  • Use Hiera and ENC to automatically assign modules to nodes
  • Create custom modules, facts, and types
  • Use exported resources to orchestrate changes across the enterprise

In Detail

Puppet is a configuration management system written for system administrators to manage a large number of systems efficiently and help maintain order.

Mastering Puppetdeals with the issues faced in larger deployments such as scaling and duplicate resource definitions. It will show you how to fit Puppet into your organization and keep everyone working. The concepts presented can be adapted to suit any size organization. This book starts with setting up and installing Puppet in your organization and then moves on to implementing version control in Puppet, creating custom modules, and extending your Puppet infrastructure. Finally, you will learn tips and tricks that are useful when troubleshooting Puppet and the best practices to make you a pro.


Presented in an easy-to-follow, step-by-step tutorial format and packed with examples, this book will lead you through making the best out of Puppet in an enterprise environment.

Who this book is for

If you are a system administrator or developer who has used Puppet in production and are looking for ways to easily use Puppet in an enterprise environment, this book is for you. This book assumes an intermediate knowledge of Puppet and is intended for those writing modules or deploying Puppet in an enterprise environment.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software