puppet-apply - Man Page

Apply Puppet manifests locally

Examples (TL;DR)


Applies a standalone Puppet manifest to the local system.


puppet apply [-h|--help] [-V|--version] [-d|--debug] [-v|--verbose] [-e|--execute] [--detailed-exitcodes] [-L|--loadclasses] [-l|--logdest syslog|eventlog|ABS FILEPATH|console] [--noop] [--catalog catalog] [--write-catalog-summary] file


This is the standalone puppet execution tool; use it to apply individual manifests.

When provided with a modulepath, via command line or config file, puppet apply can effectively mimic the catalog that would be served by puppet master with access to the same modules, although there are some subtle differences. When combined with scheduling and an automated system for pushing manifests, this can be used to implement a serverless Puppet site.

Most users should use ´puppet agent´ and ´puppet master´ for site-wide manifests.


Any setting that´s valid in the configuration file is a valid long argument for puppet apply. For example, ´tags´ is a valid setting, so you can specify ´--tags class,tag´ as an argument.

See the configuration file documentation at https://puppet.com/docs/puppet/latest/configuration.html for the full list of acceptable parameters. You can generate a commented list of all configuration options by running puppet with ´--genconfig´.


$ puppet apply -l /tmp/manifest.log manifest.pp
$ puppet apply --modulepath=/root/dev/modules -e "include ntpd::server"
$ puppet apply --catalog catalog.json


Luke Kanies


October 2023 Puppet, Inc. Puppet manual