Dozens of projects, used by thousands of organizations

The Puppet ecosystem includes more than 40 open source projects, used by more than 30,000 organizations around the globe. Each project adds a capability that IT teams rely on for automating infrastructure management.

Sysadmins and developers who rely on Open Source Puppet choose the components they need to do their jobs from the open source projects associated with Puppet, plus more than 3,100 pre-built modules available on the Puppet Forge. IT organizations using Puppet Enterprise have all the open source projects available to them, fully integrated for all their management needs, security-hardened and tuned for performance.

Here are some of the most commonly used open source projects in the Puppet ecosystem:
Puppet Enterprise and Open Source Puppet

Discover the value of Puppet Enterprise. 

Open Source Puppet

The earliest version of Puppet — the most widely used open source IT management system — was created in 2005 by Luke Kanies, founder of Puppet, to easily automate repetitive and error-prone system administration tasks. Puppet's easy-to-read declarative language allows you to declare how your systems should be configured to do their jobs. It's a very different approach from procedural languages, which require you to describe the step-by-step process for configuring systems. Puppet lets you set up systems quickly and move on to the rest of your work, knowing Puppet will enforce system states as you’ve defined them.

More about Puppet

Beaker

Beaker is a cloud-based acceptance testing harness for open source Puppet, Puppet Enterprise and other Puppet projects. It can be used as a provisioner for setting up virtual machines, running any configuration on those machines and then exiting.

Facter

Facter gathers basic facts about nodes (systems) such as hardware details, network settings, OS type and version, and more. These facts are made available as variables in your Puppet manifests.

  • Easy to include specific facts and other custom facts.
  • Use facts provided by Facter to inform conditional expressions in Puppet.
Hiera

Hiera is a key/value lookup tool for configuration data. It keeps your site-specific data separate from modules and manifests, making them easier to construct, read, modify and reuse.

  • Re-use Puppet modules by putting necessary data in Hiera.
  • Configure your own nodes by providing multiple levels of overrides for default data.
MCollective

MCollective is a framework for building server orchestration or parallel job-execution systems. It is used to automate execution of administrative tasks on clusters of servers.

  • Works with PuppetDB, or do real-time discovery across your network.
  • Uses publish/subscribe middleware to communicate with many hosts at once, saving you time.
PuppetDB

PuppetDB collects and stores data generated by Puppet so you have a huge inventory of metadata about every node in your infrastructure.

  • Searchable database of every resource managed on any node.
  • Get the most recent facts, catalog and event reports for every node.
Razor

Razor is an advanced provisioning application used to discover and deploy bare-metal machines and virtual systems. Razor lets you automate the process of going from a newly racked machine with no operating system to one that’s fully installed, managed by Puppet and ready to work — with no human intervention.

Trapperkeeper

Trapperkeeper is a Clojure framework for hosting long-running applications and services. It provides a simple configuration syntax and unified initialization of logging and configuration, plus the ability to:

  • Configure and control which parts of the system are loaded at run-time.
  • Compose modular bits of functionality.
  • Cohesively manage the lifecycle of application components.
  • Load multiple web apps into a single web server.