Introduction to Puppet¶
For information about learning Puppet and major components, see docs.puppetlabs.com.
Our docs site is also a community project like the Wiki, learn how to contribute here.
Some additional articles on configurations that are not part of the docs site:
- Puppet Best Practice describes the best practice for configuration layouts, syntax, naming conventions, etc
- Puppet Templating with ERB
- Using Tags
- Using Multiple Environments describes how to be able to develop and test changed manifests without disturbing nodes running in production
- Using Stored Configuration explains how to store configuration information in a database
- Certificates And Security
- Reports And Reporting
- LDAP Nodes explains how to store node information in LDAP
Puppet Scalability describes common issues and solutions related to scaling a puppet deployment.
Using Passenger — Using Passenger and Apache to scale Puppet
- Using Unicorn — Using Unicorn to scale Puppet
The Cookbook is a repository of modules, ‘recipes’ as well as Puppet and Facter configuration snippets for achieving common tasks.
- Puppet Manifest Documentation – From Puppet 0.24.7 you can create automatic documentation for manifests and modules
You can find a number of collections of Puppet modules for a variety of applications and operating systems on the [[Puppet Modules]] page.
Puppet is also highly extensible. This section lists additional information that can help you create new types, providers and functions for Puppet. Also documented is the process for adding custom facts for Facter.
- Extending Puppet — Documentation site information on Providers, Types, Functions, etc
- API Documentation — API documentation
- Recipes/Dsl Hints And Tips — Initial page on how to use Puppet types from plain old Ruby.
- Development/Writing Tests — Writing RSpec tests for your Puppet contributions.
- Puppet’s Development/Development Lifecycle process
A number of applications that extend, support or supplement Puppet have been developed. These include:
- Puppet Dashboard
- PuppetShow — A Rails-application for viewing information about Puppet and configured hosts (legacy project)
- The Foreman — A Rails-application for
managing server lifecycle.
integrates with Puppet (external nodes, PuppetCA, inventory and reporting) and provides dynamicly generated with Kickstart / jumpstart and preseed handsfree.
- Viper — A LDAP-based system for automated hosts installation, configuration and monitoring
- iClassify — A node management tool for Puppet. (legacy project)
- PuppetView — A light weight web-based Puppet log viewer written in PHP.
- Cft — A configuration file tracker that uses Puppet at its base.
- Augeas — Augeas is a configuration editing tool.
- Carpet — Carpet is a combination of Puppet and Capistrano.
- Cobbler — An OS installer that can function as a Puppet external nodes source
While the above links represent the standard, recommended documentation, there is additional information available for those who are interested.
Also available is Pulling Strings with Puppet – the first book on Puppet written by James Turnbull. Puppet is also mentioned in Chapter 19 (together with provisioning and bootstrapping) of Pro Linux System Administration by James Turnbull, Peter Lieverdink and Dennis Matotek.
- Frequently Asked Questions
- Branch Testing describes how to manage and test your configuration across multiple Puppet masters
- Puppet Internals describes how manifests are processed and used
- Archive of Superseded Workarounds — How to deal with bugs in older versions of Puppet.
- PuppetVsCfengine? — How Cfengine compares to Puppet
- Transitioning From Cfengine — Using the Cfengine module
- Puppet With Launchd — A tutorial for starting puppet with Apple’s new launchd.
- If you’re considering contributing documentation, please take a look at the Documentation Standards .
- Puppet MacOSX — Describes recommendations when running Puppet on Mac OS X.
- Puppet Solaris — Describes installing and running Puppet on Solaris.
- Puppet FreeBSD — Tips for running Puppet on FreeBSD.
- Puppet Gentoo — Tips for running Puppet on Gentoo
- Puppet Debian — Tips for running Puppet on Debian
- Puppet Presentations — Presentations about Puppet
- Puppet Best Practice — How Puppet is used to manage a large network at Stanford
- Infrastructure Design Guidelines — Another suggested best practice guide to managing infrastructure with Puppet
- Multiple Certificate Authorities — How to setup multiple puppetmaster daemons with mutual trust.
- Puppet on Ubuntu Installation — Walk through of how to get Puppet running on Ubuntu.
- A detailed example of using Puppet and how the way it modularizes configurations can be used for sharing ‘system recipes’
- Puppet Tutorial
- Puppet Workshop — A Puppet workshop designed to introduce new users to Puppet
- Scaling Puppet with distributed version control — Using Git (or another DVCS) to distribute manifests, removing the need for a Puppet server
Puppet in Other Languages¶
Puppet documentation have been translated to other languages by the user community:
Puppet CLI Design, Experimentation & Notes¶
This should live in a better place eventually, but here’ll do for now.