Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, February 9, 2022

puppet-apply (8)


puppet-apply - Apply Puppet manifests locally


Applies a standalone Puppet manifest to the local system.


PUPPET-APPLY(8)                  Puppet manual                 PUPPET-APPLY(8)

       puppet-apply - Apply Puppet manifests locally

       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  individ-
       ual manifests.

       When  provided with a modulepath, via command line or config file, pup-
       pet 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 sys-
       tem  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

       Note  that any setting that's valid in the configuration file is also a
       valid long argument. For example, 'tags' is a valid setting, so you can
       specify '--tags class,tag' as an argument.

       See    the    configuration    file   documentation   at   https://pup-
       pet.com/docs/puppet/latest/configuration.html  for  the  full  list  of
       acceptable  parameters.  A  commented list of all configuration options
       can also be generated by running puppet with '--genconfig'.

       o   --debug: Enable full debugging.

       o   --detailed-exitcodes: Provide extra information about the  run  via
           exit  codes. If enabled, 'puppet apply' will use the following exit

           0: The run succeeded with no changes or failures;  the  system  was
           already in the desired state.

           1: The run failed.

           2: The run succeeded, and some resources were changed.

           4: The run succeeded, and some resources failed.

           6: The run succeeded, and included both changes and failures.

       o   --help: Print this help message

       o   --loadclasses:  Load any stored classes. 'puppet agent' caches con-
           figured classes  (usually  at  /etc/puppetlabs/puppet/classes.txt),
           and  setting  this  option causes all of those classes to be set in
           your puppet manifest.

       o   --logdest: Where to send log messages. Choose between 'syslog' (the
           POSIX  syslog  service),  'eventlog' (the Windows Event Log), 'con-
           sole', or the path to a log file. Defaults to 'console'.

           A path ending with '.json' will receive structured output  in  JSON
           format.  The  log  file  will  not have an ending ']' automatically
           written to it due to the appending nature of logging.  It  must  be
           appended manually to make the content valid JSON.

       o   --noop:  Use  'noop'  mode  where Puppet runs in a no-op or dry-run
           mode. This is useful for seeing what changes Puppet will make with-
           out actually executing the changes.

       o   --execute: Execute a specific piece of Puppet code

       o   --test:  Enable the most common options used for testing. These are
           'verbose', 'detailed-exitcodes' and 'show_diff'.

       o   --verbose: Print extra information.

       o   --catalog: Apply a JSON catalog (such as one generated with 'puppet
           master  --compile').  You can either specify a JSON file or pipe in
           JSON from standard input.

       o   --write-catalog-summary  After  compiling  the  catalog  saves  the
           resource  list  and classes list to the node in the state directory
           named classes.txt and resources.txt

       $ 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

       Copyright (c) 2011 Puppet Inc.,  LLC  Licensed  under  the  Apache  2.0

       See attributes(7) for descriptions of the following attributes:

       |Availability   | system/management/puppet |
       |Stability      | Volatile                 |

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source was downloaded from  https://github.com/puppetlabs/puppet.

       Further information about this software can be found on the open source
       community website at http://puppetlabs.com/.

Puppet, Inc.                       July 2020                   PUPPET-APPLY(8)