Puppet device’s run environment

Puppet device runs as a single process in the foreground that manages devices, rather than as a daemon or service like a Puppet agent.

User

The puppet device command runs with the privileges of the user who runs it.

Run Puppet device as:

  • Root on *nix

  • Either LocalService or a member of the Administrators group on Windows

Logging

By default, Puppet device outputs directly to the terminal, which is valuable for interactive use. When you run it as a cron job or scheduled task, use the logdest option to direct the output to a file.

On *nix, run Puppet device with the --logdest syslog option to log to the *nix syslog service:

puppet device --verbose --logdest syslog

Your syslog configuration determines where these messages are saved, but the default location is /var/log/messages on Linux, and /var/log/system.log on Mac OS X. For example, to view these logs on Linux, run:

tail /var/log/messages

On Windows, run Puppet device with the --logdest eventlog option, which logs to the Windows Event Log, for example:

puppet device --verbose --logdest eventlog

To view these logs on Windows, click Control PanelSystem and SecurityAdministrative ToolsEvent Viewer.

To specify a particular file to send Puppet device log messages to, use the --logdest <FILE> option, which logs to the file specified by <FILE>, for example:

puppet device --verbose --logdest /var/log/puppetlabs/puppet/device.log

You can increase the logging level with the --debug and --verbose options.

In addition to local logging, Puppet device submits reports to the primary Puppet server after each run. These reports contain standard data from the Puppet run, including any corrective changes.

Network access

Puppet device creates outbound network connections to the devices it manages. It requires network connectivity to the devices via their API or CLI. It never accepts inbound network connections.