chef 0.10.4.rc.4 → 0.10.4.rc.5
Sign up to get free protection for your applications and to get access to all the features.
- data/distro/common/html/chef-client.8.html +4 -4
- data/distro/common/html/chef-expander.8.html +4 -4
- data/distro/common/html/chef-expanderctl.8.html +4 -4
- data/distro/common/html/chef-server-webui.8.html +4 -4
- data/distro/common/html/chef-server.8.html +4 -4
- data/distro/common/html/chef-solo.8.html +4 -4
- data/distro/common/html/chef-solr.8.html +4 -4
- data/distro/common/html/knife-bootstrap.1.html +4 -4
- data/distro/common/html/knife-client.1.html +4 -4
- data/distro/common/html/knife-configure.1.html +4 -4
- data/distro/common/html/knife-cookbook-site.1.html +6 -6
- data/distro/common/html/knife-cookbook.1.html +11 -4
- data/distro/common/html/knife-data-bag.1.html +4 -4
- data/distro/common/html/knife-environment.1.html +4 -4
- data/distro/common/html/knife-exec.1.html +4 -4
- data/distro/common/html/knife-index.1.html +4 -4
- data/distro/common/html/knife-node.1.html +7 -6
- data/distro/common/html/knife-role.1.html +4 -4
- data/distro/common/html/knife-search.1.html +177 -24
- data/distro/common/html/knife-ssh.1.html +5 -4
- data/distro/common/html/knife-status.1.html +4 -4
- data/distro/common/html/knife-tag.1.html +4 -4
- data/distro/common/html/knife.1.html +4 -4
- data/distro/common/html/shef.1.html +4 -4
- data/distro/common/man/man1/knife-bootstrap.1 +189 -0
- data/distro/common/man/man1/knife-client.1 +99 -0
- data/distro/common/man/man1/knife-configure.1 +88 -0
- data/distro/common/man/man1/knife-cookbook-site.1 +137 -0
- data/distro/common/man/man1/knife-cookbook.1 +340 -0
- data/distro/common/man/man1/knife-data-bag.1 +130 -0
- data/distro/common/man/man1/knife-environment.1 +178 -0
- data/distro/common/man/man1/knife-exec.1 +46 -0
- data/distro/common/man/man1/knife-index.1 +29 -0
- data/distro/common/man/man1/knife-node.1 +154 -0
- data/distro/common/man/man1/knife-role.1 +88 -0
- data/distro/common/man/man1/knife-search.1 +270 -0
- data/distro/common/man/man1/knife-ssh.1 +78 -0
- data/distro/common/man/man1/knife-status.1 +29 -0
- data/distro/common/man/man1/knife-tag.1 +43 -0
- data/distro/common/man/man1/knife.1 +251 -0
- data/distro/common/man/man1/shef.1 +256 -0
- data/distro/common/man/man8/chef-client.8 +84 -0
- data/distro/common/man/man8/chef-expander.8 +97 -0
- data/distro/common/man/man8/chef-expanderctl.8 +62 -0
- data/distro/common/man/man8/chef-server-webui.8 +155 -0
- data/distro/common/man/man8/chef-server.8 +147 -0
- data/distro/common/man/man8/chef-solo.8 +158 -0
- data/distro/common/man/man8/chef-solr.8 +114 -0
- data/distro/common/markdown/man1/knife-search.mkd +130 -6
- data/lib/chef/provider/package/apt.rb +34 -24
- data/lib/chef/version.rb +1 -1
- metadata +28 -4
@@ -177,11 +177,11 @@ run_list.</p>
|
|
177
177
|
|
178
178
|
<h2 id="AUTHOR">AUTHOR</h2>
|
179
179
|
|
180
|
-
<p> Chef was written by Adam Jacob <a href="&#
|
180
|
+
<p> Chef was written by Adam Jacob <a href="mailto:adam@opscode.com" data-bare-link="true">adam@opscode.com</a> with many contributions from the community.</p>
|
181
181
|
|
182
182
|
<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
|
183
183
|
|
184
|
-
<p> This manual page was written by Joshua Timberman <a href="&#
|
184
|
+
<p> This manual page was written by Joshua Timberman <a href="mailto:joshua@opscode.com" data-bare-link="true">joshua@opscode.com</a>.
|
185
185
|
Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
|
186
186
|
|
187
187
|
<h2 id="CHEF">CHEF</h2>
|
@@ -190,8 +190,8 @@ run_list.</p>
|
|
190
190
|
|
191
191
|
|
192
192
|
<ol class='man-decor man-foot man foot'>
|
193
|
-
<li class='tl'>Chef 0.10.
|
194
|
-
<li class='tc'>
|
193
|
+
<li class='tl'>Chef 0.10.4.rc.5</li>
|
194
|
+
<li class='tc'>August 2011</li>
|
195
195
|
<li class='tr'>knife-role(1)</li>
|
196
196
|
</ol>
|
197
197
|
|
@@ -62,8 +62,10 @@
|
|
62
62
|
<a href="#NAME">NAME</a>
|
63
63
|
<a href="#SYNOPSIS">SYNOPSIS</a>
|
64
64
|
<a href="#DESCRIPTION">DESCRIPTION</a>
|
65
|
-
<a href="#
|
65
|
+
<a href="#INDEXES">INDEXES</a>
|
66
|
+
<a href="#QUERY-SYNTAX">QUERY SYNTAX</a>
|
66
67
|
<a href="#EXAMPLES">EXAMPLES</a>
|
68
|
+
<a href="#KNOWN-BUGS">KNOWN BUGS</a>
|
67
69
|
<a href="#SEE-ALSO">SEE ALSO</a>
|
68
70
|
<a href="#AUTHOR">AUTHOR</a>
|
69
71
|
<a href="#DOCUMENTATION">DOCUMENTATION</a>
|
@@ -85,46 +87,197 @@
|
|
85
87
|
|
86
88
|
<p><strong>knife</strong> <strong>search INDEX QUERY</strong> <em>(options)</em></p>
|
87
89
|
|
88
|
-
<
|
89
|
-
<
|
90
|
-
|
91
|
-
<
|
92
|
-
|
93
|
-
<
|
94
|
-
|
95
|
-
<
|
96
|
-
|
97
|
-
<
|
98
|
-
|
99
|
-
</
|
90
|
+
<ul>
|
91
|
+
<li><code>-a</code>, <code>--attribute ATTR</code>:
|
92
|
+
Show only one attribute</li>
|
93
|
+
<li><code>-i</code>, <code>--id-only</code>:
|
94
|
+
Show only the ID of matching objects</li>
|
95
|
+
<li><code>-q</code>, <code>--query QUERY</code>
|
96
|
+
The search query; useful to protect queries starting with -</li>
|
97
|
+
<li><code>-R</code>, <code>--rows INT</code>:
|
98
|
+
The number of rows to return</li>
|
99
|
+
<li><code>-r</code>, <code>--run-list</code>:
|
100
|
+
Show only the run list</li>
|
101
|
+
<li><code>-o</code>, <code>--sort SORT</code>:
|
102
|
+
The order to sort the results in</li>
|
103
|
+
<li><code>-b</code>, <code>--start ROW</code>:
|
104
|
+
The row to start returning results at</li>
|
105
|
+
<li><code>-m</code>, <code>--medium</code>:
|
106
|
+
Display medium sized output when searching nodes using the default
|
107
|
+
summary format</li>
|
108
|
+
<li><code>-l</code>, <code>--long</code>:
|
109
|
+
Display long output when searching nodes using the default summary
|
110
|
+
format</li>
|
111
|
+
</ul>
|
100
112
|
|
101
113
|
|
102
114
|
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
103
115
|
|
116
|
+
<p>Search is a feature of the Chef Server that allows you to use a
|
117
|
+
full-text search engine to query information about your infrastructure
|
118
|
+
and applications. You can utilize this service via search calls in a
|
119
|
+
recipe or the knife search command. The search syntax is based on
|
120
|
+
Lucene.</p>
|
121
|
+
|
122
|
+
<h2 id="INDEXES">INDEXES</h2>
|
123
|
+
|
104
124
|
<p>Search indexes are a feature of the Chef Server and the search
|
105
125
|
sub-command allows querying any of the available indexes using SOLR
|
106
|
-
query syntax. The following data types are indexed for search
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
126
|
+
query syntax. The following data types are indexed for search:</p>
|
127
|
+
|
128
|
+
<ul>
|
129
|
+
<li><em>node</em></li>
|
130
|
+
<li><em>role</em></li>
|
131
|
+
<li><em>environment</em></li>
|
132
|
+
<li><em>data bag</em></li>
|
133
|
+
</ul>
|
134
|
+
|
135
|
+
|
136
|
+
<p>Data bags are indexed by the data bag's name. For example, to search a
|
137
|
+
data bag named "admins":</p>
|
138
|
+
|
139
|
+
<pre><code>knife search admins "field:search_pattern"
|
140
|
+
</code></pre>
|
141
|
+
|
142
|
+
<h2 id="QUERY-SYNTAX">QUERY SYNTAX</h2>
|
143
|
+
|
144
|
+
<p>Queries have the form <code>field:search_pattern</code> where <code>field</code> is a key in
|
145
|
+
the JSON description of the relevant objects (nodes, roles,
|
146
|
+
environments, or data bags). Both <code>field</code> and <code>search_pattern</code> are
|
147
|
+
case-sensitive. <code>search_pattern</code> can be an exact, wildcard,
|
148
|
+
range, or fuzzy match (see below). The <code>field</code> supports exact
|
149
|
+
matching and limited wildcard matching.</p>
|
150
|
+
|
151
|
+
<p>Searches will return the relevant objects (nodes, roles, environments,
|
152
|
+
or data bags) where the <code>search_pattern</code> matches the object's value of
|
153
|
+
<code>field</code>.</p>
|
154
|
+
|
155
|
+
<h3 id="FIELD-NAMES">FIELD NAMES</h3>
|
156
|
+
|
157
|
+
<p>Field names are the keys within the JSON description of the object
|
158
|
+
being searched. Nested Keys can be searched by placing an underscore
|
159
|
+
("_") between key names.</p>
|
160
|
+
|
161
|
+
<h4 id="WILDCARD-MATCHING-FOR-FIELD-NAMES">WILDCARD MATCHING FOR FIELD NAMES</h4>
|
162
|
+
|
163
|
+
<p>The field name also has limited support for wildcard matching. Both
|
164
|
+
the "*" and "?" wildcards (see below) can be used within a field name;
|
165
|
+
however, they cannot be the first character of the field name.</p>
|
166
|
+
|
167
|
+
<h3 id="EXACT-MATCHES">EXACT MATCHES</h3>
|
168
|
+
|
169
|
+
<p>Without any search modifiers, a search returns those fields for which
|
170
|
+
the <code>search_pattern</code> exactly matches the value of <code>field</code> in the JSON
|
171
|
+
description of the object.</p>
|
172
|
+
|
173
|
+
<h3 id="WILDCARD-MATCHES">WILDCARD MATCHES</h3>
|
174
|
+
|
175
|
+
<p>Search support both single- and multi-character wildcard searches
|
176
|
+
within a search pattern.</p>
|
177
|
+
|
178
|
+
<p>'?' matches exactly one character.</p>
|
179
|
+
|
180
|
+
<p>'*' matches zero or more characters.</p>
|
181
|
+
|
182
|
+
<h3 id="RANGE-MATCHES">RANGE MATCHES</h3>
|
183
|
+
|
184
|
+
<p>Range searches allows one to match values between two given values. To
|
185
|
+
match values between X and Y, inclusively, use square brackets:</p>
|
186
|
+
|
187
|
+
<pre><code>knife search INDEX 'field:[X TO Y]
|
188
|
+
</code></pre>
|
189
|
+
|
190
|
+
<p>To match values between X and Y, exclusively, use curly brackets:</p>
|
191
|
+
|
192
|
+
<pre><code>knife search INDEX 'field:{X TO Y}'
|
193
|
+
</code></pre>
|
194
|
+
|
195
|
+
<p>Values are sorted in lexicographic order.</p>
|
111
196
|
|
112
|
-
<
|
197
|
+
<h3 id="FUZZY-MATCHES">FUZZY MATCHES</h3>
|
198
|
+
|
199
|
+
<p>Fuzzy searches allows one to match values based on the Levenshtein
|
200
|
+
Distance algorithm. To perform a fuzzy match, append a tilda (~) to
|
201
|
+
the search term:</p>
|
202
|
+
|
203
|
+
<pre><code>knife search nodes 'field:term~'
|
204
|
+
</code></pre>
|
205
|
+
|
206
|
+
<p>This search would return nodes whose <code>field</code> was 'perm' or 'germ'.</p>
|
207
|
+
|
208
|
+
<h3 id="BOOLEAN-OPERATORS">BOOLEAN OPERATORS</h3>
|
209
|
+
|
210
|
+
<p>The boolean operators NOT, AND, and OR are supported. To find values
|
211
|
+
of <code>field</code> that are not X:</p>
|
212
|
+
|
213
|
+
<pre><code>knife search INDEX 'field:(NOT X)'
|
214
|
+
</code></pre>
|
215
|
+
|
216
|
+
<p>To find records where <code>field1</code> is X and <code>field2</code> is Y:</p>
|
217
|
+
|
218
|
+
<pre><code>knife search INDEX 'field1:X AND field2:Y'
|
219
|
+
</code></pre>
|
220
|
+
|
221
|
+
<p>To find records where <code>field</code> is X or Y:</p>
|
222
|
+
|
223
|
+
<pre><code>knife search INDEX 'field:X OR field:Y'
|
224
|
+
</code></pre>
|
225
|
+
|
226
|
+
<h3 id="QUOTING-AND-SPECIAL-CHARACTERS">QUOTING AND SPECIAL CHARACTERS</h3>
|
227
|
+
|
228
|
+
<p>In order to avoid having special characters and escape sequences
|
229
|
+
within your search term interpreted by either Ruby or the shell,
|
230
|
+
enclose them in single quotes.</p>
|
231
|
+
|
232
|
+
<p>Search terms that include spaces should be enclosed in double-quotes:</p>
|
233
|
+
|
234
|
+
<pre><code>knife search INDEX 'field:"term with spaces"'
|
235
|
+
</code></pre>
|
236
|
+
|
237
|
+
<p>The following characters must be escaped:</p>
|
238
|
+
|
239
|
+
<pre><code>+ - && || ! ( ) { } [ ] ^ " ~ * ? : \
|
240
|
+
</code></pre>
|
113
241
|
|
114
242
|
<h2 id="EXAMPLES">EXAMPLES</h2>
|
115
243
|
|
244
|
+
<p>Find the nodes with the fully-qualified domain name (FQDN)
|
245
|
+
www.example.com:</p>
|
246
|
+
|
247
|
+
<pre><code>knife search nodes 'fqdn:www.example.com'
|
248
|
+
</code></pre>
|
249
|
+
|
250
|
+
<p>Find the nodes running a version of Ubuntu:</p>
|
251
|
+
|
252
|
+
<pre><code>knife search nodes 'platform:ubuntu*'
|
253
|
+
</code></pre>
|
254
|
+
|
255
|
+
<p>Find all nodes running CentOS in the production environment:</p>
|
256
|
+
|
257
|
+
<pre><code>knife search nodes 'chef_environment:production AND platform:centos'
|
258
|
+
</code></pre>
|
259
|
+
|
260
|
+
<h2 id="KNOWN-BUGS">KNOWN BUGS</h2>
|
261
|
+
|
262
|
+
<ul>
|
263
|
+
<li>Searches against the client index return no results in most cases. (CHEF-2477)</li>
|
264
|
+
<li>Searches using the fuzzy match operator (~) produce an error. (CHEF-2478)</li>
|
265
|
+
</ul>
|
266
|
+
|
267
|
+
|
116
268
|
<h2 id="SEE-ALSO">SEE ALSO</h2>
|
117
269
|
|
118
270
|
<p> <strong>knife-ssh</strong>(1)
|
119
|
-
<a href="http://wiki.opscode.com/display/chef/Attributes" data-bare-link="true">http://wiki.opscode.com/display/chef/Attributes</a
|
271
|
+
<a href="http://wiki.opscode.com/display/chef/Attributes" data-bare-link="true">http://wiki.opscode.com/display/chef/Attributes</a>
|
272
|
+
<a href="http://lucene.apache.org/java/2_3_2/queryparsersyntax.html">Lucene Query Parser Syntax</a></p>
|
120
273
|
|
121
274
|
<h2 id="AUTHOR">AUTHOR</h2>
|
122
275
|
|
123
|
-
<p> Chef was written by Adam Jacob <a href="&#
|
276
|
+
<p> Chef was written by Adam Jacob <a href="mailto:adam@opscode.com" data-bare-link="true">adam@opscode.com</a> with many contributions from the community.</p>
|
124
277
|
|
125
278
|
<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
|
126
279
|
|
127
|
-
<p> This manual page was written by Joshua Timberman <a href="&#
|
280
|
+
<p> This manual page was written by Joshua Timberman <a href="mailto:joshua@opscode.com" data-bare-link="true">joshua@opscode.com</a>.
|
128
281
|
Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
|
129
282
|
|
130
283
|
<h2 id="CHEF">CHEF</h2>
|
@@ -133,8 +286,8 @@ query syntax. The following data types are indexed for search:
|
|
133
286
|
|
134
287
|
|
135
288
|
<ol class='man-decor man-foot man foot'>
|
136
|
-
<li class='tl'>Chef 0.10.
|
137
|
-
<li class='tc'>
|
289
|
+
<li class='tl'>Chef 0.10.4.rc.5</li>
|
290
|
+
<li class='tc'>August 2011</li>
|
138
291
|
<li class='tr'>knife-search(1)</li>
|
139
292
|
</ol>
|
140
293
|
|
@@ -90,6 +90,7 @@
|
|
90
90
|
<dt><code>-m</code>, <code>--manual-list </code></dt><dd>QUERY is a space separated list of servers</dd>
|
91
91
|
<dt><code>-P</code>, <code>--ssh-password PASSWORD</code></dt><dd>The ssh password</dd>
|
92
92
|
<dt><code>-x</code>, <code>--ssh-user USERNAME </code></dt><dd>The ssh username</dd>
|
93
|
+
<dt><code>-i</code>, <code>--identity-file IDENTITY_FILE</code></dt><dd>The SSH identity file used for authentication</dd>
|
93
94
|
</dl>
|
94
95
|
|
95
96
|
|
@@ -133,11 +134,11 @@ option.</dd>
|
|
133
134
|
|
134
135
|
<h2 id="AUTHOR">AUTHOR</h2>
|
135
136
|
|
136
|
-
<p> Chef was written by Adam Jacob <a href="&#
|
137
|
+
<p> Chef was written by Adam Jacob <a href="mailto:adam@opscode.com" data-bare-link="true">adam@opscode.com</a> with many contributions from the community.</p>
|
137
138
|
|
138
139
|
<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
|
139
140
|
|
140
|
-
<p> This manual page was written by Joshua Timberman <a href="&#
|
141
|
+
<p> This manual page was written by Joshua Timberman <a href="mailto:joshua@opscode.com" data-bare-link="true">joshua@opscode.com</a>.
|
141
142
|
Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
|
142
143
|
|
143
144
|
<h2 id="CHEF">CHEF</h2>
|
@@ -146,8 +147,8 @@ option.</dd>
|
|
146
147
|
|
147
148
|
|
148
149
|
<ol class='man-decor man-foot man foot'>
|
149
|
-
<li class='tl'>Chef 0.10.
|
150
|
-
<li class='tc'>
|
150
|
+
<li class='tl'>Chef 0.10.4.rc.5</li>
|
151
|
+
<li class='tc'>August 2011</li>
|
151
152
|
<li class='tr'>knife-ssh(1)</li>
|
152
153
|
</ol>
|
153
154
|
|
@@ -105,11 +105,11 @@ may not be publicly reachable.</p>
|
|
105
105
|
|
106
106
|
<h2 id="AUTHOR">AUTHOR</h2>
|
107
107
|
|
108
|
-
<p> Chef was written by Adam Jacob <a href="&#
|
108
|
+
<p> Chef was written by Adam Jacob <a href="mailto:adam@opscode.com" data-bare-link="true">adam@opscode.com</a> with many contributions from the community.</p>
|
109
109
|
|
110
110
|
<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
|
111
111
|
|
112
|
-
<p> This manual page was written by Joshua Timberman <a href="&#
|
112
|
+
<p> This manual page was written by Joshua Timberman <a href="mailto:joshua@opscode.com" data-bare-link="true">joshua@opscode.com</a>.
|
113
113
|
Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
|
114
114
|
|
115
115
|
<h2 id="CHEF">CHEF</h2>
|
@@ -118,8 +118,8 @@ may not be publicly reachable.</p>
|
|
118
118
|
|
119
119
|
|
120
120
|
<ol class='man-decor man-foot man foot'>
|
121
|
-
<li class='tl'>Chef 0.10.
|
122
|
-
<li class='tc'>
|
121
|
+
<li class='tl'>Chef 0.10.4.rc.5</li>
|
122
|
+
<li class='tc'>August 2011</li>
|
123
123
|
<li class='tr'>knife-status(1)</li>
|
124
124
|
</ol>
|
125
125
|
|
@@ -114,11 +114,11 @@
|
|
114
114
|
|
115
115
|
<h2 id="AUTHOR">AUTHOR</h2>
|
116
116
|
|
117
|
-
<p> Chef was written by Adam Jacob <a href="&#
|
117
|
+
<p> Chef was written by Adam Jacob <a href="mailto:adam@opscode.com" data-bare-link="true">adam@opscode.com</a> with many contributions from the community.</p>
|
118
118
|
|
119
119
|
<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
|
120
120
|
|
121
|
-
<p> This manual page was written by Daniel DeLeo <a href="m&#
|
121
|
+
<p> This manual page was written by Daniel DeLeo <a href="mailto:dan@opscode.com" data-bare-link="true">dan@opscode.com</a>.
|
122
122
|
Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
|
123
123
|
|
124
124
|
<h2 id="CHEF">CHEF</h2>
|
@@ -127,8 +127,8 @@
|
|
127
127
|
|
128
128
|
|
129
129
|
<ol class='man-decor man-foot man foot'>
|
130
|
-
<li class='tl'>Chef 0.10.
|
131
|
-
<li class='tc'>
|
130
|
+
<li class='tl'>Chef 0.10.4.rc.5</li>
|
131
|
+
<li class='tc'>August 2011</li>
|
132
132
|
<li class='tr'>knife-tag(1)</li>
|
133
133
|
</ol>
|
134
134
|
|
@@ -266,12 +266,12 @@ data editing entirely.</dd>
|
|
266
266
|
|
267
267
|
<h2 id="AUTHOR">AUTHOR</h2>
|
268
268
|
|
269
|
-
<p> Chef was written by Adam Jacob <a href="&#
|
269
|
+
<p> Chef was written by Adam Jacob <a href="mailto:adam@opscode.com" data-bare-link="true">adam@opscode.com</a> of Opscode
|
270
270
|
(<a href="http://www.opscode.com" data-bare-link="true">http://www.opscode.com</a>), with contributions from the community.</p>
|
271
271
|
|
272
272
|
<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
|
273
273
|
|
274
|
-
<p> This manual page was written by Joshua Timberman <a href="m&#
|
274
|
+
<p> This manual page was written by Joshua Timberman <a href="mailto:joshua@opscode.com" data-bare-link="true">joshua@opscode.com</a>.</p>
|
275
275
|
|
276
276
|
<h2 id="LICENSE">LICENSE</h2>
|
277
277
|
|
@@ -285,8 +285,8 @@ data editing entirely.</dd>
|
|
285
285
|
|
286
286
|
|
287
287
|
<ol class='man-decor man-foot man foot'>
|
288
|
-
<li class='tl'>Chef 0.10.
|
289
|
-
<li class='tc'>
|
288
|
+
<li class='tl'>Chef 0.10.4.rc.5</li>
|
289
|
+
<li class='tc'>August 2011</li>
|
290
290
|
<li class='tr'>knife(1)</li>
|
291
291
|
</ol>
|
292
292
|
|
@@ -258,12 +258,12 @@ and may become out of sync with the behavior of those libraries.</p>
|
|
258
258
|
|
259
259
|
<h2 id="AUTHOR">AUTHOR</h2>
|
260
260
|
|
261
|
-
<p> Chef was written by Adam Jacob <a href="&#
|
261
|
+
<p> Chef was written by Adam Jacob <a href="mailto:adam@opscode.com" data-bare-link="true">adam@opscode.com</a> with many
|
262
262
|
contributions from the community. Shef was written by Daniel DeLeo.</p>
|
263
263
|
|
264
264
|
<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
|
265
265
|
|
266
|
-
<p> This manual page was written by Daniel DeLeo <a href="ma&#
|
266
|
+
<p> This manual page was written by Daniel DeLeo <a href="mailto:dan@opscode.com" data-bare-link="true">dan@opscode.com</a>.
|
267
267
|
Permission is granted to copy, distribute and / or modify this
|
268
268
|
document under the terms of the Apache 2.0 License.</p>
|
269
269
|
|
@@ -273,8 +273,8 @@ and may become out of sync with the behavior of those libraries.</p>
|
|
273
273
|
|
274
274
|
|
275
275
|
<ol class='man-decor man-foot man foot'>
|
276
|
-
<li class='tl'>Chef 0.10.
|
277
|
-
<li class='tc'>
|
276
|
+
<li class='tl'>Chef 0.10.4.rc.5</li>
|
277
|
+
<li class='tc'>August 2011</li>
|
278
278
|
<li class='tr'>shef(1)</li>
|
279
279
|
</ol>
|
280
280
|
|
@@ -0,0 +1,189 @@
|
|
1
|
+
.\" generated with Ronn/v0.7.3
|
2
|
+
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
|
+
.
|
4
|
+
.TH "KNIFE\-BOOTRAP" "1" "August 2011" "Chef 0.10.4.rc.5" "Chef Manual"
|
5
|
+
.
|
6
|
+
.SH "NAME"
|
7
|
+
\fBknife\-bootrap\fR \- Install Chef Client on a remote host
|
8
|
+
.
|
9
|
+
.SH "SYNOPSIS"
|
10
|
+
\fBknife\fR \fBbootstrap\fR \fI(options)\fR
|
11
|
+
.
|
12
|
+
.TP
|
13
|
+
\fB\-i\fR, \fB\-\-identity\-file IDENTITY_FILE\fR
|
14
|
+
The SSH identity file used for authentication
|
15
|
+
.
|
16
|
+
.TP
|
17
|
+
\fB\-N\fR, \fB\-\-node\-name NAME\fR
|
18
|
+
The Chef node name for your new node
|
19
|
+
.
|
20
|
+
.TP
|
21
|
+
\fB\-P\fR, \fB\-\-ssh\-password PASSWORD\fR
|
22
|
+
The ssh password
|
23
|
+
.
|
24
|
+
.TP
|
25
|
+
\fB\-x\fR, \fB\-\-ssh\-user USERNAME\fR
|
26
|
+
The ssh username
|
27
|
+
.
|
28
|
+
.TP
|
29
|
+
\fB\-\-prerelease\fR
|
30
|
+
Install pre\-release Chef gems
|
31
|
+
.
|
32
|
+
.TP
|
33
|
+
\fB\-r\fR, \fB\-\-run\-list RUN_LIST\fR
|
34
|
+
Comma separated list of roles/recipes to apply
|
35
|
+
.
|
36
|
+
.TP
|
37
|
+
\fB\-P\fR, \fB\-\-ssh\-password PASSWORD\fR
|
38
|
+
The ssh password
|
39
|
+
.
|
40
|
+
.TP
|
41
|
+
\fB\-x\fR, \fB\-\-ssh\-user USERNAME\fR
|
42
|
+
The ssh username
|
43
|
+
.
|
44
|
+
.TP
|
45
|
+
\fB\-\-template\-file TEMPLATE\fR
|
46
|
+
Full path to location of template to use
|
47
|
+
.
|
48
|
+
.TP
|
49
|
+
\fB\-\-sudo\fR
|
50
|
+
Execute the bootstrap via sudo
|
51
|
+
.
|
52
|
+
.TP
|
53
|
+
\fB\-d\fR, \fB\-\-distro DISTRO\fR
|
54
|
+
Bootstrap a distro using a template
|
55
|
+
.
|
56
|
+
.SH "DESCRIPTION"
|
57
|
+
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 plugins\.
|
58
|
+
.
|
59
|
+
.P
|
60
|
+
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 host bootstrapped 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:
|
61
|
+
.
|
62
|
+
.IP "\(bu" 4
|
63
|
+
\fBbootstrap\fR directory in the installed Chef Knife library\.
|
64
|
+
.
|
65
|
+
.IP "\(bu" 4
|
66
|
+
\fBbootstrap\fR directory in the \fB$PWD/\.chef\fR\.
|
67
|
+
.
|
68
|
+
.IP "\(bu" 4
|
69
|
+
\fBbootstrap\fR directory in the users \fB$HOME/\.chef\fR\.
|
70
|
+
.
|
71
|
+
.IP "" 0
|
72
|
+
.
|
73
|
+
.P
|
74
|
+
The default bootstrap templates are scripts that get copied to the target node (FQDN)\. The following distros are supported:
|
75
|
+
.
|
76
|
+
.IP "\(bu" 4
|
77
|
+
centos5\-gems
|
78
|
+
.
|
79
|
+
.IP "\(bu" 4
|
80
|
+
fedora13\-gems
|
81
|
+
.
|
82
|
+
.IP "\(bu" 4
|
83
|
+
ubuntu10\.04\-gems
|
84
|
+
.
|
85
|
+
.IP "\(bu" 4
|
86
|
+
ubuntu10\.04\-apt
|
87
|
+
.
|
88
|
+
.IP "" 0
|
89
|
+
.
|
90
|
+
.P
|
91
|
+
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\.
|
92
|
+
.
|
93
|
+
.P
|
94
|
+
In addition to handling the software installation, these bootstrap templates do the following:
|
95
|
+
.
|
96
|
+
.IP "\(bu" 4
|
97
|
+
Write the validation\.pem per the local knife configuration\.
|
98
|
+
.
|
99
|
+
.IP "\(bu" 4
|
100
|
+
Write a default config file for Chef (\fB/etc/chef/client\.rb\fR) using values from the \fBknife\.rb\fR\.
|
101
|
+
.
|
102
|
+
.IP "\(bu" 4
|
103
|
+
Create a JSON attributes file containing the specified run list and run Chef\.
|
104
|
+
.
|
105
|
+
.IP "" 0
|
106
|
+
.
|
107
|
+
.P
|
108
|
+
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\.
|
109
|
+
.
|
110
|
+
.P
|
111
|
+
When this is complete, the bootstrapped node will have:
|
112
|
+
.
|
113
|
+
.IP "\(bu" 4
|
114
|
+
Latest Chef version installed from RubyGems or APT Packages from Opscode\. This may be a later version than the local system\.
|
115
|
+
.
|
116
|
+
.IP "\(bu" 4
|
117
|
+
Be validated with the configured Chef Server\.
|
118
|
+
.
|
119
|
+
.IP "\(bu" 4
|
120
|
+
Have run Chef with its default run list if one is specfied\.
|
121
|
+
.
|
122
|
+
.IP "" 0
|
123
|
+
.
|
124
|
+
.P
|
125
|
+
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\.
|
126
|
+
.
|
127
|
+
.SH "EXAMPLES"
|
128
|
+
Setting up a custom bootstrap is fairly straightforward\. Create a \fB\.chef/bootstrap\fR directory in your Chef Repository or in \fB$HOME/\.chef/bootstrap\fR\. Then create the ERB template file\.
|
129
|
+
.
|
130
|
+
.IP "" 4
|
131
|
+
.
|
132
|
+
.nf
|
133
|
+
|
134
|
+
mkdir ~/\.chef/bootstrap
|
135
|
+
vi ~/\.chef/bootstrap/debian5\.0\-apt\.erb
|
136
|
+
.
|
137
|
+
.fi
|
138
|
+
.
|
139
|
+
.IP "" 0
|
140
|
+
.
|
141
|
+
.P
|
142
|
+
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:
|
143
|
+
.
|
144
|
+
.IP "" 4
|
145
|
+
.
|
146
|
+
.nf
|
147
|
+
|
148
|
+
knife bootstrap mynode\.example\.com \-\-template\-file ~/\.chef/bootstrap/debian5\.0\-apt\.erb
|
149
|
+
.
|
150
|
+
.fi
|
151
|
+
.
|
152
|
+
.IP "" 0
|
153
|
+
.
|
154
|
+
.P
|
155
|
+
Or,
|
156
|
+
.
|
157
|
+
.IP "" 4
|
158
|
+
.
|
159
|
+
.nf
|
160
|
+
|
161
|
+
knife bootstrap mynode\.example\.com \-\-distro debian5\.0\-apt
|
162
|
+
.
|
163
|
+
.fi
|
164
|
+
.
|
165
|
+
.IP "" 0
|
166
|
+
.
|
167
|
+
.P
|
168
|
+
The \fB\-\-distro\fR parameter will automatically look in the \fB~/\.chef/bootstrap\fR directory for a file named \fBdebian5\.0\-apt\.erb\fR\.
|
169
|
+
.
|
170
|
+
.P
|
171
|
+
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\.
|
172
|
+
.
|
173
|
+
.SH "BUGS"
|
174
|
+
\fBknife bootstrap\fR is not capable of bootstrapping multiple hosts in parallel\.
|
175
|
+
.
|
176
|
+
.P
|
177
|
+
The bootstrap script is passed as an argument to sh(1) on the remote system, so sensitive information contained in the script will be visible to other users via the process list using tools such as ps(1)\.
|
178
|
+
.
|
179
|
+
.SH "SEE ALSO"
|
180
|
+
\fBknife\-ssh\fR(1)
|
181
|
+
.
|
182
|
+
.SH "AUTHOR"
|
183
|
+
Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
|
184
|
+
.
|
185
|
+
.SH "DOCUMENTATION"
|
186
|
+
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\.
|
187
|
+
.
|
188
|
+
.SH "CHEF"
|
189
|
+
Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
|