diff options
author | Seth Chisamore <schisamo@opscode.com> | 2012-10-30 10:39:35 -0400 |
---|---|---|
committer | Seth Chisamore <schisamo@opscode.com> | 2012-10-30 10:39:35 -0400 |
commit | 24dc69a9a97e82a6e4207de68d6dcc664178249b (patch) | |
tree | 19bb289c9f88b4bbab066bc56b95d6d222fd5c35 /distro/common/html/knife-bootstrap.1.html | |
parent | 9348c1c9c80ee757354d624b7dc1b78ebc7605c4 (diff) | |
download | chef-24dc69a9a97e82a6e4207de68d6dcc664178249b.tar.gz |
[OC-3564] move core Chef to the repo root \o/ \m/
The opscode/chef repository now only contains the core Chef library code
used by chef-client, knife and chef-solo!
Diffstat (limited to 'distro/common/html/knife-bootstrap.1.html')
-rw-r--r-- | distro/common/html/knife-bootstrap.1.html | 241 |
1 files changed, 241 insertions, 0 deletions
diff --git a/distro/common/html/knife-bootstrap.1.html b/distro/common/html/knife-bootstrap.1.html new file mode 100644 index 0000000000..6bc60652ca --- /dev/null +++ b/distro/common/html/knife-bootstrap.1.html @@ -0,0 +1,241 @@ +<!DOCTYPE html> +<html> +<head> + <meta http-equiv='content-type' value='text/html;charset=utf8'> + <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'> + <title>knife-bootstrap(1) - Install Chef Client on a remote host</title> + <style type='text/css' media='all'> + /* style: man */ + body#manpage {margin:0} + .mp {max-width:100ex;padding:0 9ex 1ex 4ex} + .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0} + .mp h2 {margin:10px 0 0 0} + .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex} + .mp h3 {margin:0 0 0 4ex} + .mp dt {margin:0;clear:left} + .mp dt.flush {float:left;width:8ex} + .mp dd {margin:0 0 0 9ex} + .mp h1,.mp h2,.mp h3,.mp h4 {clear:left} + .mp pre {margin-bottom:20px} + .mp pre+h2,.mp pre+h3 {margin-top:22px} + .mp h2+pre,.mp h3+pre {margin-top:5px} + .mp img {display:block;margin:auto} + .mp h1.man-title {display:none} + .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143} + .mp h2 {font-size:16px;line-height:1.25} + .mp h1 {font-size:20px;line-height:2} + .mp {text-align:justify;background:#fff} + .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211} + .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201} + .mp u {text-decoration:underline} + .mp code,.mp strong,.mp b {font-weight:bold;color:#131211} + .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none} + .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff} + .mp b.man-ref {font-weight:normal;color:#434241} + .mp pre {padding:0 4ex} + .mp pre code {font-weight:normal;color:#434241} + .mp h2+pre,h3+pre {padding-left:0} + ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px} + ol.man-decor {width:100%} + ol.man-decor li.tl {text-align:left} + ol.man-decor li.tc {text-align:center;letter-spacing:4px} + ol.man-decor li.tr {text-align:right;float:right} + </style> + <style type='text/css' media='all'> + /* style: toc */ + .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee} + .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none} + .man-navigation a:hover {color:#111;text-decoration:underline} + </style> +</head> +<!-- + The following styles are deprecated and will be removed at some point: + div#man, div#man ol.man, div#man ol.head, div#man ol.man. + + The .man-page, .man-decor, .man-head, .man-foot, .man-title, and + .man-navigation should be used instead. +--> +<body id='manpage'> + <div class='mp' id='man'> + + <div class='man-navigation' style='display:none'> + <a href="#NAME">NAME</a> + <a href="#SYNOPSIS">SYNOPSIS</a> + <a href="#DESCRIPTION">DESCRIPTION</a> + <a href="#EXAMPLES">EXAMPLES</a> + <a href="#BUGS">BUGS</a> + <a href="#SEE-ALSO">SEE ALSO</a> + <a href="#AUTHOR">AUTHOR</a> + <a href="#DOCUMENTATION">DOCUMENTATION</a> + <a href="#CHEF">CHEF</a> + </div> + + <ol class='man-decor man-head man head'> + <li class='tl'>knife-bootstrap(1)</li> + <li class='tc'>Chef Manual</li> + <li class='tr'>knife-bootstrap(1)</li> + </ol> + + <h2 id="NAME">NAME</h2> +<p class="man-name"> + <code>knife-bootstrap</code> - <span class="man-whatis">Install Chef Client on a remote host</span> +</p> + +<h2 id="SYNOPSIS">SYNOPSIS</h2> + +<p><strong>knife</strong> <strong>bootstrap</strong> <em>(options)</em></p> + +<dl> +<dt><code>-i</code>, <code>--identity-file IDENTITY_FILE</code></dt><dd>The SSH identity file used for authentication</dd> +<dt><code>-N</code>, <code>--node-name NAME</code></dt><dd>The Chef node name for your new node</dd> +<dt><code>-P</code>, <code>--ssh-password PASSWORD</code></dt><dd>The ssh password</dd> +<dt><code>-x</code>, <code>--ssh-user USERNAME</code></dt><dd>The ssh username</dd> +<dt><code>-p</code>, <code>--ssh-port PORT</code></dt><dd>The ssh port</dd> +<dt><code>--bootstrap-version VERSION</code></dt><dd>The version of Chef to install</dd> +<dt><code>--bootstrap-proxy PROXY_URL</code></dt><dd><code>The proxy server for the node being bootstrapped</code></dd> +<dt><code>--prerelease</code></dt><dd>Install pre-release Chef gems</dd> +<dt><code>-r</code>, <code>--run-list RUN_LIST</code></dt><dd>Comma separated list of roles/recipes to apply</dd> +<dt><code>--template-file TEMPLATE</code></dt><dd>Full path to location of template to use</dd> +<dt class="flush"><code>--sudo</code></dt><dd>Execute the bootstrap via sudo</dd> +<dt><code>-d</code>, <code>--distro DISTRO</code></dt><dd>Bootstrap a distro using a template</dd> +<dt><code>--[no-]host-key-verify</code></dt><dd>Enable host key verification, which is the default behavior.</dd> +<dt><code>--hint HINT_NAME[=HINT_FILE]</code></dt><dd>Provide the name of a hint (with option JSON file) to set for use by +Ohai plugins.</dd> +</dl> + + +<h2 id="DESCRIPTION">DESCRIPTION</h2> + +<p>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.</p> + +<p>The bootstrap sub-command supports supplying a template to perform the +bootstrap steps. If the distro is not specified (via <code>-d</code> or <code>--distro</code> +option), an Ubuntu 10.04 host bootstrapped with RubyGems is assumed. The +<strong>DISTRO</strong> value corresponds to the base filename of the template, in +other words <code>DISTRO</code>.erb. A template file can be specified with the +<code>--template-file</code> option in which case the <strong>DISTRO</strong> is not used. The +sub-command looks in the following locations for the template to use:</p> + +<ul> +<li><code>bootstrap</code> directory in the installed Chef Knife library.</li> +<li><code>bootstrap</code> directory in the <code>$PWD/.chef</code>.</li> +<li><code>bootstrap</code> directory in the users <code>$HOME/.chef</code>.</li> +</ul> + + +<p>The default bootstrap templates are scripts that get copied to the +target node (FQDN). The following distros are supported:</p> + +<ul> +<li>centos5-gems</li> +<li>fedora13-gems</li> +<li>ubuntu10.04-gems</li> +<li>ubuntu10.04-apt</li> +</ul> + + +<p>The gems installations will use RubyGems 1.3.6 and Chef installed as a +gem. The apt installation will use the Opscode APT repository.</p> + +<p>In addition to handling the software installation, these bootstrap +templates do the following:</p> + +<ul> +<li>Write the validation.pem per the local knife configuration.</li> +<li>Write a default config file for Chef (<code>/etc/chef/client.rb</code>) using values from the <code>knife.rb</code>.</li> +<li>Create a JSON attributes file containing the specified run list and run Chef.</li> +</ul> + + +<p>In the case of the RubyGems, the <code>client.rb</code> will be written from +scratch with a minimal set of values; see <strong>EXAMPLES</strong>. In the case of +APT Package installation, <code>client.rb</code> will have the +<code>validation_client_name</code> appended if it is not set to <code>chef-validator</code> +(default config value), and the <code>node_name</code> will be added if +<code>chef_node_name</code> option is specified.</p> + +<p>When this is complete, the bootstrapped node will have:</p> + +<ul> +<li>Latest Chef version installed from RubyGems or APT Packages from Opscode. This may be a later version than the local system.</li> +<li>Be validated with the configured Chef Server.</li> +<li>Have run Chef with its default run list if one is specfied.</li> +</ul> + + +<p>Additional custom bootstrap templates can be created and stored in +<code>.chef/bootstrap/DISTRO.erb</code>, replacing <strong>DISTRO</strong> with the value passed +with the <code>-d</code> or <code>--distro</code> option. See <strong>EXAMPLES</strong> for more +information.</p> + +<h2 id="EXAMPLES">EXAMPLES</h2> + +<p>Setting up a custom bootstrap is fairly straightforward. Create a +<code>.chef/bootstrap</code> directory in your Chef Repository or in +<code>$HOME/.chef/bootstrap</code>. Then create the ERB template file.</p> + +<pre><code>mkdir ~/.chef/bootstrap +vi ~/.chef/bootstrap/debian5.0-apt.erb +</code></pre> + +<p>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:</p> + +<pre><code>knife bootstrap mynode.example.com --template-file ~/.chef/bootstrap/debian5.0-apt.erb +</code></pre> + +<p>Or,</p> + +<pre><code>knife bootstrap mynode.example.com --distro debian5.0-apt +</code></pre> + +<p>The <code>--distro</code> parameter will automatically look in the +<code>~/.chef/bootstrap</code> directory for a file named <code>debian5.0-apt.erb</code>.</p> + +<p>Templates provided by the Chef installation are located in +<code>BASEDIR/lib/chef/knife/bootstrap/*.erb</code>, where <em>BASEDIR</em> is the +location where the package or Gem installed the Chef client libraries.</p> + +<h2 id="BUGS">BUGS</h2> + +<p><code>knife bootstrap</code> is not capable of bootstrapping multiple hosts in +parallel.</p> + +<p>The bootstrap script is passed as an argument to <span class="man-ref">sh<span class="s">(1)</span></span> 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 <span class="man-ref">ps<span class="s">(1)</span></span>.</p> + +<h2 id="SEE-ALSO">SEE ALSO</h2> + +<p> <strong>knife-ssh</strong>(1)</p> + +<h2 id="AUTHOR">AUTHOR</h2> + +<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> + +<h2 id="DOCUMENTATION">DOCUMENTATION</h2> + +<p> This manual page was written by Joshua Timberman <a href="mailto:joshua@opscode.com" data-bare-link="true">joshua@opscode.com</a>. + Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p> + +<h2 id="CHEF">CHEF</h2> + +<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p> + + + <ol class='man-decor man-foot man foot'> + <li class='tl'>Chef 11.0.0.alpha</li> + <li class='tc'>September 2012</li> + <li class='tr'>knife-bootstrap(1)</li> + </ol> + + </div> +</body> +</html> |