Puppet overview
This introduction is intended for new users to Puppet. We go over what Puppet is, what problems it solves, and the concepts and practices that are key to being successful with Puppet.
The term Puppet is used in the following sections in a general sense, to describe the software foundation for Puppet Core, Puppet Enterprise, and open source Puppet.
-
What is Puppet?
Puppet is a tool that helps you manage and automate the configuration of servers. -
Why use Puppet desired state management?
There are many benefits to implementing a declarative configuration tool like Puppet into your environment — most notably consistency and automation. -
Key concepts behind Puppet
Using Puppet is not just about the tool, but also about a different culture and a way of working. The following concepts and practices are key to using and being successful with Puppet. -
The Puppet platform
Puppet is made up of several packages, which you use to manage, store and run your Puppet code. These packages includepuppetserver
,puppetdb
, andpuppet-agent
— which includes Facter and Hiera. -
Puppet platform lifecycle
The Puppet platform is made up of several packages:puppet-agent
,puppetserver
, and, optionally,puppetdb
. Understanding what versions are maintained and which versions go together is important when upgrading and troubleshooting. -
Puppet Core vs Puppet Enterprise (PE)
-
The Puppet ecosystem
Alongside Puppet the configuration tool, there are additional Puppet tools and resources to help you use and be successful. These make up the Puppet ecosystem -
Use cases
Puppet Forge has existing modules and code examples that assist with automating the following use cases: -
Glossary
The glossary defines terms used in Puppet documentation. -
Navigating the documentation
Puppet maintains a large amount of documentation and learning resources to help you learn Puppet. When navigating the documentation, take note of the following.