Puppet's commands

This version is out of date. For current versions, see Puppet packages and versions.

Puppet’s command line interface consists of a single puppet command with many subcommands.

Puppet Server and Puppet’s companion utilities, Facter and Hiera, have their own command line interfaces, which differ slightly from Puppet’s.

Core services

The following subcommands are the main applications Puppet uses to manage systems. Every user should understand what they do.

Puppet agent

Puppet agent manages systems, with the help of a Puppet master. It requests a configuration catalog from a Puppet master server, then ensures that all resources in that catalog are in their desired state.

For more information, see:

Puppet Server

Puppet Server compiles configurations for any number of Puppet agents, using Puppet code and various other data sources. It provides the same services as the classic Puppet master application, and more.

Puppet Server has its own subcommand, puppetserver, which isn’t prefaced by the usual puppet subcommand.

For more information, see:

Classic Rack-based Puppet master

Before Puppet Server was released, most users ran a Rack-based Puppet master using the Apache + Passenger stack. This still works, but it’s deprecated and will be removed in Puppet 5.

A Rack-based Puppet master compiles and serves configuration catalogs for any number of Puppet agents, using Puppet modules and various other data sources.

It’s also possible to run a standalone WEBrick-based Puppet master, but we don’t encourage anyone to do this in production.

For more information, see:

Puppet apply

Puppet apply manages systems without needing to contact a Puppet master server. It compiles its own configuration catalog, using Puppet modules and various other data sources, then immediately applies the catalog.

For more information, see:

Administrative tools

Puppet cert

Puppet cert helps manage Puppet’s built-in certificate authority (CA). It runs on the same server as the Puppet master application. You can use it to sign and revoke agent certificates.

For more information, see:

Puppet module

Puppet module is a multi-purpose tool for working with Puppet modules. It can install and upgrade new modules from the Puppet Forge, help generate new modules, and package modules for public release.

For more information, see:

Puppet resource

Puppet resource lets you interactively inspect and manipulate resources on a system. It can work with any resource type Puppet knows about.

For more information, see:

Puppet config

Puppet config lets you view and change Puppet’s settings.

For more information, see:


Puppet parser

Puppet parser lets you validate Puppet code to make sure it contains no syntax errors. It can be a useful part of your continuous integration toolchain.

For more information, see:

Puppet help and Puppet man

Puppet help and Puppet man can display online help for Puppet’s other subcommands.

For more information, see:

Full list of subcommands

Puppet has other subcommands, most of which aren’t as generally useful as the ones listed above. For a complete list, see:

Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.