Skip to Content
Learning Puppet 4
book

Learning Puppet 4

by Jo Rhett
April 2016
Intermediate to advanced
594 pages
12h 53m
English
O'Reilly Media, Inc.
Content preview from Learning Puppet 4

Chapter 15. Extending Modules with Plugins

This chapter covers adding plugins to Puppet modules. Plugins are used to provide new facts, functions, and module-specific data that can be used in the Puppet catalog.

This chapter will explain how to extend a module to:

  • Provide new customized facts that can be used within your module.
    • Facts can be supplied by a program that outputs one fact per line.
    • Facts can be supplied by Ruby functions.
    • Facts can be read from YAML, JSON, or text file formats.
  • Provide new functions that extend the Puppet configuration language.
    • Facts can be written in either Puppet or Ruby languages.
  • Provide data lookups that are environment- or module-specific.
    • Custom data sources are written in Ruby.

Nothing in this chapter is required to build a working module, and there are thousands of modules that don’t use plugins. You can safely skip this chapter and return to it after you are comfortable building the common features of modules.

Tip
Many of the extensions in this chapter are written in Ruby. To build Ruby plugins, you’ll need knowledge of the Ruby programming language. I recommend Michael Fitzgerald’s Learning Ruby as an excellent reference.

Adding Custom Facts

One of the most useful plugins a module can provide is custom facts. Custom facts extend the built-in facts that Facter provides with node-specific values useful for the module. Module facts are synced from the module to the agent, and their values are available for use when the catalog ...

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.
Start your free trial

You might also like

Pro Puppet, Second Edition

Pro Puppet, Second Edition

Spencer Krum, William Van Hevelingen, Ben Kero, James Turnbull, Jeffery McCune
Mastering Puppet 5

Mastering Puppet 5

Ryan Russell-Yates, Jason Southgate

Publisher Resources

ISBN: 9781491907993Purchase bookErrata Page