An (opinionated) awesome list of resources about Puppet, a configuration management software framework.
Mainly focused on the FOSS OpenVox framework, after Puppet switch to EULA-only.
It has been inspired by rnelson0's list and its forks, but it is not a fork of that list due to the lack of a license.
Disclaimer: Puppet is a trademark of Puppet, Inc., Perforce Software, Inc. or an affiliate (link). All other trademarks mentioned in this project are property of their respective owners. This project is not representing any of these companies/trademark owners, nor is in any way endorsed by them.
- Puppet 8 for DevOps Engineers - Probably the most up-to-date book about Puppet, focusing on the use of Puppet 8.
- Puppet Best Practices - Written for Puppet 6, it's still a valid resource for Puppet 7/8 due to the focus on best practices and changes between these majors being mostly behind the scenes.
- Puppet - Automation tools framework previously Open Core, now EULA-only.
- Puppet Agent - Agent to be installed on the managed nodes.
- Puppet Bolt - Agent-less orchestration tool, to run tasks/scripts/commands on remote nodes through SSH or WinRM.
- PuppetDB - Database for agent run reports storage and analysis.
- Puppet Server - Server to provide catalogs to the agents.
- OpenVox Automation Framework - A fork of the latest Open Source Puppet (OSP) version available.
- OpenVox Agent - Fork of OSP Agent.
- OpenVoxDB - Fork of OSP DB.
- OpenVox Server - Fork of OSP Server.
- OpenBolt - Fork of OSP Bolt.
- puppet-bolt - Module to install/manage OpenBolt.
- Our Plans for Open Source Puppet in 2025 - 2024/11/07 Puppet Blog.
- Puppet's Open Source Community Plans to Fork the Program - 2024/12/20 The New Stack.
- First release, hot off the presses! - 2025/01/21 Vox Pupuli Blog.
- The Perforce EULA and impact on Vox Pupuli - 2025/05/19 Vox Pupuli Blog.
- RubyMine and other JetBrains IDEs
- Puppet Plugin for JetBrains IDEs - Provides formatting, highlighting, assistance and more for Puppet >= 3.x.
- Vim
- vim-puppet - Adds automatic alignment, formatting and highlighting for Puppet.
- Visual Studio Code\Codium and Theia IDE
- Puppet VSCode extension - Available in Visual Studio Marketplace and Open VSX Registry. Provides formatting, Intellisense, linting and more.
- Hiera
- hiera-eyaml
- Hiera-Eyaml: How to Use It - Puppet Blog - Quick introduction to hiera-eyaml.
- HOWTO Set Up and Utilize hiera-eyaml - SIMP docs - Step-by-step introduction to hiera-eyaml.
- hiera-eyaml
- Puppet Cookbook - Cookbook of example solutions in Puppet for different tasks.
- PuppetModule.info - Community-maintained module documentation website.
- Source - Available on GitHub.
- r10k
- Fattening the workflow, part 2: r10k - Puppeteers blog - Quickstart on r10k.
- Managing code with r10k - Puppet Enterprise docs - PE docs, but r10k can be used with Open Source Puppet.
- Vox Pupuli - Open Source community for OpenVox modules, tools and docs authors.
- Plugins list - Plugins, tools and resources for OpenVox, practically an awesome list.
- puppet-collections - Iterator written in Puppet.
- puppet-example - Example repository for Puppet modules automation and development.
- puppet-extlib - Extension of the Standard Library.
- puppet-healthcheck - Healthcheck resources.
- puppet-puppet_certificate - Provider and resource for Puppet certificates.
- puppetlabs-puppet_status_check - Status checks for the Puppet infrastructure.
- metadata-json-lint - Validator/linter for Puppet modules' metadata.json.
- puppet-ghostbuster - Helps to find unused code in Puppet.
- Puppet Development Kit - Collection of tools to develop, validate and test Puppet modules.
- g10k - A r10k fork in Go.
- Jens - Python toolkit to generate Puppet environments dynamically based on control repositories.
- librarian-puppet - Bundler to manage Puppet modules through a Puppetfile, with support for dependencies defined in Modulefile or metadata.json.
- ModuleSync - Ruby gem to synchronize meta-files (Gemfile, .gitignore etc) between Puppet modules of an organization.
- Pdksync - Tool synchronize settings between multiple Puppet modules through PDK.
- puppet-blacksmith - Ruby gem with Rake tasks to manage a module on the Puppet Forge.
- r10k - Tool to manage Git/SVN-based environments and modules defined in a Puppetfile, but without dependency resolving.
- puppet-r10k - Puppet module to manage r10k.
- ra10ke - Rake tasks for r10k and Puppetfiles.
- Beaker - Tool to run acceptance acceptance tests using VMs.
- beaker-hiera - Allows to use Hiera data in Beaker tests.
- hiera-eyaml - Hiera backend that allows to encrypt values in Hiera YAML files.
- hiera-eyaml-gpg - Allows to use GPG encryption with hiera-eyaml.
- Puppet Catalog Diff - Tool to compare Puppet catalogs.
- pypuppetdb - Python library to interact with the PuppetDB API.
- onceover - Run tests against a Puppet control repository (for example used with r10k).
- puppet-syntax - Syntax checks for manifests, templates and Hiera YAML.
- puppet-lint - Test code against the Puppet style guide.
- rspec-puppet - RSpec tests for Puppet manifests.
- Hiera Data Manager - Web interface to visualize/search Hiera data.
- puppet-hdm - Puppet module to install/manage Hiera Data Manager.
- OpenVox View - Web interface for OpenVoxDB, made as a single executable in Go.
- puppet-openvoxview - Module to install OpenVox View.
- Pabawi - Puppet/OpenVox/Bolt/PuppetDB/Hiera web frontend.
- Puppetboard - Web interface for OpenVoxDB that aims to be the equivalent of Puppet Enterprise console, made in Python.
- puppet-puppetboard - Module to install Puppetboard.
Contributions are welcome! Guidelines are here.