Puppet is Perforce's configuration management tool for infrastructure teams. It enforces declared state on servers and network devices; the core is open source.
Puppet keeps a fleet of machines in the configuration its operators wrote down, and puts any machine that wanders back where it belongs. Luke Kanies created it in 2005 as an open source tool to replace manual configuration with infrastructure defined as code. Perforce Software has owned Puppet since 2022 and has extended its reach to servers, cloud, networks and edge devices. The problem it addresses is the hand-edited server that slowly diverges until it causes an outage, a security exposure or an audit finding. In Puppet Core, each resource describes the desired state of one part of a system, and the Puppet agent retrieves and applies its catalog on a schedule. A node that already matches reports no changes, and no-op mode simulates a new catalog without enforcing anything. Hiera holds the configuration data, with the eyaml backend keeping secrets encrypted. Puppet Forge supplies shared modules that a Puppetfile declares. Puppet Enterprise brings a web console with node run statuses, role-based access control and an Activity service that logs every run per node. It also reaches agentless nodes over SSH, WinRM or NETCONF, including switches and firewalls. Security Compliance Enforcement provides prebuilt modules aligned with CIS Benchmarks and DISA STIGs, and Enterprise Advanced adds data exports, vulnerability remediation and AI features powered by Perforce Intelligence. Puppet is built for infrastructure and platform teams whose estates mix Linux and Windows servers, cloud accounts and network gear. Regulated organizations in government, healthcare and finance use it to keep compliance in force between assessments rather than proving it only during them. It also suits estates that stay on premises, sit behind an air gap or run in sovereign environments. Teams already running Open Source Puppet can move to Puppet Core for hardened, vendor-built packages and support. Larger estates that need central control and access rules choose Puppet Enterprise. Administrators reach for Puppet to harden servers against a benchmark, roll out patches as code and check a change in no-op mode before it lands. Puppet code lives in Git and reaches the servers through Code Manager or r10k. Operators sign in through SAML or LDAP directories such as Okta and Microsoft ADFS. When an auditor asks what changed on a single server and who changed it, the answer sits on that node's Activity tab.
Pricing
View plans-
Puppet Core Developer
Free
- Free Developer License for up to 25 nodes, signed up through Puppet Forge
- Stable, secure software builds and hardened binaries
- Vendor-backed SLAs
- Standard support, with 24x7 premium support available
- Training engagement and CIS and STIG policy enforcement are Commercial only
-
Puppet Core Commercial
Custom pricing
- Price on request for 25 or more nodes
- Stable, secure builds for Open Source Puppet users
- Vendor-backed SLAs
- Standard support, with 24x7 premium support available
- Training engagement with Certified Puppet Engineers
- Always-on policy enforcement aligned with CIS Benchmarks and DISA STIGs
- No web console or role-based access control, which come with Puppet Enterprise
-
Puppet Enterprise
Custom pricing
- Price on request through Contact Sales
- Web-based console
- Role-based access control for specific users
- Infrastructure management across on-premises, cloud and hybrid environments
- Standard support, with 24x7 premium support available
-
Puppet Enterprise Advanced
Custom pricing
- Price on request through Contact Sales
- Data exports and automated reporting
- AI features powered by Perforce Intelligence
- Security baseline enforcement and vulnerability remediation
- Shorter ticket turnaround and priority support
Features
- Included: Declarative desired-state enforcement
- Included: Idempotent configuration runs
- Included: Agentless execution over SSH and WinRM
- Included: Agent-based scheduled convergence
- Included: Node drift detection and remediation
- Included: No-op dry run of pending changes
- Included: Community module registry
- Not included: Dynamic inventory from cloud providers
- Included: Linux, Windows and network device management
- Included: Encrypted secrets in configuration data
- Not included: Rolling orchestration across node batches
- Included: Web console with node inventory
- Included: Role-based access on the control server
- Included: CIS and STIG compliance profiles
- Included: Event-driven automation triggers
- Included: Change audit trail per node
- Included: Open source configuration engine
Additional Features
- Declarative Puppet resource language
- Puppet agent catalog runs on a schedule
- No-op mode for simulating a new catalog
- Corrective change reporting in node run statuses
- Puppet Forge modules declared in a Puppetfile
- Hiera data with the eyaml encryption backend
- Sensitive data type for parameters
- Agentless nodes over SSH, WinRM and NETCONF
Best for
- Infrastructure and platform teams running mixed Linux and Windows estates
- Enterprises in government, healthcare and finance that must prove compliance continuously
- Organizations running air-gapped, sovereign or on-premises infrastructure
- Teams already on Open Source Puppet that want vendor-built packages and support
- Security teams hardening servers to CIS Benchmarks or DISA STIGs
- Network teams managing switches and firewalls with the same tool as servers
- Developers trying Puppet Core on a small estate
Use cases
- Enforcing one declared configuration across a server fleet
- Detecting and correcting configuration drift
- Hardening hosts to CIS Benchmarks and DISA STIGs
- Patching servers as code
- Simulating a change in no-op mode before it is enforced
- Encrypting passwords and keys held in Hiera data
- Managing nodes that cannot run an agent over SSH or WinRM
- Bringing network devices under configuration management
- Tracing which change touched a node and who ran it
- Reusing Puppet Forge modules instead of writing them
- Deploying Puppet code from Git branches to servers
Screenshots & Videos
Explore Puppet in action
User Reviews
Compare with Similar Software
Click to compare side by side with Puppet