Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 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

       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://pup-
       pet.com/docs/puppet/latest/configuration.html  for  the  full  list  of
       acceptable parameters. You can generate a commented list of all config-
       uration options 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'.  Multiple
           destinations   can  be  set  using  a  comma  separated  list  (eg:

           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.

           A  path ending with '.jsonl' will receive structured output in JSON
           Lines format.

       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.                     January 2022                  PUPPET-APPLY(8)