Documentation Start

Version 9 (James Turnbull, 06/28/2010 05:51 pm)

1 1
# Puppet Documentation
2 1
3 1
## Introduction to Puppet
4 1
5 7 Forrest Davie
For information about learning Puppet and major components, see [docs.puppetlabs.com](http://docs.puppetlabs.com).
6 1
7 6 Anonymous
Our docs site is also a community project like the Wiki, [learn how to contribute here](http://docs.reductivelabs.com/#help_improve_this_document).
8 1
9 1
## Configuration
10 1
11 6 Anonymous
Some additional articles on configurations that are not part of the docs site:
12 1
13 1
-   [[Puppet Best Practice]] describes the best practice for
14 1
    configuration layouts, syntax, naming conventions, etc
15 1
-   [[Puppet Templating]] with ERB
16 1
-   [[Using Tags]]
17 1
-   [[Using Multiple Environments]] describes how to be able to
18 1
    develop and test changed manifests without disturbing nodes running
19 1
    in production
20 1
-   [[Using Stored Configuration]] explains how to store
21 1
    configuration information in a database
22 1
-   [[Certificates And Security]]
23 1
-   [[Reports And Reporting]]
24 9 James Turnbull
-   [[LDAP_Nodes|LDAP Nodes]] explains how to store node information in LDAP
25 1
-   [[Puppet Scalability]] describes common issues and solutions
26 1
    related to scaling a puppet deployment.
27 1
    -   [[Using Mongrel]] -- Using Mongrel or Passenger to scale Puppet
28 1
        instead of the internal Webrick server
29 1
    -   [[Using Mongrel Pound]] -- Using Mongrel with the Pound web
30 1
        server
31 1
    -   [[Using Mongrel Nginx]] -- Using Mongrel with the Nginx web
32 1
        server
33 1
34 1
-   [[Using Passenger]] -- Using Passenger and Apache to scale
35 1
    Puppet
36 1
-   [[Using Unicorn]] -- Using Unicorn to scale Puppet
37 1
38 1
## Cookbook
39 1
40 1
The Cookbook is a repository of modules, 'recipes' as well as
41 1
Puppet and Facter configuration snippets for achieving common
42 1
tasks.
43 1
44 1
### Module documentation
45 1
46 1
-   [[Puppet Manifest Documentation]] - From Puppet 0.24.7 you can
47 1
    create automatic documentation for manifests and modules
48 1
49 1
### Module sets
50 1
51 1
You can find a number of collections of Puppet modules for a
52 1
variety of applications and operating systems on the [[Puppet
53 1
Modules]] page.
54 1
55 1
### Recipes
56 1
57 1
-   [[Recipe Requests]] - a wishlist
58 1
-   [[Puppet Recipes]]
59 1
-   [[Facter Recipes]]
60 1
61 1
## Extending Puppet
62 1
63 1
Puppet is also highly extensible. This section lists additional
64 1
information that can help you create new types, providers and
65 1
functions for Puppet. Also documented is the process for adding
66 1
custom facts for Facter.
67 1
68 6 Anonymous
-   (docs.puppetlabs.com)[http://docs.puppetlabs.com/#extending_puppet] -- Documentation site information on Providers, Types, Functions, etc
69 6 Anonymous
-   [API Documentation](http://puppetlabs.com/downloads/puppet/apidocs/)     -- API documentation
70 6 Anonymous
-   [[Dsl_Hints_And_Tips_Patterns|Recipes/Dsl Hints And Tips]]     -- Initial page on how to use Puppet types from plain old Ruby.
71 6 Anonymous
-   [[Development_Writing_Tests|Development/Writing Tests]] --     Writing RSpec tests for your Puppet contributions.
72 6 Anonymous
-   Puppet's [[Development_Development_Lifecycle|Development/Development Lifecycle]] process
73 5 Sami Haahtinen
74 1
## Related Applications
75 1
76 5 Sami Haahtinen
A number of applications that extend, support or supplement Puppet
77 1
have been developed. These include:
78 1
79 6 Anonymous
-   [Puppet Dashboard](http://www.puppetlabs.com/puppet/related-projects/dashboard/)
80 1
-   [PuppetShow](http://github.com/shadoi/puppetshow/) -- A
81 1
    Rails-application for viewing information about Puppet and
82 6 Anonymous
    configured hosts (legacy project)
83 1
-   [The Foreman](http://theforeman.org) -- A Rails-application for
84 1
    managing server lifecycle.  
85 1
    integrates with Puppet (external nodes, PuppetCA, inventory and
86 1
    reporting) and provides dynamicly generated with Kickstart /
87 1
    jumpstart and preseed handsfree.
88 1
-   [Viper](http://www.spinlocksolutions.com/viper/) -- A
89 1
    LDAP-based system for automated hosts installation, configuration
90 1
    and monitoring
91 1
-   [iClassify](https://wiki.hjksolutions.com/display/IC/Home) -- A
92 6 Anonymous
    node management tool for Puppet. (legacy project)
93 1
-   [PuppetView](http://www.devco.net/pubwiki/Puppet/PuppetView) --
94 1
    A light weight web-based Puppet log viewer written in PHP.
95 1
-   [Cft](http://cft.et.redhat.com/) -- A configuration file
96 1
    tracker that uses Puppet at its base.
97 1
-   [Augeas](http://augeas.net/) -- Augeas is a configuration
98 1
    editing tool.
99 1
-   [Carpet](http://www.agileweboperations.com/configuration-management-remixed-introducing-carpet/)
100 1
    -- Carpet is a combination of Puppet and Capistrano.
101 6 Anonymous
-   [Cobbler](http://fedorahosted.org/cobbler) -- An OS installer that can function as a Puppet external nodes source
102 1
103 1
## Additional Documentation
104 1
105 6 Anonymous
While the above links represent the standard, recommended documentation, there is additional information available for those who are interested.
106 1
107 1
Also available is
108 1
[Pulling Strings with Puppet](http://www.amazon.com/gp/product/1590599780?ie=UTF8&tag=puppet0e-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=1590599780)
109 1
- the first book on Puppet written by James Turnbull. Puppet is
110 1
also mentioned in Chapter 19 (together with provisioning and
111 1
bootstrapping) of
112 1
[Pro Linux System Administration](http://www.amazon.com/gp/product/1430219122?ie=UTF8&tag=puppet0e-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=1430219122)
113 1
by James Turnbull, Peter Lieverdink and Dennis Matotek.
114 1
115 1
-   [[Frequently Asked Questions]]
116 1
-   [[Branch Testing]] describes how to manage and test your
117 1
    configuration across multiple Puppet masters
118 1
-   [[Puppet Internals]] describes how manifests are processed and
119 1
    used
120 1
-   PuppetVsCfengine? -- How Cfengine compares to Puppet
121 1
-   [[Transitioning From Cfengine]] -- Using the Cfengine module
122 1
-   [[Puppet With Launchd]] -- A tutorial for starting puppet with
123 1
    Apple's new launchd.
124 1
-   If you're considering contributing documentation, please take a
125 1
    look at the [[Documentation Standards]] .
126 1
-   [[Puppet MacOSX]] -- Describes recommendations when running
127 1
    Puppet on Mac OS X.
128 1
-   [[Puppet Solaris]] -- Describes installing and running Puppet
129 1
    on Solaris.
130 1
-   [[Puppet FreeBSD]] -- Tips for running Puppet on FreeBSD.
131 1
-   [[Puppet Gentoo]] -- Tips for running Puppet on Gentoo
132 1
-   [[Puppet Debian]] -- Tips for running Puppet on Debian
133 1
-   [[Puppet Presentations]] -- Presentations about Puppet
134 1
-   [[Puppet Best Practice]] -- How Puppet is used to manage a
135 1
    large network at Stanford
136 1
-   [[Infrastructure Design Guidelines]] -- Another suggested best
137 1
    practice guide to managing infrastructure with Puppet
138 1
-   [[Multiple Certificate Authorities]] -- How to setup multiple
139 1
    puppetmaster daemons with mutual trust.
140 1
-   [Puppet on Ubuntu Installation](http://www.howtoforge.com/installing_puppet_on_ubuntu)
141 1
    -- Walk through of how to get Puppet running on Ubuntu.
142 1
-   A
143 1
    [detailed example](http://people.redhat.com/dlutter/puppet-app.html)
144 1
    of using Puppet and how the way it modularizes configurations can
145 1
    be used for sharing 'system recipes'
146 1
-   [Puppet Tutorial](http://bitfieldconsulting.com/puppet-tutorial)
147 1
-   [Puppet Workshop](http://www.kanarip.com/courses/Configuration_Management_Using_Puppet/)
148 1
    -- A Puppet workshop designed to introduce new users to Puppet
149 1
-   [Scaling Puppet with distributed version control](http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control)
150 1
    -- Using Git (or another DVCS) to distribute manifests, removing
151 1
    the need for a Puppet server