Skip to Content
Puppet Types and Providers
book

Puppet Types and Providers

by Dan Bode, Nan Liu
December 2012
Intermediate to advanced
92 pages
1h 48m
English
O'Reilly Media, Inc.
Content preview from Puppet Types and Providers

Appendix B. Modules

Puppet modules are a collection of components for managing a specific service. Modules allow the greater Puppet community to share and reuse code to deploy the same service across a wide range of environments. Complex infrastructures are typically composed of several smaller modules. Examples of modules can be found at puppetlabs.

Modules conform to a directory structure that organizes content as follows:

module_name
  |-- manifests
  |-- files
  |-- templates
  |-- tests
  |-- lib
  `-- spec

Each subfolder contains the following files:

manifests
Puppet classes and defined resource types are located in a manifest file (.pp extension) in this directory.
lib
Ruby extensions (.rb extension) are located in this directory. This includes custom facts, functions, types, and providers.
spec
Ruby Rspec test files are located in this directory. Rspec files are used to implement unit tests for Ruby source code or Puppet manifests.
files
Files distributed to Puppet agents via sourcepuppet:///modules/module_name/ are located in this directory.
templates
Ruby ERB (*.erb) templates are located in this directory. They are typically used by the file resource’s content property, via contenttemplate(module_name/some_template.erb).
tests
Puppet .pp manifest files containing declaration of classes and resources.

Modules must conform to this directory structure so that Puppet knows how to access and use the content from modules to extend itself. All Ruby extensions for Puppet ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Puppet 2.7 Cookbook

Puppet 2.7 Cookbook

John Arundel
Extending Puppet

Extending Puppet

Alessandro Franceschi

Publisher Resources

ISBN: 9781449339319Errata