Dozens of projects, used by thousands of organizations

The Puppet ecosystem includes more than 40 open source projects, used by organizations around the globe. The projects range from testing tools to service frameworks to critical components for automating infrastructure management, such as executing one off tasks in a deployment workflow or hosting container images like Docker across the enterprise.

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 5,000 prebuilt 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.

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 to easily automate repetitive and error-prone system administration tasks. Puppet's easy-to-read language allows you to declare how your systems should be configured to do their jobs. It's a very different approach from scripting-based tools, 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. Open Source Puppet now incorporates Hiera, 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.

Puppet Development Kit (PDK)

Puppet Development Kit (PDK) makes it easy to develop and test Puppet modules by providing a simple, unified interface to a set of helpful tools for anyone who writes or consumes Puppet code. With PDK you get going fast with a batteries-included Puppet development environment and access to best practices and new tools to build, test and deliver high-quality Puppet modules with confidence. Additionally, the PDK offers the ability to catch issues earlier, before Puppet code is applied to live infrastructure by testing modules right from your Windows, OS X or Linux workstation.


To get started with automation you need a simple, fast and agentless multi-platform approach that doesn’t require any prior installation or Puppet knowledge. This is Bolt.

With Bolt you can reuse your existing scripts in Bash, PowerShell, Python or any other language, or you can take advantage of the 5,700 modules on the Puppet Forge. You can perform various tasks like start and stop services, reboot remote systems, gather packages and systems facts from your workstation or laptop.

Puppet® Container Registry

Puppet Container Registry makes it easy for software teams to host Docker images within their infrastructure along with a unified view of all their images stored in local and remote repositories. Engineered for the enterprise, it includes powerful features like single sign-on and access control.

Puppet DB

PuppetDB collects and stores data generated by Puppet giving you access to a huge inventory of metadata about every node in your infrastructure. Benefits include a searchable database of each resource managed on any node and the most recent facts, catalog and event reports for those nodes.


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 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 and can be used to inform conditional expressions in Puppet.


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. Additionally you can use Trapperkeeper 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 and load multiple web apps into a single web server.


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.

And there's more!

We do all of our open source development in the open on GitHub, so check out our repositories under the 'puppetlabs' namespace.