Product SiteDocumentation Site

Puppet 0.25

Reference Guide

Reference guide for Puppet, and puppetmanaged.org modules

Edition 0

Logo

Jeroen van Meeuwen

Operator Groep Delft Sr. System Engineer

Legal Notice

Copyright © 2008-2009 Jeroen van Meeuwen This material may only be distributed subject to the terms and conditions set forth in the GNU Free Documentation License (GFDL), V1.2 or later (the latest version is presently available at http://www.gnu.org/licenses/fdl.txt).
Abstract
Reference guide for Puppet Configuration Management.

Preface
1. Document Conventions
1.1. Typographic Conventions
1.2. Pull-quote Conventions
1.3. Notes and Warnings
2. Feedback
2.1. Mailing Lists
3. Terminology
3.1. Language & Functions
3.2. Nodes & Systems
3.3. Resources & Types
3.4. Puppet Infrastructure
3.5. Puppet Internals
1. Introduction
1.1. Introduction to Configuration Management with Puppet
1.1.1. What is Puppet?
1.1.2. What is Configuration Management?
1.1.3. Problems without Configuration Management
1.1.4. Not So Technical Aspects
1.2. Introduction to Puppet Common Modules
1.2.1. Three Different Module Approaches
1.2.2. The puppetmanaged.org Approach
1.2.3. Puppet Modules That Work For You
2. Puppet Features
2.1. Scalability
2.2. Free Software
2.3. Open Community
2.4. staging environments
2.5. storeconfig
2.6. Exported Resources
I. Puppet Installation
3. Setting Up Puppet
3.1. Installation
3.2. Configuration
3.2.1. Configuring the Puppetmaster
3.2.2. Configuring the SSL Frontend Reverse Proxy Load Balancer
4. How to Use Puppet
4.1. Environments
5. Other Things To Do With Puppet
5.1. Tweaking Reporting
II. Puppet Configuration
6. Chapter
III. Puppet Modules
7. Puppet Common Modules
7.1. Introduction to Puppet Common Modules
7.1.1. Three Different Module Approaches
7.1.2. The puppetmanaged.org Approach
7.1.3. Puppet Modules That Work For You
8. Func Module
8.1. Introduction
8.2. Prerequisites
8.3. Installation
8.4. Implementation
8.4.1. Func Configuration
8.5. Extension
8.6. FAQ
9. Git Module
9.1. GIT Module Introduction
9.2. Prerequisites
9.2.1. Clients
9.2.2. Servers
9.3. Installation
9.3.1. Upstream GIT Repository
9.3.2. Upstream Packages
9.4. Implementation
9.5. Customization
9.5.1. Customizing git_init_script
9.5.2. Customizing post-commit
9.6. Example Usage
9.6.1. Example git::repository Usage
9.7. Extension
9.8. FAQ
9.9. TODO
10. Iptables Module
10.1. Introduction
10.2. Prerequisites
10.3. Installation
10.4. Implementation
10.4.1. Generic Functions
10.4.2. Internal Functions
10.4.3. Shortcut Functions
10.5. Extension
10.6. FAQ
11. Puppet Module
11.1. Introduction
11.2. Prerequisites
11.3. Scope
11.4. Target Audience
11.5. Implementation
11.5.1. Setting Up Environments
11.6. Version Control
11.7. Known Problems
11.8. TODO List For Upcoming Production Releases
11.9. Rationale
12. SSH Module
12.1. Introduction
12.2. Prerequisites
12.3. Installation
12.4. Implementation
12.5. Extension
12.6. FAQ
13. Webserver Module
13.1. Introduction
13.2. Installation
13.2.1. Supported Platforms
13.2.2. Prerequisites
13.2.3. Installating the Webserver Module
13.3. Implementation
13.3.1. Managed Files and Directories
13.3.2. Classes and Resources
13.3.3. Example Usage
13.4. Enabling and Disabling Modules
13.4.1. Example: Enabling A Module
13.4.2. Example: Disabling A Module
13.5. Providing Customized Configuration
13.5.1. /etc/httpd/conf/httpd.conf
13.5.2. /etc/httpd/includes.d/admin.conf
13.5.3. /etc/httpd/includes.d/aliases.conf
13.5.4. /etc/httpd/includes.d/do-not-bloat-httpd.conf
13.5.5. /etc/httpd/includes.d/listen.conf
13.5.6. /etc/httpd/includes.d/virtualhost.conf
13.6. Tips and Tricks
13.6.1. Wildcard SSL Certificates
13.6.2. Reusing Configuration Snippets
13.7. Extension
13.8. FAQ
14. YUM Module
14.1. Introduction
14.2. Repository Configuration Files
14.2.1. Custom Repositories
14.3. Installing the Module
14.3.1. Upstream GIT Repository
14.3.2. Upstream Packages
14.4. Using the Module
14.4.1. Standard Profiles
14.4.2. Custom Repositories
14.5. Extending the Module
14.6. FAQ
15. Cacti Module
15.1. Introduction
15.2. Prerequisites
15.3. Installation
15.4. Implementation
15.5. Extension
15.6. FAQ
16. Cobbler Module
16.1. Introduction
16.2. Prerequisites
16.3. Installation
16.4. Implementation
16.5. Extension
16.6. FAQ
17. Hg Module
17.1. Introduction
17.2. Prerequisites
17.3. Installation
17.4. Implementation
17.5. Extension
17.6. FAQ
18. Mail Module
18.1. Introduction
18.2. Prerequisites
18.3. Installation
18.4. Implementation
18.5. Extension
18.6. FAQ
19. Mirror Module
19.1. Introduction
19.2. Prerequisites
19.3. Installation
19.4. Implementation
19.5. Extension
19.6. FAQ
20. Mock Module
20.1. Introduction
20.2. Prerequisites
20.3. Installation
20.4. Implementation
20.5. Extension
20.6. FAQ
21. Munin Module
21.1. Introduction
21.2. Prerequisites
21.3. Installation
21.4. Implementation
21.5. Extension
21.6. FAQ
22. MySQL Module
22.1. Introduction
22.2. Prerequisites
22.3. Installation
22.4. Implementation
22.5. Extension
22.6. FAQ
23. Nagios Module
23.1. Introduction
23.2. Prerequisites
23.3. Installation
23.4. Implementation
23.5. Extension
23.6. FAQ
24. OpenVPN Module
24.1. Introduction
24.2. Prerequisites
24.3. Installation
24.4. Implementation
24.5. Extension
24.6. FAQ
25. Postfix Module
25.1. Introduction
25.2. Prerequisites
25.3. Installation
25.4. Implementation
25.5. Extension
25.6. FAQ
26. Sudo Module
26.1. Introduction
26.2. Prerequisites
26.3. Installation
26.4. Implementation
26.5. Extension
26.6. FAQ
27. SVN Module
27.1. Introduction
27.2. Prerequisites
27.3. Installation
27.4. Implementation
27.5. Extension
27.6. FAQ
28. Zarafa Module
28.1. Introduction
28.2. Prerequisites
28.2.1. Required Modules
28.2.2. Conflicting Modules
28.3. Installation
28.4. Implementation
28.4.1. Zarafa Configuration
28.5. Extension
28.6. FAQ
IV. Appendices
A. Example SSL Frontend Reverse Proxy Load Balancer Configuration
B. Revision History
Index