chef 0.10.0.beta.7 → 0.10.0.beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. data/distro/common/html/knife-bootstrap.1.html +182 -0
  2. data/distro/common/html/knife-client.1.html +216 -0
  3. data/distro/common/html/knife-configure.1.html +170 -0
  4. data/distro/common/html/knife-cookbook-site.1.html +166 -0
  5. data/distro/common/html/knife-cookbook.1.html +233 -0
  6. data/distro/common/html/knife-data-bag.1.html +234 -0
  7. data/distro/common/html/knife-environment.1.html +93 -0
  8. data/distro/common/html/knife-exec.1.html +93 -0
  9. data/distro/common/html/knife-index.1.html +125 -0
  10. data/distro/common/html/knife-node.1.html +268 -0
  11. data/distro/common/html/knife-recipe.1.html +92 -0
  12. data/distro/common/html/knife-role.1.html +136 -0
  13. data/distro/common/html/knife-search.1.html +102 -0
  14. data/distro/common/html/knife-ssh.1.html +101 -0
  15. data/distro/common/html/knife-status.1.html +97 -0
  16. data/distro/common/html/knife-tag.1.html +93 -0
  17. data/distro/common/html/knife.1.html +362 -0
  18. data/distro/common/man/man1/knife-bootstrap.1 +137 -0
  19. data/distro/common/man/man1/knife-client.1 +98 -0
  20. data/distro/common/man/man1/knife-configure.1 +88 -0
  21. data/distro/common/man/man1/knife-cookbook-site.1 +91 -0
  22. data/distro/common/man/man1/knife-cookbook.1 +242 -0
  23. data/distro/common/man/man1/knife-data-bag.1 +130 -0
  24. data/distro/common/man/man1/knife-environment.1 +13 -0
  25. data/distro/common/man/man1/knife-exec.1 +13 -0
  26. data/distro/common/man/man1/knife-index.1 +29 -0
  27. data/distro/common/man/man1/knife-node.1 +153 -0
  28. data/distro/common/man/man1/knife-recipe.1 +13 -0
  29. data/distro/common/man/man1/knife-role.1 +64 -0
  30. data/distro/common/man/man1/knife-search.1 +37 -0
  31. data/distro/common/man/man1/knife-ssh.1 +33 -0
  32. data/distro/common/man/man1/knife-status.1 +17 -0
  33. data/distro/common/man/man1/knife-tag.1 +13 -0
  34. data/distro/common/man/man1/knife.1 +346 -0
  35. data/distro/common/man/{man8/shef.8 → man1/shef.1} +0 -0
  36. data/distro/common/man/{man1/chef-server-webui.1 → man8/chef-server-webui.8} +0 -0
  37. data/distro/common/man/{man1/chef-server.1 → man8/chef-server.8} +0 -0
  38. data/distro/common/man/{man1/chef-solr.1 → man8/chef-solr.8} +0 -0
  39. data/distro/common/markdown/man1/knife-bootstrap.mkd +88 -0
  40. data/distro/common/markdown/man1/knife-client.mkd +101 -0
  41. data/distro/common/markdown/man1/knife-configure.mkd +70 -0
  42. data/distro/common/markdown/man1/knife-cookbook-site.mkd +69 -0
  43. data/distro/common/markdown/man1/knife-cookbook.mkd +136 -0
  44. data/distro/common/markdown/man1/knife-data-bag.mkd +117 -0
  45. data/distro/common/markdown/man1/knife-environment.mkd +8 -0
  46. data/distro/common/markdown/man1/knife-exec.mkd +9 -0
  47. data/distro/common/markdown/man1/knife-index.mkd +30 -0
  48. data/distro/common/markdown/man1/knife-node.mkd +147 -0
  49. data/distro/common/markdown/man1/knife-recipe.mkd +24 -0
  50. data/distro/common/markdown/man1/knife-role.mkd +79 -0
  51. data/distro/common/markdown/man1/knife-search.mkd +56 -0
  52. data/distro/common/markdown/man1/knife-ssh.mkd +64 -0
  53. data/distro/common/markdown/man1/knife-status.mkd +38 -0
  54. data/distro/common/markdown/man1/knife-tag.mkd +8 -0
  55. data/distro/common/markdown/man1/knife.mkd +261 -0
  56. data/lib/chef/cookbook/metadata.rb +76 -40
  57. data/lib/chef/cookbook_version.rb +86 -2
  58. data/lib/chef/cookbook_version_selector.rb +7 -2
  59. data/lib/chef/environment.rb +41 -0
  60. data/lib/chef/knife/configure.rb +4 -0
  61. data/lib/chef/knife/cookbook_upload.rb +4 -1
  62. data/lib/chef/knife/help.rb +98 -0
  63. data/lib/chef/rest.rb +1 -0
  64. data/lib/chef/version.rb +1 -1
  65. metadata +58 -11
  66. data/distro/common/man/man1/chef-indexer.1 +0 -42
  67. data/distro/common/man/man1/chef-solr-indexer.1 +0 -55
  68. data/distro/common/man/man8/chef-solr-rebuild.8 +0 -37
  69. data/distro/common/man/man8/knife.8 +0 -1349
  70. data/distro/common/markdown/knife.mkd +0 -865
@@ -0,0 +1,33 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "KNIFE\-SSH" "1" "April 2011" "Chef 0.10.0.beta.8" "Chef Manual"
5
+ .
6
+ .SH "NAME"
7
+ \fBknife\-ssh\fR \- Run a command or interactive session on multiple remote hosts
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBknife\fR \fBssh QUERY COMMAND\fR \fI(options)\fR
11
+ .
12
+ .TP
13
+ \fB\-a\fR, \fB\-\-attribute ATTR\fR
14
+ The attribute to use for opening the connection \- default is fqdn
15
+ .
16
+ .TP
17
+ \fB\-C\fR, \fB\-\-concurrency NUM\fR
18
+ The number of concurrent connections
19
+ .
20
+ .TP
21
+ \fB\-m\fR, \fB\-\-manual\-list\fR
22
+ QUERY is a space separated list of servers
23
+ .
24
+ .TP
25
+ \fB\-P\fR, \fB\-\-ssh\-password PASSWORD\fR
26
+ The ssh password
27
+ .
28
+ .TP
29
+ \fB\-x\fR, \fB\-\-ssh\-user USERNAME\fR
30
+ The ssh username
31
+ .
32
+ .P
33
+ 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)\.
@@ -0,0 +1,17 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "KNIFE\-STATUS" "1" "April 2011" "Chef 0.10.0.beta.8" "Chef Manual"
5
+ .
6
+ .SH "NAME"
7
+ \fBknife\-status\fR \- Display status information for the nodes in your infrastructure
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBknife\fR \fBstatus\fR \fI(options)\fR
11
+ .
12
+ .TP
13
+ \fB\-r\fR, \fB\-\-run\-list RUN_LIST\fR
14
+ Show the run list
15
+ .
16
+ .P
17
+ The \fIstatus\fR sub\-command searches the Chef Server for all nodes and displays information about the last time the node checked into the server and executed a \fBnode\.save\fR\. The fields displayed are the relative checkin time, the node name, it\'s operating system platform and version, the fully\-qualified domain name and the default IP address\. If the \fB\-r\fR option is given, the node\'s run list will also be displayed\. Note that depending on the configuration of the nodes, the FQDN and IP displayed may not be publicly reachable\.
@@ -0,0 +1,13 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "KNIFE\-TAG" "1" "April 2011" "Chef 0.10.0.beta.8" "Chef Manual"
5
+ .
6
+ .SH "NAME"
7
+ \fBknife\-tag\fR \- Apply tags to nodes on a Chef Server
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBknife\fR \fBtag\fR \fIsubcommand\fR \fI(options)\fR
11
+ .
12
+ .SH "TAG SUBCOMMANDS"
13
+
@@ -0,0 +1,346 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "KNIFE" "1" "April 2011" "Chef 0.10.0.beta.8" "Chef Manual"
5
+ .
6
+ .SH "NAME"
7
+ \fBknife\fR \- Chef Server REST API utility
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBknife\fR \fIsub\-command\fR \fI(options)\fR
11
+ .
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\.
14
+ .
15
+ .P
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\.
20
+ .
21
+ .SH "GENERAL OPTIONS"
22
+ .
23
+ .TP
24
+ \fB\-s\fR, \fB\-\-server\-url\fR URL
25
+ Chef Server URL, corresponds to \fBChef::Config\fR \fBchef_server_url\fR\.
26
+ .
27
+ .TP
28
+ \fB\-k\fR, \fB\-\-key\fR KEY
29
+ API Client Key, corresponds to \fBChef::Config\fR \fBclient_key\fR\.
30
+ .
31
+ .TP
32
+ \fB\-c\fR, \fB\-\-config\fR CONFIG
33
+ The configuration file to use
34
+ .
35
+ .TP
36
+ \fB\-e\fR, \fB\-\-editor\fR EDITOR
37
+ Set the editor to use for interactive commands
38
+ .
39
+ .TP
40
+ \fB\-F\fR, \fB\-\-format\fR FORMAT
41
+ Which format to use for output
42
+ .
43
+ .TP
44
+ \fB\-l\fR, \fB\-\-log_level\fR LEVEL
45
+ Set the log level (debug, info, warn, error, fatal), corresponds to \fBChef::Config\fR \fBlog_level\fR\.
46
+ .
47
+ .TP
48
+ \fB\-L\fR, \fB\-\-logfile\fR LOGLOCATION
49
+ Set the log file location, defaults to STDOUT, corresponds to \fBChef::Config\fR \fBlog_location\fR\.
50
+ .
51
+ .TP
52
+ \fB\-n\fR, \fB\-\-no\-editor\fR
53
+ Do not open EDITOR, just accept the data as is
54
+ .
55
+ .TP
56
+ \fB\-u\fR, \fB\-\-user\fR USER
57
+ API Client Username, corresponds to \fBChef::Config\fR \fBnode_name\fR\.
58
+ .
59
+ .TP
60
+ \fB\-p\fR, \fB\-\-print\-after\fR
61
+ Show the data after a destructive operation
62
+ .
63
+ .TP
64
+ \fB\-v\fR, \fB\-\-version\fR
65
+ Show chef version
66
+ .
67
+ .TP
68
+ \fB\-y\fR, \fB\-\-yes\fR
69
+ Say yes to all prompts for confirmation
70
+ .
71
+ .TP
72
+ \fB\-h\fR, \fB\-\-help\fR
73
+ Show this message
74
+ .
75
+ .P
76
+ Usage information for sub\-commands can be displayed with \fBknife SUB\-COMMAND \-\-help\fR\.
77
+ .
78
+ .SH "SUB\-COMMANDS"
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\.
80
+ .
81
+ .IP "\(bu" 4
82
+ create (create)
83
+ .
84
+ .IP "\(bu" 4
85
+ list and show (read)
86
+ .
87
+ .IP "\(bu" 4
88
+ edit (update)
89
+ .
90
+ .IP "\(bu" 4
91
+ delete (destroy)
92
+ .
93
+ .IP "" 0
94
+ .
95
+ .P
96
+ Objects stored on the server support these, as described below\.
97
+ .
98
+ .SH "GENERAL SUB\-COMMANDS"
99
+ \fBrecipe list [PATTERN]\fR
100
+ .
101
+ .P
102
+ List available recipes from the server\. Specify \fIPATTERN\fR as a regular expression to limit the results\.
103
+ .
104
+ .SH "CONFIGURATION"
105
+ 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\.
106
+ .
107
+ .P
108
+ If the config file exists, knife uses these settings for \fBGENERAL OPTIONS\fR defaults\.
109
+ .
110
+ .P
111
+ \fBlog_level\fR
112
+ .
113
+ .P
114
+ 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:
115
+ .
116
+ .IP "\(bu" 4
117
+ :info
118
+ .
119
+ .IP "\(bu" 4
120
+ :debug
121
+ .
122
+ .IP "\(bu" 4
123
+ :warn
124
+ .
125
+ .IP "\(bu" 4
126
+ :fatal
127
+ .
128
+ .IP "" 0
129
+ .
130
+ .P
131
+ \fBlog_location\fR
132
+ .
133
+ .P
134
+ Corresponds to the \fB\-L\fR or \fB\-\-log\-file\fR option\. Defaults is \fBSTDOUT\fR\. Valid values are \fBSTDOUT\fR or a filename\.
135
+ .
136
+ .P
137
+ \fBnode_name\fR
138
+ .
139
+ .P
140
+ 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\.
141
+ .
142
+ .P
143
+ \fBclient_key\fR
144
+ .
145
+ .P
146
+ 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\.
147
+ .
148
+ .P
149
+ \fBchef_server_url\fR
150
+ .
151
+ .P
152
+ 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\.
153
+ .
154
+ .P
155
+ \fBcache_type\fR
156
+ .
157
+ .P
158
+ 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\.
159
+ .
160
+ .P
161
+ \fBcache_options\fR
162
+ .
163
+ .P
164
+ Specifies various options to use for caching\. Default reads the Chef client configuration (/etc/chef/checksums)\.
165
+ .
166
+ .P
167
+ \fBvalidation_client_name\fR
168
+ .
169
+ .P
170
+ Specifies the name of the client used to validate new clients\. This is requested from the user when running the configuration sub\-command\.
171
+ .
172
+ .P
173
+ \fBvalidation_key\fR
174
+ .
175
+ .P
176
+ 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\.
177
+ .
178
+ .P
179
+ \fBcookbook_copyright\fR \fBcookbook_email\fR \fBcookbook_license\fR
180
+ .
181
+ .P
182
+ 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\.
183
+ .
184
+ .P
185
+ \fBknife[:aws_access_key_id]\fR \fBknife[:aws_secret_access_key]\fR
186
+ .
187
+ .P
188
+ Specifies the Amazon AWS EC2 credentials to use when running the ec2 sub\-commands\.
189
+ .
190
+ .P
191
+ \fBknife[:rackspace_api_username]\fR \fBknife[:rackspace_api_key]\fR
192
+ .
193
+ .P
194
+ Specifies the Rackspace Cloud credentials to use when running the rackspace sub\-commands\.
195
+ .
196
+ .P
197
+ \fBknife[:terremark_username]\fR \fBknife[:terremark_password]\fR \fBknife[:terremark_service]\fR
198
+ .
199
+ .P
200
+ Specifies the Terremark vCloud credentials to use when running the terremark sub\-commands\.
201
+ .
202
+ .P
203
+ \fBknife[:slicehost_password]\fR
204
+ .
205
+ .P
206
+ Specifies the Slicehost password to use when running the slicdehost sub\-commands\.
207
+ .
208
+ .SH "FILES"
209
+ \fI~/\.chef/knife\.rb\fR
210
+ .
211
+ .P
212
+ Ruby DSL configuration file for knife\. See \fBCONFIGURATION\fR\.
213
+ .
214
+ .SH "CHEF WORKFLOW"
215
+ When working with Chef and Knife in the local repository, the recommended workflow outline looks like:
216
+ .
217
+ .IP "\(bu" 4
218
+ Create repository\. A skeleton sample is provided at \fIhttp://github\.com/opscode/chef\-repo/\fR\.
219
+ .
220
+ .IP "\(bu" 4
221
+ Configure knife, see \fBCONFIGURATION\fR\.
222
+ .
223
+ .IP "\(bu" 4
224
+ Download cookbooks from the Opscode cookbooks site, see \fBCOOKBOOK SITE SUB\-COMMANDS\fR\.
225
+ .
226
+ .IP "\(bu" 4
227
+ Or, create new cookbooks, see \fBcookbook create\fR sub\-command\.
228
+ .
229
+ .IP "\(bu" 4
230
+ Commit changes to the version control system\. See your tool\'s documentation\.
231
+ .
232
+ .IP "\(bu" 4
233
+ Upload cookbooks to the Chef Server, see \fBCOOKBOOK SUB\-COMMANDS\fR\.
234
+ .
235
+ .IP "\(bu" 4
236
+ Launch instances in the Cloud, OR provision new hosts; see \fBCLOUD COMPUTING SUB\-COMMANDS\fR and \fBBOOTSTRAP SUB\-COMMANDS\fR\.
237
+ .
238
+ .IP "\(bu" 4
239
+ Watch Chef configure systems!
240
+ .
241
+ .IP "" 0
242
+ .
243
+ .P
244
+ 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\.
245
+ .
246
+ .SH "EXAMPLES"
247
+ 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\.
248
+ .
249
+ .IP "" 4
250
+ .
251
+ .nf
252
+
253
+ log_level :info
254
+ log_location STDOUT
255
+ chef_server_url \'https://api\.opscode\.com/organizations/ORGNAME\'
256
+ validation_client_name \'ORGNAME\-validator\'
257
+ .
258
+ .fi
259
+ .
260
+ .IP "" 0
261
+ .
262
+ .P
263
+ 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\.
264
+ .
265
+ .IP "" 4
266
+ .
267
+ .nf
268
+
269
+ mkdir ~/\.chef/bootstrap
270
+ vi ~/\.chef/bootstrap/debian5\.0\-apt\.erb
271
+ .
272
+ .fi
273
+ .
274
+ .IP "" 0
275
+ .
276
+ .P
277
+ 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:
278
+ .
279
+ .IP "" 4
280
+ .
281
+ .nf
282
+
283
+ knife bootstrap mynode\.example\.com \-\-template\-file ~/\.chef/bootstrap/debian5\.0\-apt\.erb
284
+ .
285
+ .fi
286
+ .
287
+ .IP "" 0
288
+ .
289
+ .P
290
+ Or,
291
+ .
292
+ .IP "" 4
293
+ .
294
+ .nf
295
+
296
+ knife bootstrap mynode\.example\.com \-\-distro debian5\.0\-apt
297
+ .
298
+ .fi
299
+ .
300
+ .IP "" 0
301
+ .
302
+ .P
303
+ The \fB\-\-distro\fR parameter will automatically look in the \fB~/\.chef/bootstrap\fR directory for a file named \fBdebian5\.0\-apt\.erb\fR\.
304
+ .
305
+ .P
306
+ 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\.
307
+ .
308
+ .P
309
+ Uploading cookbooks to the Opscode cookbooks site using the user/certificate specifically:
310
+ .
311
+ .IP "" 4
312
+ .
313
+ .nf
314
+
315
+ knife cookbook site share example Other \-k ~/\.chef/USERNAME\.pem \-u USERNAME
316
+ .
317
+ .fi
318
+ .
319
+ .IP "" 0
320
+ .
321
+ .SH "ENVIRONMENT"
322
+ .
323
+ .TP
324
+ \fBEDITOR\fR
325
+ The text editor to use for editing data\. The \-\-editor option takes precedence over this value, and the \-\-no\-editor option supresses data editing entirely\.
326
+ .
327
+ .SH "SEE ALSO"
328
+ Full documentation for Chef is located on the Chef wiki, http://wiki\.opscode\.com/display/chef/Home/\.
329
+ .
330
+ .P
331
+ JSON is JavaScript Object Notation and more information can be found at http://json\.org/\.
332
+ .
333
+ .P
334
+ 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/\.
335
+ .
336
+ .P
337
+ Git is a version control system and documented at http://git\-scm\.com/\.
338
+ .
339
+ .P
340
+ 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\.
341
+ .
342
+ .SH "AUTHOR"
343
+ Chef was written by Adam Jacob \fIadam@opscode\.com\fR of Opscode (\fIhttp://www\.opscode\.com\fR), 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\.
344
+ .
345
+ .P
346
+ 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\.
@@ -0,0 +1,88 @@
1
+ knife-bootrap(1) -- Install Chef Client on a remote host
2
+ ========================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ __knife__ __bootstrap__ _(options)_
7
+
8
+ * `-i`, `--identity-file IDENTITY_FILE`:
9
+ The SSH identity file used for authentication
10
+ * `-N`, `--node-name NAME`:
11
+ The Chef node name for your new node
12
+ * `-P`, `--ssh-password PASSWORD`:
13
+ The ssh password
14
+ * `-x`, `--ssh-user USERNAME`:
15
+ The ssh username
16
+ * `--prerelease`:
17
+ Install pre-release Chef gems
18
+ * `-r`, `--run-list RUN_LIST`:
19
+ Comma separated list of roles/recipes to apply
20
+ * `-P`, `--ssh-password PASSWORD`:
21
+ The ssh password
22
+ * `-x`, `--ssh-user USERNAME`:
23
+ The ssh username
24
+ * `--template-file TEMPLATE`:
25
+ Full path to location of template to use
26
+ * `--sudo`:
27
+ Execute the bootstrap via sudo
28
+ * `-d`, `--distro DISTRO`:
29
+ Bootstrap a distro using a template
30
+
31
+ Performs a Chef Bootstrap on the target node. The goal of the bootstrap
32
+ is to get Chef installed on the target system so it can run Chef Client
33
+ with a Chef Server. The main assumption is a baseline OS installation
34
+ exists. This sub-command is used internally by some cloud computing
35
+ server create commands and the others will be migrated in a future
36
+ version of Chef.
37
+
38
+ The bootstrap sub-command supports supplying a template to perform the
39
+ bootstrap steps. If the distro is not specified (via `-d` or `--distro`
40
+ option), an Ubuntu 10.04 host bootstrapped with RubyGems is assumed. The
41
+ __DISTRO__ value corresponds to the base filename of the template, in
42
+ other words `DISTRO`.erb. A template file can be specified with the
43
+ `--template-file` option in which case the __DISTRO__ is not used. The
44
+ sub-command looks in the following locations for the template to use:
45
+
46
+ * `bootstrap` directory in the installed Chef Knife library.
47
+ * `bootstrap` directory in the `$PWD/.chef`.
48
+ * `bootstrap` directory in the users `$HOME/.chef`.
49
+
50
+ 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:
51
+
52
+ * centos5-gems
53
+ * fedora13-gems
54
+ * ubuntu10.04-gems
55
+ * ubuntu10.04-apt
56
+
57
+ 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.
58
+
59
+ In addition to handling the software installation, these bootstrap templates do the following:
60
+
61
+ - Write the validation.pem per the local knife configuration.
62
+ - Write a default config file for Chef (`/etc/chef/client.rb`) using values from the `knife.rb`.
63
+ - Create a JSON attributes file containing the specified run list and run Chef.
64
+
65
+ In the case of the RubyGems, the `client.rb` will be written from scratch with a minimal set of values; see __EXAMPLES__. In the case of APT Package installation, `client.rb` will have the `validation_client_name` appended if it is not set to `chef-validator` (default config value), and the `node_name` will be added if `chef_node_name` option is specified.
66
+
67
+ When this is complete, the bootstrapped node will have:
68
+
69
+ - Latest Chef version installed from RubyGems or APT Packages from Opscode. This may be a later version than the local system.
70
+ - Be validated with the configured Chef Server.
71
+ - Have run Chef with its default run list if one is specfied.
72
+
73
+ Additional custom bootstrap templates can be created and stored in `.chef/bootstrap/DISTRO.erb`, replacing __DISTRO__ with the value passed with the `-d` or `--distro` option. See __EXAMPLES__ for more information.
74
+
75
+
76
+ ## SEE ALSO
77
+ __knife-ssh__(1)
78
+
79
+ ## AUTHOR
80
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
81
+
82
+ ## DOCUMENTATION
83
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
84
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
85
+
86
+
87
+ ## CHEF
88
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>