1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
|
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "PUPPET\-CERTIFICATE" "8" "June 2012" "Puppet Labs, LLC" "Puppet manual"
.
.SH "NAME"
\fBpuppet\-certificate\fR \- Provide access to the CA for certificate management\.
.
.SH "SYNOPSIS"
puppet certificate \fIaction\fR [\-\-terminus TERMINUS] [\-\-extra HASH] \fI\-\-ca\-location LOCATION\fR
.
.SH "DESCRIPTION"
This subcommand interacts with a local or remote Puppet certificate authority\. Currently, its behavior is not a full superset of \fBpuppet cert\fR; specifically, it is unable to mimic puppet cert\'s "clean" option, and its "generate" action submits a CSR rather than creating a signed certificate\.
.
.SH "OPTIONS"
Note that any configuration parameter that\'s valid in the configuration file is also a valid long argument, although it may or may not be relevant to the present action\. For example, \fBserver\fR is a valid configuration parameter, so you can specify \fB\-\-server <servername>\fR as an argument\.
.
.P
See the configuration file documentation at \fIhttp://docs\.puppetlabs\.com/references/stable/configuration\.html\fR for the full list of acceptable parameters\. A commented list of all configuration options can also be generated by running puppet with \fB\-\-genconfig\fR\.
.
.TP
\-\-mode MODE
The run mode to use for the current action\. Valid modes are \fBuser\fR, \fBagent\fR, and \fBmaster\fR\.
.
.TP
\-\-render\-as FORMAT
The format in which to render output\. The most common formats are \fBjson\fR, \fBs\fR (string), \fByaml\fR, and \fBconsole\fR, but other options such as \fBdot\fR are sometimes available\.
.
.TP
\-\-verbose
Whether to log verbosely\.
.
.TP
\-\-debug
Whether to log debug information\.
.
.TP
\-\-ca\-location LOCATION
Whether to act on the local certificate authority or one provided by a remote puppet master\. Allowed values are \'local\' and \'remote\.\'
.
.IP
This option is required\.
.
.TP
\-\-extra HASH
A terminus can take additional arguments to refine the operation, which are passed as an arbitrary hash to the back\-end\. Anything passed as the extra value is just send direct to the back\-end\.
.
.TP
\-\-terminus TERMINUS
Indirector faces expose indirected subsystems of Puppet\. These subsystems are each able to retrieve and alter a specific type of data (with the familiar actions of \fBfind\fR, \fBsearch\fR, \fBsave\fR, and \fBdestroy\fR) from an arbitrary number of pluggable backends\. In Puppet parlance, these backends are called terminuses\.
.
.IP
Almost all indirected subsystems have a \fBrest\fR terminus that interacts with the puppet master\'s data\. Most of them have additional terminuses for various local data models, which are in turn used by the indirected subsystem on the puppet master whenever it receives a remote request\.
.
.IP
The terminus for an action is often determined by context, but occasionally needs to be set explicitly\. See the "Notes" section of this face\'s manpage for more details\.
.
.SH "ACTIONS"
.
.TP
\fBdestroy\fR \- Delete a certificate\.
\fBSYNOPSIS\fR
.
.IP
puppet certificate destroy [\-\-terminus TERMINUS] [\-\-extra HASH] \fI\-\-ca\-location LOCATION\fR \fIhost\fR
.
.IP
\fBDESCRIPTION\fR
.
.IP
Deletes a certificate\. This action currently only works on the local CA\.
.
.IP
\fBRETURNS\fR
.
.IP
Nothing\.
.
.TP
\fBfind\fR \- Retrieve a certificate\.
\fBSYNOPSIS\fR
.
.IP
puppet certificate find [\-\-terminus TERMINUS] [\-\-extra HASH] \fI\-\-ca\-location LOCATION\fR \fIhost\fR
.
.IP
\fBDESCRIPTION\fR
.
.IP
Retrieve a certificate\.
.
.IP
\fBRETURNS\fR
.
.IP
An x509 SSL certificate\.
.
.IP
Note that this action has a side effect of caching a copy of the certificate in Puppet\'s \fBssldir\fR\.
.
.TP
\fBgenerate\fR \- Generate a new certificate signing request\.
\fBSYNOPSIS\fR
.
.IP
puppet certificate generate [\-\-terminus TERMINUS] [\-\-extra HASH] \fI\-\-ca\-location LOCATION\fR [\-\-dns\-alt\-names NAMES] \fIhost\fR
.
.IP
\fBDESCRIPTION\fR
.
.IP
Generates and submits a certificate signing request (CSR) for the specified host\. This CSR will then have to be signed by a user with the proper authorization on the certificate authority\.
.
.IP
Puppet agent usually handles CSR submission automatically\. This action is primarily useful for requesting certificates for individual users and external applications\.
.
.IP
\fBOPTIONS\fR
.
.IP
\fI\-\-dns\-alt\-names NAMES\fR \- The comma\-separated list of alternative DNS names to use for the local host\. When the node generates a CSR for itself, these are added to the request as the desired \fBsubjectAltName\fR in the certificate: additional DNS labels that the certificate is also valid answering as\. This is generally required if you use a non\-hostname \fBcertname\fR, or if you want to use \fBpuppet kick\fR or \fBpuppet resource \-H\fR and the primary certname does not match the DNS name you use to communicate with the host\. This is unnecessary for agents, unless you intend to use them as a server for \fBpuppet kick\fR or remote \fBpuppet resource\fR management\. It is rarely necessary for servers; it is usually helpful only if you need to have a pool of multiple load balanced masters, or for the same master to respond on two physically separate networks under different names\.
.
.IP
\fBRETURNS\fR
.
.IP
Nothing\.
.
.TP
\fBinfo\fR \- Print the default terminus class for this face\.
\fBSYNOPSIS\fR
.
.IP
puppet certificate info [\-\-terminus TERMINUS] [\-\-extra HASH] \fI\-\-ca\-location LOCATION\fR
.
.IP
\fBDESCRIPTION\fR
.
.IP
Prints the default terminus class for this subcommand\. Note that different run modes may have different default termini; when in doubt, specify the run mode with the \'\-\-mode\' option\.
.
.TP
\fBlist\fR \- List all certificate signing requests\.
\fBSYNOPSIS\fR
.
.IP
puppet certificate list [\-\-terminus TERMINUS] [\-\-extra HASH] \fI\-\-ca\-location LOCATION\fR
.
.IP
\fBDESCRIPTION\fR
.
.IP
List all certificate signing requests\.
.
.IP
\fBRETURNS\fR
.
.IP
An array of #inspect output from CSR objects\. This output is currently messy, but does contain the names of nodes requesting certificates\. This action returns #inspect strings even when used from the Ruby API\.
.
.TP
\fBsave\fR \- Invalid for this subcommand\.
\fBSYNOPSIS\fR
.
.IP
puppet certificate save [\-\-terminus TERMINUS] [\-\-extra HASH] \fI\-\-ca\-location LOCATION\fR \fIkey\fR
.
.IP
\fBDESCRIPTION\fR
.
.IP
Invalid for this subcommand\.
.
.TP
\fBsearch\fR \- Invalid for this subcommand\.
\fBSYNOPSIS\fR
.
.IP
puppet certificate search [\-\-terminus TERMINUS] [\-\-extra HASH] \fI\-\-ca\-location LOCATION\fR \fIquery\fR
.
.IP
\fBDESCRIPTION\fR
.
.IP
Invalid for this subcommand\.
.
.TP
\fBsign\fR \- Sign a certificate signing request for HOST\.
\fBSYNOPSIS\fR
.
.IP
puppet certificate sign [\-\-terminus TERMINUS] [\-\-extra HASH] \fI\-\-ca\-location LOCATION\fR [\-\-[no\-]allow\-dns\-alt\-names] \fIhost\fR
.
.IP
\fBDESCRIPTION\fR
.
.IP
Sign a certificate signing request for HOST\.
.
.IP
\fBOPTIONS\fR
.
.IP
\fI\-\-[no\-]allow\-dns\-alt\-names\fR \- Whether or not to accept DNS alt names in the certificate request
.
.IP
\fBRETURNS\fR
.
.IP
A string that appears to be (but isn\'t) an x509 certificate\.
.
.SH "EXAMPLES"
\fBgenerate\fR
.
.P
Request a certificate for "somenode" from the site\'s CA:
.
.P
$ puppet certificate generate somenode\.puppetlabs\.lan \-\-ca\-location remote
.
.P
\fBsign\fR
.
.P
Sign somenode\.puppetlabs\.lan\'s certificate:
.
.P
$ puppet certificate sign somenode\.puppetlabs\.lan \-\-ca\-location remote
.
.SH "NOTES"
This subcommand is an indirector face, which exposes \fBfind\fR, \fBsearch\fR, \fBsave\fR, and \fBdestroy\fR actions for an indirected subsystem of Puppet\. Valid termini for this face include:
.
.IP "\(bu" 4
\fBca\fR
.
.IP "\(bu" 4
\fBfile\fR
.
.IP "\(bu" 4
\fBrest\fR
.
.IP "" 0
.
.SH "COPYRIGHT AND LICENSE"
Copyright 2011 by Puppet Labs Apache 2 license; see COPYING
|