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.

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 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.

More about Puppet

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.

Puppet Bolt™

Sometimes "ssh in a for loop" is exactly what you need, and Puppet's declarative, model-driven approach isn't the best way to get your job done. For this, we've built Puppet Tasks.

Puppet Bolt is an agentless open source task runner that helps troubleshoot systems, deploy one-off changes, and execute sequenced actions in a deployment workflow. If you’re just getting started with automation, you can use Puppet Bolt to execute tasks on systems and devices remotely.

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

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

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. 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

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.

Lumogon™

Lumogon™ is a tool for collecting and reporting on container application metadata. With Lumogon you can inventory and report on the contents of Docker images and running containers so you get a complete picture of what your applications are made of. By attaching a container to the Docker runtime, Lumogon can track the contents and state of running containers without having to install special software into the container’s image or know which commands to run after accessing the container.

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.