Skip to content

Commit 33773b1

Browse files
authored
Cleanup knife bootstrap description (#4402)
Signed-off-by: Ian Maddaus <[email protected]>
1 parent dec4c5d commit 33773b1

File tree

1 file changed

+33
-47
lines changed

1 file changed

+33
-47
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,36 @@
1-
The following diagram shows the stages of the bootstrap operation, and
2-
the list below the diagram describes each of those stages in greater
3-
detail.
1+
The following diagram shows the stages of the bootstrap operation,
2+
and the list below the diagram describes each of those stages in greater detail.
43

54
![image](/images/chef_bootstrap.png)
65

7-
During a `knife bootstrap` bootstrap operation, the following happens:
8-
9-
<!-- markdownlint-disable-file MD033 -->
10-
11-
<table>
12-
<colgroup>
13-
<col style="width: 25%" />
14-
<col style="width: 75%" />
15-
</colgroup>
16-
<thead>
17-
<tr class="header">
18-
<th>Stages</th>
19-
<th>Description</th>
20-
</tr>
21-
</thead>
22-
<tbody>
23-
<tr>
24-
<td><strong>knife bootstrap</strong></td>
25-
<td>Enter the <code>knife bootstrap</code> subcommand from a workstation. Include the hostname, IP address, or FQDN of the target node as part of this command. Knife will establish an SSH or WinRM connection with the target system and run a bootstrap script.</td>
26-
</tr>
27-
<tr>
28-
<td><p><strong>Get the install script from Chef</strong></p></td>
29-
<td><p>The shell script will make a request to the Chef website to get the most recent version of a the Chef Infra Client install script(<code>install.sh</code> or <code>install.ps1</code>).</td>
30-
</tr>
31-
<tr>
32-
<td><strong>Get the Chef Infra Client package from Chef</strong></td>
33-
<td>The install script then gathers system-specific information and determines the correct package for Chef Infra Client, and then downloads the appropriate package from <code>omnitruck-direct.chef.io</code>.</td>
34-
</tr>
35-
<tr>
36-
<td><strong>Install Chef Infra Client</strong></td>
37-
<td>Chef Infra Client is installed on the target node using a system native package (.rpm, .msi, etc).</td>
38-
</tr>
39-
<tr>
40-
<td><p><strong>Start a Chef Infra Client run</strong></p></td>
41-
<td><p>On UNIX and Linux-based machines: The second shell script executes the <code>chef-client</code> binary with a set of initial settings stored within <code>first-boot.json</code> on the node. <code>first-boot.json</code> is generated from the workstation as part of the initial <code>knife bootstrap</code> subcommand.</p>
42-
<p>On Windows machines: The batch file that's derived from the windows-chef-client-msi.erb bootstrap template executes the <code>chef-client</code> binary with a set of initial settings stored within <code>first-boot.json</code> on the node. <code>first-boot.json</code> is generated from the workstation as part of the initial <code>knife bootstrap</code> subcommand.</p></td>
43-
</tr>
44-
<tr>
45-
<td><p><strong>Complete a Chef Infra Client run</strong></p></td>
46-
<td><p>a Chef Infra Client run proceeds, using HTTPS (port 443), and registers the node with the Chef Infra Server.</p>
47-
<p>The first Chef Infra Client run, by default, contains an empty run-list. A <a href="/workstation/knife_bootstrap/">run-list can be specified</a> as part of the initial bootstrap operation using the <code>--run-list</code> option as part of the <code>knife bootstrap</code> subcommand.</p></td>
48-
</tr>
49-
</tbody>
50-
</table>
6+
When you run `knife bootstrap` on a node for the first time, Chef Workstation, Infra Client, and Infra Server handle the following tasks:
7+
8+
1. **Run `knife bootstrap`**
9+
10+
Run the [`knife bootstrap`](/workstation/knife_bootstrap/) subcommand from a workstation. Include the hostname, IP address, or FQDN of the target node as part of this command. Knife establishes an SSH or WinRM connection with the target system and runs the bootstrap script.
11+
12+
By default, the first Chef Infra Client run has an empty run list. You can add a [run list](/run_lists/) to the initial bootstrap operation using the [`--run-list`](/workstation/knife_bootstrap/#node-options) option.
13+
14+
1. **Get the install script**
15+
16+
A shell script gets the most recent version of the [Chef Infra Client install script](/chef_install_script/) (`install.sh` or `install.ps1`) from Chef.
17+
18+
1. **Get the Chef Infra Client package**
19+
20+
The install script gathers system-specific information, determines the correct package for Chef Infra Client, and downloads that package from Chef's downloads API.
21+
22+
1. **Install Chef Infra Client**
23+
24+
Chef Infra Client is installed on the target node using a system native package (.rpm, .msi, etc).
25+
26+
1. **Start a Chef Infra Client run**
27+
28+
When you first run `knife bootstrap`, Chef Workstation creates a `first-boot.json` file with some initial settings.
29+
30+
On UNIX and Linux-based machines, the second shell script executes the `chef-client` binary with the `first-boot.json` file on the node.
31+
32+
On Windows machines, the batch file that's derived from the `windows-chef-client-msi.erb` bootstrap template executes the `chef-client` binary with the `first-boot.json` file on the node.
33+
34+
1. **Complete the Chef Infra Client run**
35+
36+
The Chef Infra Client run proceeds using HTTPS (port 443) and registers the node with Chef Infra Server.

0 commit comments

Comments
 (0)