1PUPPET-DEVICE(8) Puppet manual PUPPET-DEVICE(8)
2
3
4
6 puppet-device - Manage remote network devices
7
9 Retrieves catalogs from the Puppet master and applies them to remote
10 devices.
11
12 This subcommand can be run manually; or periodically using cron, a
13 scheduled task, or a similar tool.
14
16 puppet device [-h|--help] [-v|--verbose] [-d|--debug] [-l|--logdest
17 syslog|file|console] [--detailed-exitcodes] [--deviceconfig file]
18 [-w|--waitforcert seconds] [--libdir directory] [-a|--apply file]
19 [-f|--facts] [-r|--resource type [name]] [-t|--target device]
20 [--user=user] [-V|--version]
21
23 Devices require a proxy Puppet agent to request certificates, collect
24 facts, retrieve and apply catalogs, and store reports.
25
27 Devices managed by the puppet-device subcommand on a Puppet agent are
28 configured in device.conf, which is located at $confdir/device.conf by
29 default, and is configurable with the $deviceconfig setting.
30
31 The device.conf file is an INI-like file, with one section per device:
32
33 [DEVICE_CERTNAME] type TYPE url URL debug
34
35 The section name specifies the certname of the device.
36
37 The values for the type and url properties are specific to each type of
38 device.
39
40 The optional debug property specifies transport-level debugging, and is
41 limited to telnet and ssh transports.
42
43 See https://puppet.com/docs/puppet/latest/config_file_device.html for
44 details.
45
47 Note that any setting that´s valid in the configuration file is also a
48 valid long argument. For example, ´server´ is a valid configuration pa‐
49 rameter, so you can specify ´--server servername´ as an argument.
50
51 --help, -h
52 Print this help message
53
54 --verbose, -v
55 Turn on verbose reporting.
56
57 --debug, -d
58 Enable full debugging.
59
60 --logdest, -l
61 Where to send log messages. Choose between ´syslog´ (the POSIX
62 syslog service), ´console´, or the path to a log file. If debug‐
63 ging or verbosity is enabled, this defaults to ´console´. Other‐
64 wise, it defaults to ´syslog´. Multiple destinations can be set
65 using a comma separated list (eg: /path/file1,con‐
66 sole,/path/file2)"
67
68 A path ending with ´.json´ will receive structured output in
69 JSON format. The log file will not have an ending ´]´ automati‐
70 cally written to it due to the appending nature of logging. It
71 must be appended manually to make the content valid JSON.
72
73 --detailed-exitcodes
74 Provide transaction information via exit codes. If this is en‐
75 abled, an exit code of ´1´ means at least one device had a com‐
76 pile failure, an exit code of ´2´ means at least one device had
77 resource changes, and an exit code of ´4´ means at least one de‐
78 vice had resource failures. Exit codes of ´3´, ´5´, ´6´, or ´7´
79 means that a bitwise combination of the preceding exit codes
80 happened.
81
82 --deviceconfig
83 Path to the device config file for puppet device. Default:
84 $confdir/device.conf
85
86 --waitforcert, -w
87 This option only matters for targets that do not yet have cer‐
88 tificates and it is enabled by default, with a value of 120
89 (seconds). This causes +puppet device+ to poll the server every
90 2 minutes and ask it to sign a certificate request. This is use‐
91 ful for the initial setup of a target. You can turn off waiting
92 for certificates by specifying a time of 0.
93
94 --libdir
95 Override the per-device libdir with a local directory. Specify‐
96 ing a libdir also disables pluginsync. This is useful for test‐
97 ing.
98
99 A path ending with ´.jsonl´ will receive structured output in
100 JSON Lines format.
101
102 --apply
103 Apply a manifest against a remote target. Target must be speci‐
104 fied.
105
106 --facts
107 Displays the facts of a remote target. Target must be specified.
108
109 --resource
110 Displays a resource state as Puppet code, roughly equivalent to
111 puppet resource. Can be filtered by title. Requires --target be
112 specified.
113
114 --target
115 Target a specific device/certificate in the device.conf. Doing
116 so will perform a device run against only that device/certifi‐
117 cate.
118
119 --to_yaml
120 Output found resources in yaml format, suitable to use with Hi‐
121 era and create_resources.
122
123 --user The user to run as.
124
126 $ puppet device --target remotehost --verbose
127
129 Brice Figureau
130
132 Copyright (c) 2011-2018 Puppet Inc., LLC Licensed under the Apache 2.0
133 License
134
135
136
137Puppet, Inc. October 2022 PUPPET-DEVICE(8)