127 lines
5.8 KiB
Markdown
127 lines
5.8 KiB
Markdown
---
|
|
layout: "docs"
|
|
page_title: "Common Chef Options - Provisioning"
|
|
sidebar_current: "provisioning-chefcommon"
|
|
description: |-
|
|
The following options are available to all Vagrant Chef provisioners. Many of
|
|
these options are for advanced users only and should not be used unless you
|
|
understand their purpose.
|
|
---
|
|
|
|
# Shared Chef Options
|
|
|
|
## All Chef Provisioners
|
|
|
|
The following options are available to all Vagrant Chef provisioners. Many of
|
|
these options are for advanced users only and should not be used unless you
|
|
understand their purpose.
|
|
|
|
- `binary_path` (string) - The path to Chef's `bin/` directory on the guest
|
|
machine.
|
|
|
|
- `binary_env` (string) - Arbitrary environment variables to set before running
|
|
the Chef provisioner command. This should be of the format `KEY=value` as a
|
|
string.
|
|
|
|
- `install` (boolean, string) - Install Chef on the system if it does not exist.
|
|
The default value is "true", which will use the official Omnibus installer
|
|
from Chef. This is a trinary attribute (it can have three values):
|
|
|
|
- `true` (boolean) - install Chef
|
|
- `false` (boolean) - do not install Chef
|
|
- `"force"` (string) - install Chef, even if it is already installed at the
|
|
proper version on the guest
|
|
|
|
- `installer_download_path` (string) - The path where the Chef installer will be
|
|
downloaded to. This option is only honored if the `install` attribute is
|
|
`true` or `"force"`. The default value is to use the path provided by Chef's
|
|
Omnibus installer, which varies between releases. This value has no effect on
|
|
Windows because Chef's omnibus installer lacks the option on Windows.
|
|
|
|
- `log_level` (string) - The Chef log level. See the Chef docs for acceptable
|
|
values.
|
|
|
|
- `product` (string) - The name of the Chef product to install. The default
|
|
value is "chef", which corresponds to the Chef Client. You can also specify
|
|
"chefdk", which will install the Chef Development Kit. At the time of this
|
|
writing, the ChefDK is only available through the "current" channel, so you
|
|
will need to update that value as well.
|
|
|
|
- `channel` (string) - The release channel from which to pull the Chef Client
|
|
or the Chef Development Kit. The default value is `"stable"` which will pull
|
|
the latest stable version of the Chef Client. For newer versions, or if you
|
|
wish to install the Chef Development Kit, you may need to change the channel
|
|
to "current". Because Chef Software floats the versions that are contained in
|
|
the channel, they may change and Vagrant is unable to detect this.
|
|
|
|
- `version` (string) - The version of Chef to install on the guest. If Chef is
|
|
already installed on the system, the installed version is compared with the
|
|
requested version. If they match, no action is taken. If they do not match,
|
|
the value specified in this attribute will be installed in favor of the
|
|
existing version (a message will be displayed).
|
|
|
|
You can also specify "latest" (default), which will install the latest
|
|
version of Chef on the system. In this case, Chef will use whatever
|
|
version is on the system. To force the newest version of Chef to be
|
|
installed on every provision, set the [`install`](#install) option to "force".
|
|
|
|
|
|
## Runner Chef Provisioners
|
|
|
|
The following options are available to any of the Chef "runner" provisioners
|
|
which include [Chef Solo](/docs/provisioning/chef_solo.html), [Chef Zero](/docs/provisioning/chef_zero.html), and [Chef Client](/docs/provisioning/chef_client.html).
|
|
|
|
* `arguments` (string) - A list of additional arguments to pass on the
|
|
command-line to Chef. Since these are passed in a shell-like environment,
|
|
be sure to properly quote and escape characters if necessary. By default,
|
|
no additional arguments are sent.
|
|
|
|
* `attempts` (int) - The number of times Chef will be run if an error occurs.
|
|
This defaults to 1. This can be increased to a higher number if your Chef
|
|
runs take multiple runs to reach convergence.
|
|
|
|
* `custom_config_path` (string) - A path to a custom Chef configuration local
|
|
on your machine that will be used as the Chef configuration. This Chef
|
|
configuration will be loaded _after_ the Chef configuration that Vagrant
|
|
generates, allowing you to override anything that Vagrant does. This is
|
|
also a great way to use new Chef features that may not be supported fully
|
|
by Vagrant's abstractions yet.
|
|
|
|
* `encrypted_data_bag_secret_key_path` (string) - The path to the secret key
|
|
file to decrypt encrypted data bags. By default, this is not set.
|
|
|
|
* `environment` (string) - The environment you want the Chef run to be
|
|
a part of.
|
|
|
|
* `formatter` (string) - The formatter to use for output from Chef.
|
|
|
|
* `http_proxy`, `http_proxy_user`, `http_proxy_pass`, `no_proxy` (string) - Settings
|
|
to configure HTTP and HTTPS proxies to use from Chef. These settings are
|
|
also available with `http` replaced with `https` to configure HTTPS proxies.
|
|
|
|
* `json` (hash) - Custom node attributes to pass into the Chef run.
|
|
|
|
* `log_level` (string) - The log level for Chef output. This defaults to
|
|
"info".
|
|
|
|
* `node_name` (string) - The node name for the Chef Client. By default this
|
|
will be your hostname.
|
|
|
|
* `provisioning_path` (string) - The path on the remote machine where Vagrant
|
|
will store all necessary files for provisioning such as cookbooks, configurations,
|
|
etc. This path must be world writable. By default this is
|
|
`/tmp/vagrant-chef-#` where "#" is replaced by a unique counter.
|
|
|
|
* `run_list` (array) - The run list that will be executed on the node.
|
|
|
|
* `file_cache_path` and `file_backup_path` (string) - Paths on the remote
|
|
machine where files will be cached and backed up. It is useful sometimes
|
|
to configure this to a synced folder address so that this can be shared
|
|
across many Vagrant runs.
|
|
|
|
* `verbose_logging` (boolean) - Whether or not to enable the Chef
|
|
`verbose_logging` option. By default this is false.
|
|
|
|
* `enable_reporting` (boolean) - Whether or not to enable the Chef
|
|
`enable_reporting` option. By default this is true.
|