website/docs: Add documentation for the Chef Zero provisioner

This commit is contained in:
Teemu Matilainen 2014-10-11 22:59:52 +03:00 committed by Seth Vargo
parent dec5dcdda3
commit 2d78f1a816
3 changed files with 70 additions and 5 deletions

View File

@ -5,11 +5,11 @@ sidebar_current: "provisioning-chefcommon"
# Shared Chef Options
This page documents the list of available options that are available in
both the
[Chef solo](/v2/provisioning/chef_solo.html)
This page documents the list of available options that are available in the
[Chef Solo](/v2/provisioning/chef_solo.html),
[Chef Zero](/v2/provisioning/chef_zero.html)
and
[Chef client](/v2/provisioning/chef_client.html)
[Chef Client](/v2/provisioning/chef_client.html)
provisioners.
* `arguments` (string) - A list of additional arguments to pass on the

View File

@ -34,7 +34,7 @@ available below this section.
Note that only the Chef-solo specific options are shown below. There is
also a large set of [common options](/v2/provisioning/chef_common.html)
that are available with both the Chef Solo and Chef client provisioners.
that are available with all Chef provisioners.
* `cookbooks_path` (string or array) - A list of paths to where cookbooks
are stored. By default this is "cookbooks", expecting a cookbooks folder

View File

@ -0,0 +1,65 @@
---
page_title: "Chef Zero - Provisioning"
sidebar_current: "provisioning-chefzero"
---
# Chef Zero Provisioner
**Provisioner name: `chef_zero`**
The Chef Zero provisioner allows you to provision the guest using
[Chef](https://www.getchef.com/chef/), specifically with
[Chef Zero/local mode](https://docs.getchef.com/ctl_chef_client.html#run-in-local-mode).
This new provisioner is a middle ground between running a full blown
Chef Server and using the limited [Chef Solo](/v2/provisioning/chef_solo.html)
provisioner. It runs a local in-memory Chef Server and fakes the validation
and client key registration.
<div class="alert alert-warn">
<p>
<strong>Warning:</strong> If you're not familiar with Chef and Vagrant already,
I recommend starting with the <a href="/v2/provisioning/shell.html">shell
provisioner</a>. However, if you're comfortable with Vagrant already, Vagrant
is the best way to learn Chef.
</p>
</div>
## Options
This section lists the complete set of available options for the Chef Zero
provisioner. More detailed examples of how to use the provisioner are
available below this section.
Note that only the Chef Zero specific options are shown below, but all [Chef
Solo options](/v2/provisioning/chef_solo.html), including the [common Chef
provisioner options](/v2/provisioning/chef_common.html), are also inherited.
* `nodes_path` (string) - A path where the Chef nodes are stored. Be default,
no node path is set.
## Usage
The Chef Zero provisioner is configured basically the same way as the Chef Solo
provisioner. See the [Chef Solo documentations](/v2/provisioning/chef_solo.html)
for more information.
A basic example could look like this:
```ruby
Vagrant.configure("2") do |config|
config.vm.provision "chef_zero" do |chef|
# Specify the local paths where Chef data is stored
chef.cookbooks_path = "cookbooks"
chef.roles_path = "roles"
chef.nodes_path = "nodes"
# Add a recipe
chef.add_recipe "apache"
# Or maybe a role
chef.add_role "web"
end
end
```