chef 0.9.8.beta.1 → 0.9.8.beta.2

Sign up to get free protection for your applications and to get access to all the features.
data/bin/shef CHANGED
@@ -18,30 +18,17 @@
18
18
  # See the License for the specific language governing permissions and
19
19
  # limitations under the License.
20
20
 
21
- # TODO::EVIL
22
- require "rubygems"
23
- require "mixlib/cli"
21
+ begin
22
+ require "rubygems"
23
+ rescue LoadError
24
+ end
24
25
 
25
26
  require "irb"
26
27
  require "irb/completion"
27
28
  require 'irb/ext/save-history'
28
29
 
29
- # TODO::EVIL
30
30
  $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
31
31
 
32
32
  require "chef/shef"
33
33
 
34
- # dirty hack to make IRB initialize shef
35
- module IRB
36
- class << self
37
- alias :run_original_config :run_config
38
-
39
- def run_config
40
- run_original_config
41
- Shef.init
42
- end
43
- end
44
- end
45
-
46
- Shef.parse_opts
47
- IRB.start
34
+ Shef.start
@@ -1,29 +1,32 @@
1
- .\" generated with Ronn/v0.5
1
+ .\" generated with Ronn/v0.6.0
2
2
  .\" http://github.com/rtomayko/ronn/
3
3
  .
4
- .TH "KNIFE" "8" "June 2010" "" ""
4
+ .TH "KNIFE" "8" "July 2010" "" ""
5
5
  .
6
6
  .SH "NAME"
7
- \fBknife\fR \-\- Chef Server REST API utility
7
+ \fBknife\fR \- Chef Server REST API utility
8
8
  .
9
9
  .SH "SYNOPSIS"
10
- \fBknife\fR \fIsub\-command\fR \fI(options)\fR
10
+ \fBknife\fR\fIsub\-command\fR\fI(options)\fR
11
11
  .
12
12
  .SH "DESCRIPTION"
13
- This manual page documents knife, a command\-line utility used to interact with a Chef server directly through the RESTful API. Knife uses sub\-commands to take various actions on different types of Chef objects. Some sub\-commands take additional options. General options follow sub\-commands and their options. A configuration file can be created for common defaults.
13
+ This manual page documents knife, a command\-line utility used to interact with a Chef server directly through the RESTful API\. Knife uses sub\-commands to take various actions on different types of Chef objects\. Some sub\-commands take additional options\. General options follow sub\-commands and their options\. A configuration file can be created for common defaults\.
14
14
  .
15
15
  .P
16
- Unless otherwise specified, output is in JSON format, and input files are also JSON format.
16
+ Unless otherwise specified, output is in JSON format, and input files are also JSON format\.
17
+ .
18
+ .P
19
+ The Chef class \fBChef::Config\fR that configures the behavior of how knife runs has options that correspond to command\-line options\. These are noted as \fBChef::Config\fR values\.
17
20
  .
18
21
  .SH "GENERAL OPTIONS"
19
22
  .
20
23
  .TP
21
24
  \fB\-s\fR, \fB\-\-server\-url\fR URL
22
- Chef Server URL
25
+ Chef Server URL, corresponds to \fBChef::Config\fR\fBchef_server_url\fR\.
23
26
  .
24
27
  .TP
25
28
  \fB\-k\fR, \fB\-\-key\fR KEY
26
- API Client Key
29
+ API Client Key, corresponds to \fBChef::Config\fR\fBclient_key\fR\.
27
30
  .
28
31
  .TP
29
32
  \fB\-c\fR, \fB\-\-config\fR CONFIG
@@ -34,16 +37,16 @@ The configuration file to use
34
37
  Set the editor to use for interactive commands
35
38
  .
36
39
  .TP
37
- \fB\-f\fR, \fB\-\-format\fR FORMAT
40
+ \fB\-F\fR, \fB\-\-format\fR FORMAT
38
41
  Which format to use for output
39
42
  .
40
43
  .TP
41
44
  \fB\-l\fR, \fB\-\-log_level\fR LEVEL
42
- Set the log level (debug, info, warn, error, fatal)
45
+ Set the log level (debug, info, warn, error, fatal), corresponds to \fBChef::Config\fR\fBlog_level\fR\.
43
46
  .
44
47
  .TP
45
48
  \fB\-L\fR, \fB\-\-logfile\fR LOGLOCATION
46
- Set the log file location, defaults to STDOUT
49
+ Set the log file location, defaults to STDOUT, corresponds to \fBChef::Config\fR\fBlog_location\fR\.
47
50
  .
48
51
  .TP
49
52
  \fB\-n\fR, \fB\-\-no\-editor\fR
@@ -51,7 +54,7 @@ Do not open EDITOR, just accept the data as is
51
54
  .
52
55
  .TP
53
56
  \fB\-u\fR, \fB\-\-user\fR USER
54
- API Client Username
57
+ API Client Username, corresponds to \fBChef::Config\fR\fBnode_name\fR\.
55
58
  .
56
59
  .TP
57
60
  \fB\-p\fR, \fB\-\-print\-after\fR
@@ -69,8 +72,11 @@ Say yes to all prompts for confirmation
69
72
  \fB\-h\fR, \fB\-\-help\fR
70
73
  Show this message
71
74
  .
75
+ .P
76
+ Usage information for sub\-commands can be displayed with \fBknife SUB\-COMMAND \-\-help\fR\.
77
+ .
72
78
  .SH "SUB\-COMMANDS"
73
- Knife sub\-commands are structured as \fINOUN verb NOUN (options)\fR. The sub\-commands are meant to be intuitively named. Because the Chef Server API is RESTful, sub\-commands generally utilize CRUD operations.
79
+ Knife sub\-commands are structured as \fINOUN verb NOUN (options)\fR\. The sub\-commands are meant to be intuitively named\. Because the Chef Server API is RESTful, sub\-commands generally utilize CRUD operations\.
74
80
  .
75
81
  .IP "\(bu" 4
76
82
  create (create)
@@ -87,13 +93,13 @@ delete (destroy)
87
93
  .IP "" 0
88
94
  .
89
95
  .P
90
- Objects stored on the server support these, as described below.
96
+ Objects stored on the server support these, as described below\.
91
97
  .
92
98
  .SH "GENERAL SUB\-COMMANDS"
93
- The following are general sub\-commands that do not fit within the other object types utilized in the Chef Server API.
99
+ The following are general sub\-commands that do not fit within the other object types utilized in the Chef Server API\.
94
100
  .
95
101
  .P
96
- \fBconfigure\fR \fI(options)\fR
102
+ \fBconfigure\fR\fI(options)\fR
97
103
  .
98
104
  .TP
99
105
  \fB\-i\fR, \fB\-\-initial\fR
@@ -104,26 +110,32 @@ Create an initial API Client
104
110
  The path to your chef\-repo
105
111
  .
106
112
  .P
107
- Create a configuration file for knife. This will prompt for values to enter into the file. Default values are listed in square brackets if no other entry is typed. See \fBCONFIGURATION\fR below for available options.
113
+ Create a configuration file for knife\. This will prompt for values to enter into the file\. Default values are listed in square brackets if no other entry is typed\. See \fBCONFIGURATION\fR below for available options\.
108
114
  .
109
115
  .P
110
- \fBindex rebuild\fR \fI(options)\fR
116
+ \fBconfigure client DIRECTORY\fR
117
+ .
118
+ .P
119
+ Read the \fBknife\.rb\fR config file and generate a config file suitable for use in \fB/etc/chef/client\.rb\fR and copy the validation certificate into the specified \fIDIRECTORY\fR\.
120
+ .
121
+ .P
122
+ \fBindex rebuild\fR\fI(options)\fR
111
123
  .
112
124
  .TP
113
125
  \fB\-y\fR, \fB\-\-yes\fR
114
- don't bother to ask if I'm sure
126
+ don\'t bother to ask if I\'m sure
115
127
  .
116
128
  .P
117
- Rebuilds all the search indexes on the server.
129
+ Rebuilds all the search indexes on the server\.
118
130
  .
119
131
  .P
120
132
  \fBrecipe list [PATTERN]\fR
121
133
  .
122
134
  .P
123
- List available recipes from the server. Specify \fIPATTERN\fR as a regular expression to limit the results.
135
+ List available recipes from the server\. Specify \fIPATTERN\fR as a regular expression to limit the results\.
124
136
  .
125
137
  .P
126
- \fBsearch INDEX QUERY\fR \fI(options)\fR
138
+ \fBsearch INDEX QUERY\fR\fI(options)\fR
127
139
  .
128
140
  .TP
129
141
  \fB\-a\fR, \fB\-\-attribute ATTR\fR
@@ -150,21 +162,21 @@ The order to sort the results in
150
162
  The row to start returning results at
151
163
  .
152
164
  .P
153
- Search indexes are a feature of the Chef Server and the search sub\-command allows querying any of the available indexes using SOLR query syntax. The following data types are indexed for search: \fInode\fR, \fIrole\fR, \fIclient\fR, \fIdata bag\fR.
165
+ Search indexes are a feature of the Chef Server and the search sub\-command allows querying any of the available indexes using SOLR query syntax\. The following data types are indexed for search: \fInode\fR, \fIrole\fR, \fIclient\fR, \fIdata bag\fR\.
154
166
  .
155
167
  .P
156
- \fBssh QUERY COMMAND\fR \fI(options)\fR
168
+ \fBssh QUERY COMMAND\fR\fI(options)\fR
157
169
  .
158
170
  .TP
159
- \fB\-a\fR, \fB\-\-attribute ATTR \fR
171
+ \fB\-a\fR, \fB\-\-attribute ATTR\fR
160
172
  The attribute to use for opening the connection \- default is fqdn
161
173
  .
162
174
  .TP
163
- \fB\-C\fR, \fB\-\-concurrency NUM \fR
175
+ \fB\-C\fR, \fB\-\-concurrency NUM\fR
164
176
  The number of concurrent connections
165
177
  .
166
178
  .TP
167
- \fB\-m\fR, \fB\-\-manual\-list \fR
179
+ \fB\-m\fR, \fB\-\-manual\-list\fR
168
180
  QUERY is a space separated list of servers
169
181
  .
170
182
  .TP
@@ -172,26 +184,144 @@ QUERY is a space separated list of servers
172
184
  The ssh password
173
185
  .
174
186
  .TP
175
- \fB\-x\fR, \fB\-\-ssh\-user USERNAME \fR
187
+ \fB\-x\fR, \fB\-\-ssh\-user USERNAME\fR
188
+ The ssh username
189
+ .
190
+ .P
191
+ The \fIssh\fR sub\-command opens an ssh session to each of the nodes in the search results of the \fIQUERY\fR\. This sub\-command requires that the net\-ssh\-multi and highline Ruby libraries are installed\. On Debian systems, these are the libnet\-ssh\-multi\-ruby and libhighline\-ruby packages\. They can also be installed as RubyGems (net\-ssh\-multi and highline, respectively)\.
192
+ .
193
+ .SH "BOOTSTRAP SUB\-COMMANDS"
194
+ \fBbootstrap FQDN\fR\fI(options)\fR
195
+ .
196
+ .TP
197
+ \fB\-i\fR, \fB\-\-identity\-file IDENTITY_FILE\fR
198
+ The SSH identity file used for authentication
199
+ .
200
+ .TP
201
+ \fB\-N\fR, \fB\-\-node\-name NAME\fR
202
+ The Chef node name for your new node
203
+ .
204
+ .TP
205
+ \fB\-P\fR, \fB\-\-ssh\-password PASSWORD\fR
206
+ The ssh password
207
+ .
208
+ .TP
209
+ \fB\-x\fR, \fB\-\-ssh\-user USERNAME\fR
210
+ The ssh username
211
+ .
212
+ .TP
213
+ \fB\-\-prerelease\fR
214
+ Install pre\-release Chef gems
215
+ .
216
+ .TP
217
+ \fB\-r\fR, \fB\-\-run\-list RUN_LIST\fR
218
+ Comma separated list of roles/recipes to apply
219
+ .
220
+ .TP
221
+ \fB\-P\fR, \fB\-\-ssh\-password PASSWORD\fR
222
+ The ssh password
223
+ .
224
+ .TP
225
+ \fB\-x\fR, \fB\-\-ssh\-user USERNAME\fR
176
226
  The ssh username
177
227
  .
228
+ .TP
229
+ \fB\-\-template\-file TEMPLATE\fR
230
+ Full path to location of template to use
231
+ .
232
+ .TP
233
+ \fB\-\-sudo\fR
234
+ Execute the bootstrap via sudo
235
+ .
236
+ .TP
237
+ \fB\-d\fR, \fB\-\-distro DISTRO\fR
238
+ Bootstrap a distro using a template
239
+ .
240
+ .P
241
+ Performs a Chef Bootstrap on the target node\. The goal of the bootstrap is to get Chef installed on the target system so it can run Chef Client with a Chef Server\. The main assumption is a baseline OS installation exists\. This sub\-command is used internally by some cloud computing server create commands and the others will be migrated in a future version of Chef\.
242
+ .
243
+ .P
244
+ As of Chef 0\.9\.8, the bootstrap sub\-command supports supplying a template to perform the bootstrap steps\. If the distro is not specified (via \fB\-d\fR or \fB\-\-distro\fR option), an Ubuntu 10\.04 with RubyGems is assumed\. The \fBDISTRO\fR value corresponds to the base filename of the template, in other words \fBDISTRO\fR\.erb\. A template file can be specified with the \fB\-\-template\-file\fR option in which case the \fBDISTRO\fR is not used\. The sub\-command looks in the following locations for the template to use:
245
+ .
246
+ .IP "\(bu" 4
247
+ \fBbootstrap\fR directory in the installed Chef Knife library\.
248
+ .
249
+ .IP "\(bu" 4
250
+ \fBbootstrap\fR directory in the \fB$PWD/\.chef\fR\.
251
+ .
252
+ .IP "\(bu" 4
253
+ \fBbootstrap\fR directory in the users \fB$HOME/\.chef\fR\.
254
+ .
255
+ .IP "" 0
256
+ .
257
+ .P
258
+ The default bootstrap templates are scripts that get copied to the target node (FQDN)\. As of Chef 0\.9\.8, the following distros are supported:
259
+ .
260
+ .IP "\(bu" 4
261
+ centos5\-gems
262
+ .
263
+ .IP "\(bu" 4
264
+ fedora13\-gems
265
+ .
266
+ .IP "\(bu" 4
267
+ ubuntu10\.04\-gems
268
+ .
269
+ .IP "\(bu" 4
270
+ ubuntu10\.04\-apt
271
+ .
272
+ .IP "" 0
273
+ .
274
+ .P
275
+ The gems installations will use RubyGems 1\.3\.6 and Chef installed as a gem\. The apt installation will use the Opscode APT repository\. The RubyGems installation requires installing gems with native extensions, so development related packages (ruby\-dev, build\-essential) are installed\. These are not installed with the apt installation, as native extensions are already compiled in the required packages\.
276
+ .
277
+ .P
278
+ In addition to handling the software installation, these bootstrap templates do the following:
279
+ .
280
+ .IP "\(bu" 4
281
+ Write the validation\.pem per the local knife configuration\.
282
+ .
283
+ .IP "\(bu" 4
284
+ Write a default config file for Chef (\fB/etc/chef/client\.rb\fR) using values from the \fBknife\.rb\fR\.
285
+ .
286
+ .IP "\(bu" 4
287
+ Create a JSON attributes file containing the specified run list and run Chef\.
288
+ .
289
+ .IP "" 0
290
+ .
291
+ .P
292
+ In the case of the RubyGems, the \fBclient\.rb\fR will be written from scratch with a minimal set of values; see \fBEXAMPLES\fR\. In the case of APT Package installation, \fBclient\.rb\fR will have the \fBvalidation_client_name\fR appended if it is not set to \fBchef\-validator\fR (default config value), and the \fBnode_name\fR will be added if \fBchef_node_name\fR option is specified\.
293
+ .
178
294
  .P
179
- The \fBssh\fR sub\-command opens an ssh session to each of the nodes in the search results of the \fIQUERY\fR. This sub\-command requires that the net\-ssh\-multi and highline Ruby libraries are installed. On Debian systems, these are the libnet\-ssh\-multi\-ruby and libhighline\-ruby packages. They can also be installed as RubyGems (net\-ssh\-multi and highline, respectively).
295
+ When this is complete, the bootstrapped node will have:
296
+ .
297
+ .IP "\(bu" 4
298
+ Latest Chef version installed from RubyGems or APT Packages from Opscode\. This may be a later version than the local system\.
299
+ .
300
+ .IP "\(bu" 4
301
+ Be validated with the configured Chef Server\.
302
+ .
303
+ .IP "\(bu" 4
304
+ Have run Chef with its default run list if one is specfied\.
305
+ .
306
+ .IP "" 0
307
+ .
308
+ .P
309
+ Additional custom bootstrap templates can be created and stored in \fB\.chef/bootstrap/DISTRO\.erb\fR, replacing \fBDISTRO\fR with the value passed with the \fB\-d\fR or \fB\-\-distro\fR option\. See \fBEXAMPLES\fR for more information\.
180
310
  .
181
311
  .SH "CLIENT SUB\-COMMANDS"
182
- Clients are entities that communicate with the Chef Server API.
312
+ Clients are entities that communicate with the Chef Server API\.
183
313
  .
184
314
  .P
185
- \fBclient bulk delete REGEX\fR \fI(options)\fR
315
+ \fBclient bulk delete REGEX\fR\fI(options)\fR
186
316
  .
187
317
  .P
188
- Delete clients on the Chef Server based on a regular expression. The regular expression (\fIREGEX\fR) should be in quotes, not in //'s.
318
+ Delete clients on the Chef Server based on a regular expression\. The regular expression (\fIREGEX\fR) should be in quotes, not in //\'s\.
189
319
  .
190
320
  .P
191
- \fBclient create CLIENT\fR \fI(options)\fR
321
+ \fBclient create CLIENT\fR\fI(options)\fR
192
322
  .
193
323
  .TP
194
- \fB\-a\fR, \fB\-\-admin \fR
324
+ \fB\-a\fR, \fB\-\-admin\fR
195
325
  Create the client as an admin
196
326
  .
197
327
  .TP
@@ -199,68 +329,153 @@ Create the client as an admin
199
329
  Write the key to a file
200
330
  .
201
331
  .P
202
- Create a new client. This generates an RSA keypair. The private key will be displayed on \fISTDOUT\fR or written to the named file. The public half will be stored on the Server. For \fIchef\-client\fR systems, the private key should be copied to the system as \fB/etc/chef/client.pem\fR.
332
+ Create a new client\. This generates an RSA keypair\. The private key will be displayed on \fISTDOUT\fR or written to the named file\. The public half will be stored on the Server\. For \fIchef\-client\fR systems, the private key should be copied to the system as \fB/etc/chef/client\.pem\fR\.
203
333
  .
204
334
  .P
205
- Admin clients should be created for users that will use \fIknife\fR to access the API as an administrator. The private key will generally be copied to \fB~/.chef/CLIENT.pem\fR and referenced in the \fBknife.rb\fR configuration file.
335
+ Admin clients should be created for users that will use \fIknife\fR to access the API as an administrator\. The private key will generally be copied to \fB~/\.chef/CLIENT\.pem\fR and referenced in the \fBknife\.rb\fR configuration file\.
206
336
  .
207
337
  .P
208
- \fBclient delete CLIENT\fR \fI(options)\fR
338
+ \fBclient delete CLIENT\fR\fI(options)\fR
209
339
  .
210
340
  .P
211
- Deletes a registered client.
341
+ Deletes a registered client\.
212
342
  .
213
343
  .P
214
- \fBclient edit CLIENT\fR \fI(options)\fR
344
+ \fBclient edit CLIENT\fR\fI(options)\fR
215
345
  .
216
346
  .P
217
- Edit a registered client.
347
+ Edit a registered client\.
218
348
  .
219
349
  .P
220
- \fBclient list\fR \fI(options)\fR
350
+ \fBclient list\fR\fI(options)\fR
221
351
  .
222
352
  .TP
223
353
  \fB\-w\fR, \fB\-\-with\-uri\fR
224
- Show corresponding URIs
354
+ Show corresponding URIs
225
355
  .
226
356
  .P
227
- List all registered clients.
357
+ List all registered clients\.
228
358
  .
229
359
  .P
230
- \fBclient reregister CLIENT\fR \fI(options)\fR
360
+ \fBclient reregister CLIENT\fR\fI(options)\fR
231
361
  .
232
362
  .TP
233
363
  \fB\-f\fR, \fB\-\-file FILE\fR
234
364
  Write the key to a file
235
365
  .
236
366
  .P
237
- Regenerate the RSA keypair for a client. The public half will be stored on the server and the private key displayed on \fISTDOUT\fR or written to the named file.
367
+ Regenerate the RSA keypair for a client\. The public half will be stored on the server and the private key displayed on \fISTDOUT\fR or written to the named file\.
238
368
  .
239
369
  .P
240
- \fBclient show CLIENT\fR \fI(options)\fR
370
+ \fBclient show CLIENT\fR\fI(options)\fR
241
371
  .
242
372
  .TP
243
373
  \fB\-a\fR, \fB\-\-attribute ATTR\fR
244
374
  Show only one attribute
245
375
  .
246
376
  .P
247
- Show a client.
377
+ Show a client\.
248
378
  .
249
379
  .SH "COOKBOOK SUB\-COMMANDS"
250
- Cookbooks are the fundamental unit of distribution in Chef. They encapsulate all recipes of resources and assets used to configure a particular aspect of the infrastructure. The following sub\-commands can be used to manipulate the cookbooks stored on the Chef Server.
380
+ Cookbooks are the fundamental unit of distribution in Chef\. They encapsulate all recipes of resources and assets used to configure a particular aspect of the infrastructure\. The following sub\-commands can be used to manipulate the cookbooks stored on the Chef Server\.
251
381
  .
252
382
  .P
253
- \fBcookbook bulk delete REGEX\fR \fI(options)\fR
383
+ \fBcookbook bulk delete REGEX\fR\fI(options)\fR
254
384
  .
255
385
  .TP
256
386
  \fB\-p\fR, \fB\-\-purge\fR
257
- Purge files from backing store. This will disable any cookbook that contains any of the same files as the cookbook being purged.
387
+ Purge files from backing store\. This will disable any cookbook that contains any of the same files as the cookbook being purged\.
258
388
  .
259
389
  .P
260
- Delete cookbooks on the Chef Server based on a regular expression. The regular expression (\fIREGEX\fR) should be in quotes, not in //'s.
390
+ Delete cookbooks on the Chef Server based on a regular expression\. The regular expression (\fIREGEX\fR) should be in quotes, not in //\'s\.
261
391
  .
262
392
  .P
263
- \fBcookbook delete COOKBOOK [VERSION]\fR \fI(options)\fR
393
+ \fBcookbook create COOKBOOK\fR\fI(options)\fR
394
+ .
395
+ .TP
396
+ \fB\-o\fR, \fB\-\-cookbook\-path PATH\fR
397
+ The directory where the cookbook will be created
398
+ .
399
+ .TP
400
+ \fB\-r\fR, \fB\-\-readme\-format FORMAT\fR
401
+ Format of the README file
402
+ .
403
+ .TP
404
+ \fB\-C\fR, \fB\-\-copyright COPYRIGHT\fR
405
+ Name of Copyright holder
406
+ .
407
+ .TP
408
+ \fB\-I\fR, \fB\-\-license LICENSE\fR
409
+ License for cookbook, apachev2 or none
410
+ .
411
+ .TP
412
+ \fB\-E\fR, \fB\-\-email EMAIL\fR
413
+ Email address of cookbook maintainer
414
+ .
415
+ .P
416
+ This is a helper command that creates a new cookbook directory in the \fBcookbook_path\fR\. The following directories and files are created for the named cookbook\.
417
+ .
418
+ .IP "\(bu" 4
419
+ COOKBOOK/attributes
420
+ .
421
+ .IP "\(bu" 4
422
+ COOKBOOK/definitions
423
+ .
424
+ .IP "\(bu" 4
425
+ COOKBOOK/files/default
426
+ .
427
+ .IP "\(bu" 4
428
+ COOKBOOK/libraries
429
+ .
430
+ .IP "\(bu" 4
431
+ COOKBOOK/metadata\.rb
432
+ .
433
+ .IP "\(bu" 4
434
+ COOKBOOK/providers
435
+ .
436
+ .IP "\(bu" 4
437
+ COOKBOOK/README\.rdoc
438
+ .
439
+ .IP "\(bu" 4
440
+ COOKBOOK/recipes/default\.rb
441
+ .
442
+ .IP "\(bu" 4
443
+ COOKBOOK/resources
444
+ .
445
+ .IP "\(bu" 4
446
+ COOKBOOK/templates/default
447
+ .
448
+ .IP "" 0
449
+ .
450
+ .P
451
+ Supported README formats are \'rdoc\' (default), \'md\', \'mkd\', \'txt\'\. The README file will be written with the specified extension and a set of helpful starting headers\.
452
+ .
453
+ .P
454
+ Specify \fB\-C\fR or \fB\-\-copyright\fR with the name of the copyright holder as your name or your company/organization name in a quoted string\. If this value is not specified an all\-caps string \fBYOUR_COMPANY_NAME\fR is used which can be easily changed with find/replace\.
455
+ .
456
+ .P
457
+ Specify \fB\-I\fR or \fB\-\-license\fR with the license that the cookbook is distributed under for sharing with other people or posting to the Opscode Cookbooks site\. Be aware of the licenses of files you put inside the cookbook and follow any restrictions they describe\. When using \fBnone\fR (default) or \fBapachev2\fR, comment header text and metadata file are pre\-filled\. The \fBnone\fR license will be treated as non\-redistributable\.
458
+ .
459
+ .P
460
+ Specify \fB\-E\fR or \fB\-\-email\fR with the email address of the cookbook\'s maintainer\. If this value is not specified, an all\-caps string \fBYOUR_EMAIL\fR is used which can easily be changed with find/replace\.
461
+ .
462
+ .P
463
+ The cookbook copyright, license and email settings can be filled in the \fBknife\.rb\fR, for example with default values:
464
+ .
465
+ .IP "" 4
466
+ .
467
+ .nf
468
+
469
+ cookbook_copyright \"YOUR_COMPANY_NAME\"
470
+ cookbook_license \"none\"
471
+ cookbook_email \"YOUR_EMAIL\"
472
+ .
473
+ .fi
474
+ .
475
+ .IP "" 0
476
+ .
477
+ .P
478
+ \fBcookbook delete COOKBOOK [VERSION]\fR\fI(options)\fR
264
479
  .
265
480
  .TP
266
481
  \fB\-a\fR, \fB\-\-all\fR
@@ -268,13 +483,13 @@ Delete all versions
268
483
  .
269
484
  .TP
270
485
  \fB\-p\fR, \fB\-\-purge\fR
271
- Purge files from backing store. This will disable any cookbook that contains any of the same files as the cookbook being purged.
486
+ Purge files from backing store\. This will disable any cookbook that contains any of the same files as the cookbook being purged\.
272
487
  .
273
488
  .P
274
- Delete the specified \fIVERSION\fR of the named \fICOOKBOOK\fR. If no version is specified, and only one version exists on the server, that version will be deleted. If multiple versions are available on the server, you will be prompted for a version to delete.
489
+ Delete the specified \fIVERSION\fR of the named \fICOOKBOOK\fR\. If no version is specified, and only one version exists on the server, that version will be deleted\. If multiple versions are available on the server, you will be prompted for a version to delete\.
275
490
  .
276
491
  .P
277
- \fBcookbook download COOKBOOK [VERSION]\fR \fI(options)\fR
492
+ \fBcookbook download COOKBOOK [VERSION]\fR\fI(options)\fR
278
493
  .
279
494
  .TP
280
495
  \fB\-d\fR, \fB\-\-dir DOWNLOAD_DIRECTORY\fR
@@ -289,20 +504,20 @@ Overwrite an existing directory with the download
289
504
  Download the latest version of the cookbook
290
505
  .
291
506
  .P
292
- Download a cookbook from the Chef Server. If no version is specified and only one version exists on the server, that version will be downloaded. If no version is specified and multiple versions are available on the server, you will be prompted for a version to download.
507
+ Download a cookbook from the Chef Server\. If no version is specified and only one version exists on the server, that version will be downloaded\. If no version is specified and multiple versions are available on the server, you will be prompted for a version to download\.
293
508
  .
294
509
  .P
295
- \fBcookbook list\fR \fI(options)\fR
510
+ \fBcookbook list\fR\fI(options)\fR
296
511
  .
297
512
  .TP
298
513
  \fB\-w\fR, \fB\-\-with\-uri\fR
299
514
  Show corresponding URIs
300
515
  .
301
516
  .P
302
- List all the cookbooks.
517
+ List all the cookbooks\.
303
518
  .
304
519
  .P
305
- \fBcookbook metadata COOKBOOK\fR \fI(options)\fR
520
+ \fBcookbook metadata COOKBOOK\fR\fI(options)\fR
306
521
  .
307
522
  .TP
308
523
  \fB\-a\fR, \fB\-\-all\fR
@@ -313,23 +528,23 @@ Generate metadata for all cookbooks, rather than just a single cookbook
313
528
  A colon\-separated path to look for cookbooks in
314
529
  .
315
530
  .P
316
- Generate cookbook metadata for the named \fICOOKBOOK\fR. The \fIPATH\fR used here specifies where the cookbooks directory is located and corresponds to the \fBcookbook_path\fR configuration option.
531
+ Generate cookbook metadata for the named \fICOOKBOOK\fR\. The \fIPATH\fR used here specifies where the cookbooks directory is located and corresponds to the \fBcookbook_path\fR configuration option\.
317
532
  .
318
533
  .P
319
- \fBcookbook metadata from FILE\fR \fI(options)\fR
534
+ \fBcookbook metadata from FILE\fR\fI(options)\fR
320
535
  .
321
536
  .P
322
- Load the cookbook metadata from a specified file.
537
+ Load the cookbook metadata from a specified file\.
323
538
  .
324
539
  .P
325
- \fBcookbook show COOKBOOK [VERSION] [PART] [FILENAME]\fR \fI(options)\fR
540
+ \fBcookbook show COOKBOOK [VERSION] [PART] [FILENAME]\fR\fI(options)\fR
326
541
  .
327
542
  .TP
328
- \fB\-f\fR, \fB\-\-fqdn FQDN \fR
543
+ \fB\-f\fR, \fB\-\-fqdn FQDN\fR
329
544
  The FQDN of the host to see the file for
330
545
  .
331
546
  .TP
332
- \fB\-p\fR, \fB\-\-platform PLATFORM \fR
547
+ \fB\-p\fR, \fB\-\-platform PLATFORM\fR
333
548
  The platform to see the file for
334
549
  .
335
550
  .TP
@@ -337,7 +552,7 @@ The platform to see the file for
337
552
  The platform version to see the file for
338
553
  .
339
554
  .P
340
- Show a particular part of a \fICOOKBOOK\fR for the specified \fIVERSION\fR. \fIPART\fR can be one of:
555
+ Show a particular part of a \fICOOKBOOK\fR for the specified \fIVERSION\fR\. \fIPART\fR can be one of:
341
556
  .
342
557
  .IP "\(bu" 4
343
558
  \fIattributes\fR
@@ -366,7 +581,7 @@ Show a particular part of a \fICOOKBOOK\fR for the specified \fIVERSION\fR. \fIP
366
581
  .IP "" 0
367
582
  .
368
583
  .P
369
- \fBcookbook test [COOKBOOKS...]\fR \fI(options)\fR
584
+ \fBcookbook test [COOKBOOKS\.\.\.]\fR\fI(options)\fR
370
585
  .
371
586
  .TP
372
587
  \fB\-a\fR, \fB\-\-all\fR
@@ -377,10 +592,10 @@ Test all cookbooks, rather than just a single cookbook
377
592
  A colon\-separated path to look for cookbooks in
378
593
  .
379
594
  .P
380
- Test the specified cookbooks for syntax errors. This uses the built\-in Ruby syntax checking option for files in the cookbook ending in \fB.rb\fR, and the ERB syntax check for files ending in \fB.erb\fR (templates).
595
+ Test the specified cookbooks for syntax errors\. This uses the built\-in Ruby syntax checking option for files in the cookbook ending in \fB\.rb\fR, and the ERB syntax check for files ending in \fB\.erb\fR (templates)\.
381
596
  .
382
597
  .P
383
- \fBcookbook upload [COOKBOOKS...]\fR \fI(options)\fR
598
+ \fBcookbook upload [COOKBOOKS\.\.\.]\fR\fI(options)\fR
384
599
  .
385
600
  .TP
386
601
  \fB\-a\fR, \fB\-\-all\fR
@@ -391,318 +606,287 @@ Upload all cookbooks, rather than just a single cookbook
391
606
  A colon\-separated path to look for cookbooks in
392
607
  .
393
608
  .P
394
- Uploads the specified cookbooks to the Chef Server. The actual upload executes a number of commands, most of which occur on the local machine. The cookbook is staged in a temporary location. Then the \fBcookbook_path\fR (or \fB\-o PATH\fR) is processed to search for the named cookbook, and each occurance is copied in the order specified. A syntax check is performed a la \fBcookbook test\fR, above. The metadata is generated, a la \fBcookbook metadata\fR. A gzip(1)'ed, tar(1) file is created, and is uploaded to the server.
609
+ Uploads the specified cookbooks to the Chef Server\. The actual upload executes a number of commands, most of which occur on the local machine\. The cookbook is staged in a temporary location\. Then the \fBcookbook_path\fR (or \fB\-o PATH\fR) is processed to search for the named cookbook, and each occurance is copied in the order specified\. A syntax check is performed a la \fBcookbook test\fR, above\. The metadata is generated, a la \fBcookbook metadata\fR\. A gzip(1)\'ed, tar(1) file is created, and is uploaded to the server\.
395
610
  .
396
611
  .SH "COOKBOOK SITE SUB\-COMMANDS"
397
- The following sub\-commands are still in the context of cookbooks, but they make use of Opscode's Cookbook Community site, \fIhttp://cookbooks.opscode.com/\fR. That site has an API, and these sub\-commands utilize that API, rather than the Chef Server API.
612
+ The following sub\-commands are still in the context of cookbooks, but they make use of Opscode\'s Cookbook Community site, \fIhttp://cookbooks\.opscode\.com/\fR\. That site has an API, and these sub\-commands utilize that API, rather than the Chef Server API\.
398
613
  .
399
614
  .P
400
- \fBcookbook site download COOKBOOK [VERSION]\fR \fI(options)\fR
615
+ \fBcookbook site download COOKBOOK [VERSION]\fR\fI(options)\fR
401
616
  .
402
617
  .TP
403
618
  \fB\-f\fR, \fB\-\-file FILE\fR
404
619
  The filename to write to
405
620
  .
406
621
  .P
407
- Downloads a specific cookbook from the Community site, optionally specifying a certain version.
622
+ Downloads a specific cookbook from the Community site, optionally specifying a certain version\.
408
623
  .
409
624
  .P
410
- \fBcookbook site list\fR \fI(options)\fR
625
+ \fBcookbook site list\fR\fI(options)\fR
411
626
  .
412
627
  .TP
413
628
  \fB\-w\fR, \fB\-\-with\-uri\fR
414
629
  Show corresponding URIs
415
630
  .
416
631
  .P
417
- Lists available cookbooks from the Community site.
632
+ Lists available cookbooks from the Community site\.
418
633
  .
419
634
  .P
420
- \fBcookbook site search QUERY\fR \fI(options)\fR
635
+ \fBcookbook site search QUERY\fR\fI(options)\fR
421
636
  .
422
637
  .P
423
- Searches the Community site with the specified query.
638
+ Searches the Community site with the specified query\.
424
639
  .
425
640
  .P
426
- \fBcookbook site show COOKBOOK [VERSION]\fR \fI(options)\fR
641
+ \fBcookbook site share COOKBOOK CATEGORY\fR\fI(options)\fR
642
+ .
643
+ .TP
644
+ \fB\-k\fR, \fB\-\-key KEY\fR
645
+ API Client Key
646
+ .
647
+ .TP
648
+ \fB\-u\fR, \fB\-\-user USER\fR
649
+ API Client Username
650
+ .
651
+ .TP
652
+ \fB\-o\fR, \fB\-\-cookbook\-path PATH:PATH\fR
653
+ A colon\-separated path to look for cookbooks in
654
+ .
655
+ .P
656
+ Uploads the specified cookbook using the given category to the Opscode cookbooks site\. Requires a login user and certificate for the Opscode Cookbooks site\. See \fBEXAMPLES\fR for usage if the Opscode user and certificate pair are not used for authenticating with the Chef Server\. In other words, if the Chef Server is not the Opscode Platform\.
657
+ .
658
+ .P
659
+ \fBcookbook site unshare COOKBOOK\fR
427
660
  .
428
661
  .P
429
- Shows information from the site about a particular cookbook.
662
+ Stops sharing the specified cookbook on the Opscode cookbooks site\.
430
663
  .
431
664
  .P
432
- \fBcookbook site vendor COOKBOOK [VERSION]\fR \fI(options)\fR
665
+ \fBcookbook site show COOKBOOK [VERSION]\fR\fI(options)\fR
666
+ .
667
+ .P
668
+ Shows information from the site about a particular cookbook\.
669
+ .
670
+ .P
671
+ \fBcookbook site vendor COOKBOOK [VERSION]\fR\fI(options)\fR
433
672
  .
434
673
  .TP
435
674
  \fB\-d\fR, \fB\-\-dependencies\fR
436
675
  Grab dependencies automatically
437
676
  .
438
677
  .P
439
- Downloads a cookbook and untars it in the cookbooks directory. If \fI\-d\fR is specified, all the cookbooks it depends on (via metadata \fIdependencies\fR) are downloaded and untarred as well.
678
+ Uses \fBgit\fR version control in conjunction with the cookbook site to download upstream cookbooks\. A new vendor branch is created in git, the cookbook downloaded from the site and untarred, then the master branch is merged\. This allows the user to track upstream changes to cookbooks while merging in customizations\. If \fI\-d\fR is specified, all the cookbooks it depends on (via metadata \fIdependencies\fR) are downloaded and untarred as well, each using their own vendor branch\.
440
679
  .
441
680
  .SH "DATA BAG SUB\-COMMANDS"
442
- Data bags are stores of JSON blobs. These blobs are called items. They are free form JSON and indexed by the Chef Server.
681
+ Data bags are stores of JSON blobs\. These blobs are called items\. They are free form JSON and indexed by the Chef Server\.
443
682
  .
444
683
  .P
445
- \fBdata bag create BAG [ITEM]\fR \fI(options)\fR
684
+ \fBdata bag create BAG [ITEM]\fR\fI(options)\fR
446
685
  .
447
686
  .P
448
- Create a new data bag, or an item in a data bag.
687
+ Create a new data bag, or an item in a data bag\.
449
688
  .
450
689
  .P
451
- \fBdata bag delete BAG [ITEM]\fR \fI(options)\fR
690
+ \fBdata bag delete BAG [ITEM]\fR\fI(options)\fR
452
691
  .
453
692
  .P
454
- Delete a data bag, or an item from a data bag.
693
+ Delete a data bag, or an item from a data bag\.
455
694
  .
456
695
  .P
457
- \fBdata bag edit BAG ITEM\fR \fI(options)\fR
696
+ \fBdata bag edit BAG ITEM\fR\fI(options)\fR
458
697
  .
459
698
  .P
460
- Edit an item in a data bag.
699
+ Edit an item in a data bag\.
461
700
  .
462
701
  .P
463
- \fBdata bag from file BAG FILE\fR \fI(options)\fR
702
+ \fBdata bag from file BAG FILE\fR\fI(options)\fR
464
703
  .
465
704
  .P
466
- Load a data bag item from a JSON file. Looks in the directory \fBdata_bags/BAG/ITEM.json\fR unless a relative path is specified.
705
+ Load a data bag item from a JSON file\. Looks in the directory \fBdata_bags/BAG/ITEM\.json\fR unless a relative path is specified\.
467
706
  .
468
707
  .P
469
- \fBdata bag list\fR \fI(options)\fR
708
+ \fBdata bag list\fR\fI(options)\fR
470
709
  .
471
710
  .TP
472
711
  \fB\-w\fR, \fB\-\-with\-uri\fR
473
712
  Show corresponding URIs
474
713
  .
475
714
  .P
476
- List the available data bags.
715
+ List the available data bags\.
477
716
  .
478
717
  .P
479
- \fBdata bag show BAG [ITEM]\fR \fI(options)\fR
718
+ \fBdata bag show BAG [ITEM]\fR\fI(options)\fR
480
719
  .
481
720
  .P
482
- Show a specific data bag or an item in a data bag.
721
+ Show a specific data bag or an item in a data bag\.
483
722
  .
484
723
  .SH "NODE SUB\-COMMANDS"
485
- Nodes are the entities which are configured with Chef. Typically these are servers or workstations. Nodes are registered as a client, by default by the fully qualified domain name (fqdn). A single client may configure more than one node.
724
+ Nodes are the entities which are configured with Chef\. Typically these are servers or workstations\. Nodes are registered as a client, by default by the fully qualified domain name (fqdn)\. A single client may configure more than one node\.
486
725
  .
487
726
  .P
488
- \fBnode bulk delete REGEX\fR \fI(options)\fR
727
+ \fBnode bulk delete REGEX\fR\fI(options)\fR
489
728
  .
490
729
  .P
491
- Delete nodes on the Chef Server based on a regular expression. The regular expression (\fIREGEX\fR) should be in quotes, not in //'s.
730
+ Delete nodes on the Chef Server based on a regular expression\. The regular expression (\fIREGEX\fR) should be in quotes, not in //\'s\.
492
731
  .
493
732
  .P
494
- \fBnode create NODE\fR \fI(options)\fR
733
+ \fBnode create NODE\fR\fI(options)\fR
495
734
  .
496
735
  .P
497
- Create a new node.
736
+ Create a new node\.
498
737
  .
499
738
  .P
500
- \fBnode delete NODE\fR \fI(options)\fR
739
+ \fBnode delete NODE\fR\fI(options)\fR
501
740
  .
502
741
  .P
503
- Delete a single node.
742
+ Delete a single node\.
504
743
  .
505
744
  .P
506
- \fBnode edit NODE\fR \fI(options)\fR
745
+ \fBnode edit NODE\fR\fI(options)\fR
507
746
  .
508
747
  .P
509
- Edit a node.
748
+ Edit a node\.
510
749
  .
511
750
  .P
512
- \fBnode from file FILE\fR \fI(options)\fR
751
+ \fBnode from file FILE\fR\fI(options)\fR
513
752
  .
514
753
  .P
515
- Create a node from a JSON file.
754
+ Create a node from a JSON file\.
516
755
  .
517
756
  .P
518
- \fBnode list\fR \fI(options)\fR
757
+ \fBnode list\fR\fI(options)\fR
519
758
  .
520
759
  .TP
521
760
  \fB\-w\fR, \fB\-\-with\-uri\fR
522
761
  Show corresponding URIs
523
762
  .
524
763
  .P
525
- List all nodes.
764
+ List all nodes\.
526
765
  .
527
766
  .P
528
- \fBnode run_list add [NODE] [ENTRY]\fR \fI(options)\fR
767
+ \fBnode run_list add [NODE] [ENTRY]\fR\fI(options)\fR
529
768
  .
530
769
  .TP
531
770
  \fB\-a\fR, \fB\-\-after ITEM\fR
532
771
  Place the ENTRY in the run list after ITEM
533
772
  .
534
773
  .P
535
- Add a recipe or role to the node's \fBrun_list\fR.
774
+ Add a recipe or role to the node\'s \fBrun_list\fR\.
536
775
  .
537
776
  .P
538
- \fBnode run_list remove [NODE] [ENTRY]\fR \fI(options)\fR
777
+ \fBnode run_list remove [NODE] [ENTRY]\fR\fI(options)\fR
539
778
  .
540
779
  .P
541
- Remove a recipe or role from the node's \fBrun_list\fR.
780
+ Remove a recipe or role from the node\'s \fBrun_list\fR\.
542
781
  .
543
782
  .P
544
- \fBnode show NODE\fR \fI(options)\fR
783
+ \fBnode show NODE\fR\fI(options)\fR
545
784
  .
546
785
  .TP
547
786
  \fB\-a\fR, \fB\-\-attribute [ATTR]\fR
548
787
  Show only one attribute
549
788
  .
550
789
  .TP
551
- \fB\-r\fR, \fB\-\-run\-list \fR
790
+ \fB\-r\fR, \fB\-\-run\-list\fR
552
791
  Show only the run list
553
792
  .
554
793
  .P
555
- Show a node.
794
+ Show a node\.
556
795
  .
557
796
  .SH "RECIPE SUB\-COMMANDS"
558
797
  \fBrecipe list [PATTERN]\fR
559
798
  .
560
799
  .P
561
- List the recipes available on the server. The results shown can be limited with the optional PATTERN, which is a regular expression. PATTERN should be given in quotes, without slashes.
800
+ List the recipes available on the server\. The results shown can be limited with the optional PATTERN, which is a regular expression\. PATTERN should be given in quotes, without slashes\.
562
801
  .
563
802
  .SH "ROLE SUB\-COMMANDS"
564
- \fBrole bulk delete REGEX\fR \fI(options)\fR
803
+ \fBrole bulk delete REGEX\fR\fI(options)\fR
565
804
  .
566
805
  .P
567
- Delete roles on the Chef Server based on a regular expression. The regular expression (\fIREGEX\fR) should be in quotes, not in //'s.
806
+ Delete roles on the Chef Server based on a regular expression\. The regular expression (\fIREGEX\fR) should be in quotes, not in //\'s\.
568
807
  .
569
808
  .P
570
- \fBrole create ROLE\fR \fI(options)\fR
809
+ \fBrole create ROLE\fR\fI(options)\fR
571
810
  .
572
811
  .TP
573
812
  \fB\-d\fR, \fB\-\-description\fR
574
813
  The role description
575
814
  .
576
815
  .P
577
- Create a new role.
816
+ Create a new role\.
578
817
  .
579
818
  .P
580
- \fBrole delete ROLE\fR \fI(options)\fR
819
+ \fBrole delete ROLE\fR\fI(options)\fR
581
820
  .
582
821
  .P
583
- Delete a role.
822
+ Delete a role\.
584
823
  .
585
824
  .P
586
- \fBrole edit ROLE\fR \fI(options)\fR
825
+ \fBrole edit ROLE\fR\fI(options)\fR
587
826
  .
588
827
  .P
589
- Edit a role.
828
+ Edit a role\.
590
829
  .
591
830
  .P
592
- \fBrole from file FILE\fR \fI(options)\fR
831
+ \fBrole from file FILE\fR\fI(options)\fR
593
832
  .
594
833
  .P
595
- Create or update a role from a role Ruby DSL (\fB.rb\fR) or JSON file.
834
+ Create or update a role from a role Ruby DSL (\fB\.rb\fR) or JSON file\.
596
835
  .
597
836
  .P
598
- \fBrole list\fR \fI(options)\fR
837
+ \fBrole list\fR\fI(options)\fR
599
838
  .
600
839
  .TP
601
840
  \fB\-w\fR, \fB\-\-with\-uri\fR
602
841
  Show corresponding URIs
603
842
  .
604
843
  .P
605
- List roles.
844
+ List roles\.
606
845
  .
607
846
  .P
608
- \fBrole show ROLE\fR \fI(options)\fR
847
+ \fBrole show ROLE\fR\fI(options)\fR
609
848
  .
610
849
  .TP
611
850
  \fB\-a\fR, \fB\-\-attribute ATTR\fR
612
851
  Show only one attribute
613
852
  .
614
853
  .P
615
- Show a specific role.
854
+ Show a specific role\.
616
855
  .
617
856
  .SH "CLOUD COMPUTING SUB\-COMMANDS"
618
- The next sections describe sub\-commands to work with various Cloud Computing APIs to launch server instances with validation and run\-time configuration that Chef knows about. These sub\-commands require the fog Ruby library. On Debian and Ubuntu systems this is the package \fBlibfog\-ruby\fR. It is also available as a RubyGem, \fBfog\fR.
619
- .
620
- .P
621
- The Rackspace and Terremark sub\-commands are early stage of development. Right now when creating instances of these types, knife will assume an Ubuntu image, install Ruby from packages, RubyGems from source and Chef as a RubyGem. As these commands are developed, other installation styles may become available, as options.
622
- .
623
- .P
624
- \fBbootstrap FQDN [RUN LIST...]\fR \fI(options)\fR
625
- .
626
- .TP
627
- \fB\-N\fR, \fB\-\-node\-name NAME\fR
628
- The Chef node name for your new node
629
- .
630
- .TP
631
- \fB\-P\fR, \fB\-\-ssh\-password PASSWORD\fR
632
- The ssh password
633
- .
634
- .TP
635
- \fB\-x\fR, \fB\-\-ssh\-user USERNAME\fR
636
- The ssh username
637
- .
638
- .TP
639
- \fB\-\-prerelease\fR
640
- Install pre\-release Chef gems
641
- .
642
- .P
643
- Performs a Chef Bootstrap on the target node. This subcommand is used internally by the various cloud computing server create commands. Currently assumes an Ubuntu base OS image and will take the following actions:
644
- .
645
- .IP "\(bu" 4
646
- Updates APT cache.
647
- .
648
- .IP "\(bu" 4
649
- Installs Ruby and packages required to build RubyGems with native extensions.
650
- .
651
- .IP "\(bu" 4
652
- Installs RubyGems 1.3.6 \fBfrom source\fR.
653
- .
654
- .IP "\(bu" 4
655
- Installs Chef and Ohai RubyGems.
656
- .
657
- .IP "\(bu" 4
658
- Writes the validation.pem per the local knife configuration.
659
- .
660
- .IP "\(bu" 4
661
- Writes a default config file for Chef.
662
- .
663
- .IP "\(bu" 4
664
- Creates a JSON attributes file containing the node's run list and runs Chef.
665
- .
666
- .IP "" 0
857
+ The next sections describe sub\-commands to work with various Cloud Computing APIs to launch server instances with validation and run\-time configuration that Chef knows about\. These sub\-commands require the fog Ruby library\. On Debian and Ubuntu systems with Opscode\'s apt repository (apt\.opscode\.com), this is the package \fBlibfog\-ruby\fR\. It is also available as a RubyGem, \fBfog\fR\.
667
858
  .
668
859
  .P
669
- When this is complete, the bootstrapped node will have:
670
- .
671
- .IP "\(bu" 4
672
- Latest Chef version installed from RubyGems.
673
- .
674
- .IP "\(bu" 4
675
- Be validated with the configured Chef Server.
676
- .
677
- .IP "\(bu" 4
678
- Have run Chef with its default run list.
679
- .
680
- .IP "" 0
860
+ The Rackspace and Terremark server creation sub\-commands are at an early stage of development\. They do not yet use the \fBbootstrap\fR sub\-command to install Chef, and make a few assumptions to be aware\. Right now when creating instances of these types, knife will assume an Ubuntu image, install Ruby from packages, RubyGems from source and Chef as a RubyGem\. As these commands are developed further, they will utilize the \fBbootstrap\fR sub\-command\.
681
861
  .
682
862
  .P
683
- Future versions of this sub\-command will support performing Chef Bootstrap on other platforms.
863
+ In order to use knife with the various \fBCLOUD COMPUTING SUB\-COMMANDS\fR, credentials need to be added to the configuration file\. See \fBCONFIGURATION\fR\.
684
864
  .
685
865
  .SH "EC2 SUB\-COMMANDS"
686
- Chef is commonly used with Amazon AWS EC2 nodes. This sub\-command will generate instance metadata that can be used to automatically configure an EC2 instance with Chef. This requires an AMI that has Chef preinstalled with a configuration file that can parse the metadata at run\-time. At this time this is the only sub\-command for EC2, but more may be added later similar to \fBRACKSPACE\fR and \fBTERREMARK\fR below.
866
+ Chef is commonly used with Amazon AWS EC2 nodes\. This sub\-command will generate instance metadata that can be used to automatically configure an EC2 instance with Chef\. This requires an AMI that has Chef preinstalled with a configuration file that can parse the metadata at run\-time\. At this time this is the only sub\-command for EC2, but more may be added later similar to \fBRACKSPACE\fR and \fBTERREMARK\fR below\.
687
867
  .
688
868
  .P
689
- \fBec2 instance data [RUN LIST...]\fR \fI(options)\fR
869
+ \fBec2 instance data [RUN LIST\.\.\.]\fR\fI(options)\fR
690
870
  .
691
871
  .TP
692
872
  \fB\-e\fR, \fB\-\-edit\fR
693
873
  Edit the instance data
694
874
  .
695
875
  .P
696
- The \fIRUN LIST\fR should be specified as a space separated list of roles or recipes that will be used by the instance to configure the server.
876
+ The \fIRUN LIST\fR should be specified as a space separated list of roles or recipes that will be used by the instance to configure the server\.
697
877
  .
698
878
  .P
699
- \fBec2 server create [RUN LIST...]\fR \fI(options)\fR
879
+ \fBec2 server create [RUN LIST\.\.\.]\fR\fI(options)\fR
700
880
  .
701
881
  .TP
702
882
  \fB\-Z\fR, \fB\-\-availability\-zone ZONE\fR
703
883
  The Availability Zone
704
884
  .
705
885
  .TP
886
+ \fB\-\-region\fR
887
+ Your AWS region
888
+ .
889
+ .TP
706
890
  \fB\-A\fR, \fB\-\-aws\-access\-key\-id KEY\fR
707
891
  Your AWS Access Key ID
708
892
  .
@@ -712,33 +896,49 @@ Your AWS API Secret Access Key
712
896
  .
713
897
  .TP
714
898
  \fB\-f\fR, \fB\-\-flavor FLAVOR\fR
715
- The flavor of server (m1.small, m1.medium, etc)
899
+ The flavor of server (m1\.small, m1\.medium, etc)
716
900
  .
717
901
  .TP
718
902
  \fB\-i\fR, \fB\-\-image IMAGE\fR
719
903
  The AMI for the server
720
904
  .
721
905
  .TP
722
- \fB\-\-prerelease\fR
723
- Install the pre\-release chef gems
906
+ \fB\-G\fR, \fB\-\-groups X,Y,Z\fR
907
+ The security groups for this server
724
908
  .
725
909
  .TP
726
- \fB\-G\fR, \fB\-\-groups X,Y,Z \fR
727
- The security groups for this server
910
+ \fB\-S\fR, \fB\-\-ssh\-key KEY\fR
911
+ The SSH root key, corresponds to an Amazon Keypair\.
728
912
  .
729
913
  .TP
730
- \fB\-S\fR, \fB\-\-ssh\-key KEY \fR
731
- The SSH root key
914
+ \fB\-I\fR, \fB\-\-identity\-file IDENTITY_FILE\fR
915
+ The SSH identity file used for authentication, passed to \fBbootstrap\fR\.
916
+ .
917
+ .TP
918
+ \fB\-P\fR, \fB\-\-ssh\-password PASSWORD\fR
919
+ The ssh password, passed to \fBbootstrap\fR\.
732
920
  .
733
921
  .TP
734
922
  \fB\-x\fR, \fB\-\-ssh\-user USERNAME\fR
735
- The ssh username
923
+ The ssh username, passed to \fBbootstrap\fR\.
924
+ .
925
+ .TP
926
+ \fB\-\-prerelease\fR
927
+ Install pre\-release Chef gems, passed to \fBbootstrap\fR\.
928
+ .
929
+ .TP
930
+ \fB\-\-template\-file TEMPLATE\fR
931
+ Full path to location of template to use, passed to \fBbootstrap\fR\.
932
+ .
933
+ .TP
934
+ \fB\-d\fR, \fB\-\-distro DISTRO\fR
935
+ Bootstrap a distro using a template, passed to \fBbootstrap\fR\.
736
936
  .
737
937
  .P
738
- Creates a new Amazon AWS EC2 instance.
938
+ Creates a new Amazon AWS EC2 instance and bootstraps it by calling the \fBbootstrap\fR sub\-command\. The \fB[RUN LIST\.\.\.]\fR items are passed to the bootstrap\'s \fBrun_list\fR config parameter/option\. See the \fBBOOTSTRAP SUB\-COMMANDS\fR section above for more information\.
739
939
  .
740
940
  .P
741
- \fBec2 server delete SERVER [SERVER]\fR \fI(options)\fR
941
+ \fBec2 server delete SERVER [SERVER]\fR\fI(options)\fR
742
942
  .
743
943
  .TP
744
944
  \fB\-A\fR, \fB\-\-aws\-access\-key\-id KEY\fR
@@ -749,10 +949,10 @@ Your AWS Access Key ID
749
949
  Your AWS API Secret Access Key
750
950
  .
751
951
  .P
752
- Terminates a running Amazon AWS EC2 instance.
952
+ Terminates a running Amazon AWS EC2 instance\.
753
953
  .
754
954
  .P
755
- \fBec2 server list [RUN LIST...]\fR \fI(options)\fR
955
+ \fBec2 server list [RUN LIST\.\.\.]\fR\fI(options)\fR
756
956
  .
757
957
  .TP
758
958
  \fB\-A\fR, \fB\-\-aws\-access\-key\-id KEY\fR
@@ -763,13 +963,13 @@ Your AWS Access Key ID
763
963
  Your AWS API Secret Access Key
764
964
  .
765
965
  .P
766
- List running Amazon AWS EC2 instances.
966
+ List running Amazon AWS EC2 instances\.
767
967
  .
768
968
  .SH "RACKSPACE SUB\-COMMANDS"
769
- In addition to EC2 nodes, Chef can be used on Rackspace Cloud nodes. The following sub\-commands allow manipulating Rackspace Cloud nodes via the \fBfog\fR library.
969
+ In addition to EC2 nodes, Chef can be used on Rackspace Cloud nodes\. The following sub\-commands allow manipulating Rackspace Cloud nodes via the \fBfog\fR library\.
770
970
  .
771
971
  .P
772
- \fBrackspace server create [RUN LIST...]\fR \fI(options)\fR
972
+ \fBrackspace server create [RUN LIST\.\.\.]\fR\fI(options)\fR
773
973
  .
774
974
  .TP
775
975
  \fB\-K\fR, \fB\-\-rackspace\-api\-key KEY\fR
@@ -780,37 +980,86 @@ Your rackspace API key
780
980
  Your rackspace API username
781
981
  .
782
982
  .TP
783
- \fB\-f\fR, \fB\-\-flavor FLAVOR \fR
983
+ \fB\-f\fR, \fB\-\-flavor FLAVOR\fR
784
984
  The flavor of server
785
985
  .
786
986
  .TP
787
- \fB\-i\fR, \fB\-\-image IMAGE \fR
987
+ \fB\-i\fR, \fB\-\-image IMAGE\fR
988
+ The image of the server
989
+ .
990
+ .TP
991
+ \fB\-N\fR, \fB\-\-server\-name NAME\fR
992
+ The server name
993
+ .
994
+ .P
995
+ Creates a new Rackspace Cloud server\.
996
+ .
997
+ .P
998
+ \fBrackspace server delete SERVER\fR\fI(options)\fR
999
+ .
1000
+ .P
1001
+ Deletes a running Rackspace Cloud server\.
1002
+ .
1003
+ .P
1004
+ \fBrackspace server list\fR\fI(options)\fR
1005
+ .
1006
+ .P
1007
+ Lists running Rackspace Cloud servers\.
1008
+ .
1009
+ .SH "SLICEHOST SUB\-COMMANDS"
1010
+ As above, Chef can also be used on Slicehost nodes\. The following sub\-commands allow manipulating Slicehost nodes via the \fBfog\fR library\.
1011
+ .
1012
+ .P
1013
+ \fBslicehost server create [RUN LIST\.\.\.]\fR\fI(options)\fR * \fB\-f\fR, \fB\-\-flavor FLAVOR\fR:
1014
+ .
1015
+ .IP "" 4
1016
+ .
1017
+ .nf
1018
+
1019
+ The flavor of server
1020
+ .
1021
+ .fi
1022
+ .
1023
+ .IP "" 0
1024
+ .
1025
+ .TP
1026
+ \fB\-i\fR, \fB\-\-image IMAGE\fR
788
1027
  The image of the server
789
1028
  .
790
1029
  .TP
791
1030
  \fB\-N\fR, \fB\-\-server\-name NAME\fR
792
1031
  The server name
793
1032
  .
1033
+ .TP
1034
+ \fB\-K\fR, \fB\-\-slicehost\-password PASSWORD\fR
1035
+ Your slicehost API password
1036
+ .
1037
+ .P
1038
+ Creates a new slicehost server\.
1039
+ .
1040
+ .P
1041
+ \fBslicehost server list\fR\fI(options)\fR
1042
+ .
794
1043
  .P
795
- Creates a new Rackspace Cloud server.
1044
+ Lists running Slicehost servers\.
796
1045
  .
797
1046
  .P
798
- \fBrackspace server delete SERVER\fR \fI(options)\fR
1047
+ \fBslicehost server delete SLICENAME\fR
799
1048
  .
800
1049
  .P
801
- Deletes a running Rackspace Cloud server.
1050
+ Deletes a running Slicehost server\.
802
1051
  .
803
1052
  .P
804
- \fBrackspace server list\fR \fI(options)\fR
1053
+ \fBslicehost images list\fR
805
1054
  .
806
1055
  .P
807
- Lists running Rackspace Cloud servers.
1056
+ Lists the available Slicehost server images to boot\.
808
1057
  .
809
1058
  .SH "TERREMARK SUB\-COMMANDS"
810
- As above, Chef can also be used on Terremark vCloud nodes. The following sub\-commands allow manipulating Terremark vCloud nodes via the \fBfog\fR library.
1059
+ As above, Chef can also be used on Terremark vCloud nodes\. The following sub\-commands allow manipulating Terremark vCloud nodes via the \fBfog\fR library\.
811
1060
  .
812
1061
  .P
813
- \fBterremark server create NAME [RUN LIST...]\fR \fI(options)\fR
1062
+ \fBterremark server create NAME [RUN LIST\.\.\.]\fR\fI(options)\fR
814
1063
  .
815
1064
  .TP
816
1065
  \fB\-K PASSWORD\fR, \fB\-\-terremark\-password\fR
@@ -825,16 +1074,16 @@ Your terremark service name
825
1074
  Your terremark username
826
1075
  .
827
1076
  .P
828
- Creates a new Terremark vCloud server.
1077
+ Creates a new Terremark vCloud server\.
829
1078
  .
830
1079
  .P
831
- \fBterremark server delete SERVER\fR \fI(options)\fR
1080
+ \fBterremark server delete SERVER\fR\fI(options)\fR
832
1081
  .
833
1082
  .P
834
- Deletes a running Terremark vCloud server.
1083
+ Deletes a running Terremark vCloud server\.
835
1084
  .
836
1085
  .P
837
- \fBterremark server list\fR \fI(options)\fR
1086
+ \fBterremark server list\fR\fI(options)\fR
838
1087
  .
839
1088
  .TP
840
1089
  \fB\-K PASSWORD\fR, \fB\-\-terremark\-password\fR
@@ -849,19 +1098,19 @@ Your terremark service name
849
1098
  Your terremark username
850
1099
  .
851
1100
  .P
852
- Lists running Terremark vCloud servers.
1101
+ Lists running Terremark vCloud servers\.
853
1102
  .
854
1103
  .SH "CONFIGURATION"
855
- The knife configuration file is a Ruby DSL to set configuration parameters for Knife's \fBGENERAL OPTIONS\fR. The default location for the config file is \fB~/.chef/knife.rb\fR. If managing multiple Chef repositories, per\-repository config files can be created. The file must be \fB.chef/knife.rb\fR in the current directory of the repository.
1104
+ The knife configuration file is a Ruby DSL to set configuration parameters for Knife\'s \fBGENERAL OPTIONS\fR\. The default location for the config file is \fB~/\.chef/knife\.rb\fR\. If managing multiple Chef repositories, per\-repository config files can be created\. The file must be \fB\.chef/knife\.rb\fR in the current directory of the repository\.
856
1105
  .
857
1106
  .P
858
- If the config file exists, knife uses these settings for \fBGENERAL OPTIONS\fR defaults.
1107
+ If the config file exists, knife uses these settings for \fBGENERAL OPTIONS\fR defaults\.
859
1108
  .
860
1109
  .P
861
1110
  \fBlog_level\fR
862
1111
  .
863
1112
  .P
864
- A Ruby symbol specifying the log level. Corresponds to \fB\-l\fR or \fB\-\-log_level\fR option. Default is \fI:info\fR. Valid values are:
1113
+ A Ruby symbol specifying the log level\. Corresponds to \fB\-l\fR or \fB\-\-log_level\fR option\. Default is \fI:info\fR\. Valid values are:
865
1114
  .
866
1115
  .IP "\(bu" 4
867
1116
  :info
@@ -881,70 +1130,210 @@ A Ruby symbol specifying the log level. Corresponds to \fB\-l\fR or \fB\-\-log_l
881
1130
  \fBlog_location\fR
882
1131
  .
883
1132
  .P
884
- Corresponds to the \fB\-L\fR or \fB\-\-log\-file\fR option. Defaults is \fBSTDOUT\fR. Valid values are \fBSTDOUT\fR or a filename.
1133
+ Corresponds to the \fB\-L\fR or \fB\-\-log\-file\fR option\. Defaults is \fBSTDOUT\fR\. Valid values are \fBSTDOUT\fR or a filename\.
885
1134
  .
886
1135
  .P
887
1136
  \fBnode_name\fR
888
1137
  .
889
1138
  .P
890
- User to authenticate to the Chef server. Corresponds to the \fB\-u\fR or \fB\-\-user\fR option. This is requested from the user when running this sub\-command.
1139
+ User to authenticate to the Chef server\. Corresponds to the \fB\-u\fR or \fB\-\-user\fR option\. This is requested from the user when running this sub\-command\.
891
1140
  .
892
1141
  .P
893
1142
  \fBclient_key\fR
894
1143
  .
895
1144
  .P
896
- Private key file to authenticate to the Chef server. Corresponds to the \fB\-k\fR or \fB\-\-key\fR option. This is requested from the user when running this sub\-command.
1145
+ Private key file to authenticate to the Chef server\. Corresponds to the \fB\-k\fR or \fB\-\-key\fR option\. This is requested from the user when running this sub\-command\.
897
1146
  .
898
1147
  .P
899
1148
  \fBchef_server_url\fR
900
1149
  .
901
1150
  .P
902
- URL of the Chef server. Corresponds to the \fB\-s\fR or \fB\-\-server\-url\fR option. This is requested from the user when running this sub\-command.
1151
+ URL of the Chef server\. Corresponds to the \fB\-s\fR or \fB\-\-server\-url\fR option\. This is requested from the user when running this sub\-command\.
903
1152
  .
904
1153
  .P
905
1154
  \fBcache_type\fR
906
1155
  .
907
1156
  .P
908
- The type of cache to use. Default is BasicFile. This can be any type of Cache that moneta supports: BasicFile, Berkeley, Couch, DataMapper, File, LMC, Memcache, Memory, MongoDB, Redis, Rufus, S3, SDBM, Tyrant, Xattr, YAML.
1157
+ The type of cache to use\. Default is BasicFile\. This can be any type of Cache that moneta supports: BasicFile, Berkeley, Couch, DataMapper, File, LMC, Memcache, Memory, MongoDB, Redis, Rufus, S3, SDBM, Tyrant, Xattr, YAML\.
909
1158
  .
910
1159
  .P
911
1160
  \fBcache_options\fR
912
1161
  .
913
1162
  .P
914
- Specifies various options to use for caching. Default reads the Chef client configuration (/etc/chef/checksums).
1163
+ Specifies various options to use for caching\. Default reads the Chef client configuration (/etc/chef/checksums)\.
915
1164
  .
916
1165
  .P
917
1166
  \fBvalidation_client_name\fR
918
1167
  .
919
1168
  .P
920
- Specifies the name of the client used to validate new clients. This is requested from the user when running the configuration sub\-command.
1169
+ Specifies the name of the client used to validate new clients\. This is requested from the user when running the configuration sub\-command\.
921
1170
  .
922
1171
  .P
923
1172
  \fBvalidation_key\fR
924
1173
  .
925
1174
  .P
926
- Specifies the private key file to use for generating ec2 instance data for validating new clients. This is implied from the \fBvalidation_client_name\fR.
1175
+ Specifies the private key file to use for generating ec2 instance data for validating new clients\. This is implied from the \fBvalidation_client_name\fR\.
1176
+ .
1177
+ .P
1178
+ \fBcookbook_copyright\fR\fBcookbook_email\fR\fBcookbook_license\fR
1179
+ .
1180
+ .P
1181
+ Used by \fBknife cookbook create\fR sub\-command to specify the copyright holder, maintainer email and license (respectively) for new cookbooks\. The copyright holder is listed as the maintainer in the cookbook\'s metadata and as the Copyright in the comments of the default recipe\. The maintainer email is used in the cookbook metadata\. The license determines what preamble to put in the comment of the default recipe, and is listed as the license in the cookbook metadata\. Currently supported licenses are \"apachev2\" and \"none\"\. Any other values will result in an empty license in the metadata (needs to be filled in by the author), and no comment preamble in the default recipe\.
1182
+ .
1183
+ .P
1184
+ \fBknife[:aws_access_key_id]\fR\fBknife[:aws_secret_access_key]\fR
1185
+ .
1186
+ .P
1187
+ Specifies the Amazon AWS EC2 credentials to use when running the ec2 sub\-commands\.
1188
+ .
1189
+ .P
1190
+ \fBknife[:rackspace_api_username]\fR\fBknife[:rackspace_api_key]\fR
1191
+ .
1192
+ .P
1193
+ Specifies the Rackspace Cloud credentials to use when running the rackspace sub\-commands\.
1194
+ .
1195
+ .P
1196
+ \fBknife[:terremark_username]\fR\fBknife[:terremark_password]\fR\fBknife[:terremark_service]\fR
1197
+ .
1198
+ .P
1199
+ Specifies the Terremark vCloud credentials to use when running the terremark sub\-commands\.
1200
+ .
1201
+ .P
1202
+ \fBknife[:slicehost_password]\fR
1203
+ .
1204
+ .P
1205
+ Specifies the Slicehost password to use when running the slicdehost sub\-commands\.
927
1206
  .
928
1207
  .SH "FILES"
929
- \fI~/.chef/knife.rb\fR
1208
+ \fI~/\.chef/knife\.rb\fR
930
1209
  .
931
1210
  .P
932
- Ruby DSL configuration file for knife. See \fBCONFIGURATION\fR.
1211
+ Ruby DSL configuration file for knife\. See \fBCONFIGURATION\fR\.
1212
+ .
1213
+ .SH "CHEF WORKFLOW"
1214
+ When working with Chef and Knife in the local repository, the recommended workflow outline looks like:
1215
+ .
1216
+ .IP "\(bu" 4
1217
+ Create repository\. A skeleton sample is provided at \fIhttp://github\.com/opscode/chef\-repo/\fR\.
1218
+ .
1219
+ .IP "\(bu" 4
1220
+ Configure knife, see \fBCONFIGURATION\fR\.
1221
+ .
1222
+ .IP "\(bu" 4
1223
+ Download cookbooks from the Opscode cookbooks site, see \fBCOOKBOOK SITE SUB\-COMMANDS\fR\.
1224
+ .
1225
+ .IP "\(bu" 4
1226
+ Or, create new cookbooks, see \fBcookbook create\fR sub\-command\.
1227
+ .
1228
+ .IP "\(bu" 4
1229
+ Commit changes to the version control system\. See your tool\'s documentation\.
1230
+ .
1231
+ .IP "\(bu" 4
1232
+ Upload cookbooks to the Chef Server, see \fBCOOKBOOK SUB\-COMMANDS\fR\.
1233
+ .
1234
+ .IP "\(bu" 4
1235
+ Launch instances in the Cloud, OR provision new hosts; see \fBCLOUD COMPUTING SUB\-COMMANDS\fR and \fBBOOTSTRAP SUB\-COMMANDS\fR\.
1236
+ .
1237
+ .IP "\(bu" 4
1238
+ Watch Chef configure systems!
1239
+ .
1240
+ .IP "" 0
1241
+ .
1242
+ .P
1243
+ A note about git: Opscode and many folks in the Chef community use git, but it is not required, except in the case of the \fBcookbook site vendor\fR sub\-command, as it uses git directly\. Version control is strongly recommended though, and git fits with a lot of the workflow paradigms\.
1244
+ .
1245
+ .SH "EXAMPLES"
1246
+ Example client config (\fB/etc/chef/client\.rb\fR) from \fBknife configure client\fR\. The same configuration is used when using the \fBknife bootstrap\fR command with the default \fBgem\fR templates that come with Chef\.
1247
+ .
1248
+ .IP "" 4
1249
+ .
1250
+ .nf
1251
+
1252
+ log_level :info
1253
+ log_location STDOUT
1254
+ chef_server_url \'https://api\.opscode\.com/organizations/ORGNAME\'
1255
+ validation_client_name \'ORGNAME\-validator\'
1256
+ .
1257
+ .fi
1258
+ .
1259
+ .IP "" 0
1260
+ .
1261
+ .P
1262
+ Setting up a custom bootstrap is fairly straightforward\. Create \fB\.chef/bootstrap\fR in your Chef Repository directory or in \fB$HOME/\.chef/bootstrap\fR\. Then create the ERB template file\.
1263
+ .
1264
+ .IP "" 4
1265
+ .
1266
+ .nf
1267
+
1268
+ mkdir ~/\.chef/bootstrap
1269
+ vi ~/\.chef/bootstrap/debian5\.0\-apt\.erb
1270
+ .
1271
+ .fi
1272
+ .
1273
+ .IP "" 0
1274
+ .
1275
+ .P
1276
+ For example, to create a new bootstrap template that should be used when setting up a new Debian node\. Edit the template to run the commands, set up the validation certificate and the client configuration file, and finally to run chef\-client on completion\. The bootstrap template can be called with:
1277
+ .
1278
+ .IP "" 4
1279
+ .
1280
+ .nf
1281
+
1282
+ knife bootstrap mynode\.example\.com \-\-template\-file ~/\.chef/bootstrap/debian5\.0\-apt\.erb
1283
+ .
1284
+ .fi
1285
+ .
1286
+ .IP "" 0
1287
+ .
1288
+ .P
1289
+ Or,
1290
+ .
1291
+ .IP "" 4
1292
+ .
1293
+ .nf
1294
+
1295
+ knife bootstrap mynode\.example\.com \-\-distro debian5\.0\-apt
1296
+ .
1297
+ .fi
1298
+ .
1299
+ .IP "" 0
1300
+ .
1301
+ .P
1302
+ The \fB\-\-distro\fR parameter will automatically look in the \fB~/\.chef/bootstrap\fR directory for a file named \fBdebian5\.0\-apt\.erb\fR\.
1303
+ .
1304
+ .P
1305
+ Templates provided by the Chef installation are located in \fBBASEDIR/lib/chef/knife/bootstrap/*\.erb\fR, where \fIBASEDIR\fR is the location where the package or Gem installed the Chef client libraries\.
1306
+ .
1307
+ .P
1308
+ Uploading cookbooks to the Opscode cookbooks site using the user/certificate specifically:
1309
+ .
1310
+ .IP "" 4
1311
+ .
1312
+ .nf
1313
+
1314
+ knife cookbook site share example Other \-k ~/\.chef/USERNAME\.pem \-u USERNAME
1315
+ .
1316
+ .fi
1317
+ .
1318
+ .IP "" 0
933
1319
  .
934
1320
  .SH "SEE ALSO"
935
- Full documentation for Chef is located on the Chef wiki, http://wiki.opscode.com/display/chef/Home/.
1321
+ Full documentation for Chef is located on the Chef wiki, http://wiki\.opscode\.com/display/chef/Home/\.
1322
+ .
1323
+ .P
1324
+ JSON is JavaScript Object Notation and more information can be found at http://json\.org/\.
936
1325
  .
937
1326
  .P
938
- JSON is JavaScript Object Notation and more information can be found at http://json.org/.
1327
+ SOLR is an open source search engine\. The Chef Server includes a SOLR installation\. More information about SOLR, including the search query syntax, can be found at http://lucene\.apache\.org/solr/\.
939
1328
  .
940
1329
  .P
941
- SOLR is an open source search engine. The Chef Server includes a SOLR installation. More information about SOLR, including the search query syntax, can be found at http://lucene.apache.org/solr/.
1330
+ Git is a version control system and documented at http://git\-scm\.com/\.
942
1331
  .
943
1332
  .P
944
- This manual page was generated in nroff from Markdown with ronn. Ryan Tomayko wrote ronn and more information can be found at http://rtomayko.github.com/ronn/ronn.5.html.
1333
+ This manual page was generated in nroff from Markdown with ronn\. Ryan Tomayko wrote ronn and more information can be found at http://rtomayko\.github\.com/ronn/ronn\.5\.html\.
945
1334
  .
946
1335
  .SH "AUTHOR"
947
- Chef was written by Adam Jacob \fIadam@opscode.com\fR of Opscode (http://www.opscode.com), with contributions from the community. This manual page was written by Joshua Timberman \fIjoshua@opscode.com\fR. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
1336
+ Chef was written by Adam Jacob \fIadam@opscode\.com\fR of Opscode (http://www\.opscode\.com), with contributions from the community\. This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
948
1337
  .
949
1338
  .P
950
- On Debian systems, the complete text of the Apache 2.0 License can be found in \fB/usr/share/common\-licenses/Apache\-2.0\fR.
1339
+ On Debian systems, the complete text of the Apache 2\.0 License can be found in \fB/usr/share/common\-licenses/Apache\-2\.0\fR\.