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 +5 -18
- data/distro/common/man/man8/knife.8 +632 -243
- data/distro/common/markdown/knife.mkd +251 -44
- data/lib/chef/application/knife.rb +4 -0
- data/lib/chef/data_bag.rb +4 -4
- data/lib/chef/data_bag_item.rb +9 -1
- data/lib/chef/knife.rb +15 -6
- data/lib/chef/knife/bootstrap.rb +1 -7
- data/lib/chef/knife/bootstrap/ubuntu10.04-apt.erb +32 -0
- data/lib/chef/knife/cookbook_create.rb +83 -33
- data/lib/chef/knife/ec2_server_create.rb +25 -3
- data/lib/chef/mixin/language.rb +9 -1
- data/lib/chef/provider/file.rb +1 -0
- data/lib/chef/provider/package/zypper.rb +2 -2
- data/lib/chef/resource/remote_file.rb +1 -1
- data/lib/chef/shef.rb +146 -47
- data/lib/chef/shef/ext.rb +436 -181
- data/lib/chef/shef/model_wrapper.rb +120 -0
- data/lib/chef/shef/shef_rest.rb +28 -0
- data/lib/chef/shef/shef_session.rb +91 -4
- data/lib/chef/version.rb +1 -1
- metadata +6 -3
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
|
-
|
22
|
-
require "rubygems"
|
23
|
-
|
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
|
-
|
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.
|
1
|
+
.\" generated with Ronn/v0.6.0
|
2
2
|
.\" http://github.com/rtomayko/ronn/
|
3
3
|
.
|
4
|
-
.TH "KNIFE" "8" "
|
4
|
+
.TH "KNIFE" "8" "July 2010" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
|
-
\fBknife\fR
|
7
|
+
\fBknife\fR \- Chef Server REST API utility
|
8
8
|
.
|
9
9
|
.SH "SYNOPSIS"
|
10
|
-
\fBknife\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
|
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\-
|
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
|
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
|
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
|
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
|
-
\
|
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
|
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
|
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
|
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
|
168
|
+
\fBssh QUERY COMMAND\fR\fI(options)\fR
|
157
169
|
.
|
158
170
|
.TP
|
159
|
-
\fB\-a\fR, \fB\-\-attribute ATTR
|
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
|
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
|
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
|
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
|
-
|
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
|
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
|
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
|
321
|
+
\fBclient create CLIENT\fR\fI(options)\fR
|
192
322
|
.
|
193
323
|
.TP
|
194
|
-
\fB\-a\fR, \fB\-\-admin
|
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
|
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
|
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
|
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
|
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
|
350
|
+
\fBclient list\fR\fI(options)\fR
|
221
351
|
.
|
222
352
|
.TP
|
223
353
|
\fB\-w\fR, \fB\-\-with\-uri\fR
|
224
|
-
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
540
|
+
\fBcookbook show COOKBOOK [VERSION] [PART] [FILENAME]\fR\fI(options)\fR
|
326
541
|
.
|
327
542
|
.TP
|
328
|
-
\fB\-f\fR, \fB\-\-fqdn FQDN
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
-
|
662
|
+
Stops sharing the specified cookbook on the Opscode cookbooks site\.
|
430
663
|
.
|
431
664
|
.P
|
432
|
-
\fBcookbook site
|
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
|
-
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
-
|
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
|
-
|
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
|
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
|
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
|
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
|
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\-\-
|
723
|
-
|
906
|
+
\fB\-G\fR, \fB\-\-groups X,Y,Z\fR
|
907
|
+
The security groups for this server
|
724
908
|
.
|
725
909
|
.TP
|
726
|
-
\fB\-
|
727
|
-
The
|
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\-
|
731
|
-
The SSH
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
-
|
1044
|
+
Lists running Slicehost servers\.
|
796
1045
|
.
|
797
1046
|
.P
|
798
|
-
\
|
1047
|
+
\fBslicehost server delete SLICENAME\fR
|
799
1048
|
.
|
800
1049
|
.P
|
801
|
-
Deletes a running
|
1050
|
+
Deletes a running Slicehost server\.
|
802
1051
|
.
|
803
1052
|
.P
|
804
|
-
\
|
1053
|
+
\fBslicehost images list\fR
|
805
1054
|
.
|
806
1055
|
.P
|
807
|
-
Lists
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
1208
|
+
\fI~/\.chef/knife\.rb\fR
|
930
1209
|
.
|
931
1210
|
.P
|
932
|
-
Ruby DSL configuration file for knife
|
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
|
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
|
-
|
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
|
-
|
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
|
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
|
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
|
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\.
|