diff --git a/content/attribute_persistence.md b/content/attribute_persistence.md
index 451567ebb9..e3ffa6f7fd 100644
--- a/content/attribute_persistence.md
+++ b/content/attribute_persistence.md
@@ -11,23 +11,21 @@ gh_repo = "chef-web-docs"
parent = "chef_infra/cookbook_reference/attributes"
+++
-All attributes, except for normal attributes, are reset at the beginning
-of a Chef Infra Client run. Attributes set using `chef-client -j` with a
-JSON file have normal precedence and are persisted between Chef Infra
-Client runs. Chef Infra Client rebuilds these attributes using automatic
-attributes collected by Ohai at the beginning of each Chef Infra Client
-run, and then uses default and override attributes that are specified in
-cookbooks, roles, environments, and Policyfiles. All attributes are then
-merged and applied to the node according to attribute precedence. The
-attributes that were applied to the node are saved to the Chef Infra
-Server as part of the node object at the conclusion of each Chef Infra
-Client run.
+All attributes, except for normal attributes, are reset at the beginning of a Chef Infra Client run.
+Attributes set using `chef-client -j` with a JSON file have normal precedence and are persisted between Chef Infra Client runs.
+Chef Infra Client rebuilds these attributes using automatic attributes collected by Ohai at the beginning of each Chef Infra Client
+run, and then uses default and override attributes that are specified in cookbooks, roles, environments, and Policyfiles.
+All attributes are then merged and applied to the node according to attribute precedence.
+The attributes that were applied to the node are saved to the Chef Infra Server as part of the node object at the conclusion of each Chef Infra Client run.
## Limiting Attribute Persistence
-Some organizations find it helpful to control attribute data stored by the Chef Infra Server, whether to limit the disk and CPU resources used when processing unused attributes or to keep secrets like API keys from being submitted to the server. For example, your organization may find the data from the Ohai `Package` plugin useful when writing cookbooks, but do not see the need in saving ~100kB of package information for each Chef Infra Client run. Attribute data will still be available on the node within cookbooks, but any information you limit will not be saved to the Chef Infra Server for use in searches.
+Some organizations find it helpful to control attribute data stored by the Chef Infra Server, whether to limit the disk and CPU resources used when processing unused attributes, or to keep secrets like API keys from being submitted to the server.
+For example, your organization may find the data from the Ohai `Package` plugin useful when writing cookbooks, but don't see the need in saving ~100kB of package information for each Chef Infra Client run.
+Attribute data will still be available on the node within cookbooks, but any information you limit won't be saved to the Chef Infra Server for use in searches.
-Allowing or blocking the saving of specific keys can be set in the [client.rb](/config_rb_client/) file. Each setting is an array of keys specifying each attribute to be filtered out or allowed. Use a "/" to separate subkeys, for example `network/interfaces`
+You can block or allow the saving of specific key using the [`client.rb`](/config_rb_client/) file.
+Each setting is an array of keys specifying each attribute to be filtered out or allowed. Use a "/" to separate subkeys, for example `network/interfaces`.
For attributes containing slashes (`/`) within the attribute value, such as the `filesystem` attribute, use a nested array. For example:
@@ -37,7 +35,11 @@ blocked_automatic_attributes [['filesystem', '/dev/diskos2']]
{{< note >}}
-In Chef Infra Client 16.3, the node Blacklist and Whitelist features were renamed to Blocklist and Allowlist. For backwards compatibility the old configuration values will continue to work, but this document will describe the Blocklist and Allowlist names. See each section below for the appropriate legacy configuration values if you are running legacy clients in your organization.
+In **Chef Infra Client 16.3**, the node Blacklist and Whitelist features were deprecated and renamed to Blocklist and Allowlist.
+In **Chef Infra Client 18** these features became EOL.
+For backwards compatibility, the old configuration values will continue to work through Chef Infra Client 17.x
+
+See each section below for the appropriate legacy configuration values if you are running legacy clients in your organization.
Legacy attribute config mapping:
@@ -70,20 +72,45 @@ Legacy attribute config mapping:
{{< /warning >}}
-Attributes are allowlisted by attribute type, with each attribute type being allowlisted independently. Each attribute type---`automatic`, `default`, `normal`, and `override`---may define allowlists by using the following settings in the client.rb file:
+Attributes are allowlisted by attribute type, with each attribute type being allowlisted independently in the `client.rb` file.
+
+The four attribute types are:
+
+- `automatic`
+- `default`
+- `normal`
+- `override`
+
+The allowlist settings are:
`allowed_automatic_attributes`
-: An array that allows saving specific `automatic` attributes. For example: `['network/interfaces/eth0']`. Default value: `nil`, all attributes are saved. If the array is empty, no attributes are saved.
+: An array that allows saving specific `automatic` attributes. For example: `['network/interfaces/eth0']`.
+
+ Default value: `nil`, all attributes are saved.
+
+ If the array is empty, no attributes are saved.
`allowed_default_attributes`
-: An array that allows saving specific `default` attributes. For example: `['filesystem/dev/disk0s2/size']`. Default value: `nil`, all attributes are saved. If the array is empty, no attributes are saved.
+: An array that allows saving specific `default` attributes. For example: `['filesystem/dev/disk0s2/size']`.
+
+ Default value: `nil`, all attributes are saved.
+
+ If the array is empty, no attributes are saved.
`allowed_normal_attributes`
-: An array that allows saving specific `normal` attributes. For example: `['filesystem/dev/disk0s2/size']`. Default value: `nil`, all attributes are saved. If the array is empty, no attributes are saved.
+: An array that allows saving specific `normal` attributes. For example: `['filesystem/dev/disk0s2/size']`.
+
+ Default value: `nil`, all attributes are saved.
+
+ If the array is empty, no attributes are saved.
`allowed_override_attributes`
-: An array that allows specific `override` attributes, preventing blocklisted attributes from being saved. For example: `['map - autohome/size']`. Default value: `nil`, all attributes are saved. If the array is empty, no attributes are saved.
+: An array that allows specific `override` attributes, preventing blocklisted attributes from being saved. For example: `['map - autohome/size']`.
+
+ Default value: `nil`, all attributes are saved.
+
+ If the array is empty, no attributes are saved.
diff --git a/content/attribute_types.md b/content/attribute_types.md
index 42de85b0c7..b3be23177a 100644
--- a/content/attribute_types.md
+++ b/content/attribute_types.md
@@ -11,17 +11,27 @@ gh_repo = "chef-web-docs"
parent = "chef_infra/cookbook_reference/attributes"
+++
-Chef Infra Client uses six types of attributes to determine the value
-that is applied to a node during a Chef Infra Client run. In addition,
-Chef Infra Client gathers attribute values from up to five locations.
-The combination of attribute types and sources makes up to 15 different
-competing values available during a Chef Infra Client run:
-
-| Attribute Type | Description |
-|----------------|-----------------------------------------|
-| default | {{< readfile file="content/reusable/md/node_attribute_type_default.md" >}} |
-| force_default | Use the force_default attribute to ensure that an attribute defined in a cookbook (by an attribute file or by a recipe) takes precedence over a default attribute set by a role or an environment. |
-| normal | {{< readfile file="content/reusable/md/node_attribute_type_normal.md" >}} |
-| override | {{< readfile file="content/reusable/md/node_attribute_type_override.md" >}} |
-| force_override | Use the force_override attribute to ensure that an attribute defined in a cookbook (by an attribute file or by a recipe) takes precedence over an override attribute set by a role or an environment. |
-| automatic | {{< readfile file="content/reusable/md/node_attribute_type_automatic.md" >}} |
+Chef Infra Client uses six types of attributes to determine the value that is applied to a node during a Chef Infra Client run.
+In addition, Chef Infra Client gathers attribute values from up to five locations.
+The combination of attribute types and sources makes up to 15 different competing values available during a Chef Infra Client run.
+
+The attribute types are:
+
+`default`
+: {{< readfile file="content/reusable/md/node_attribute_type_default.md" >}}
+
+`force_default`
+: Use the force_default attribute to ensure that an attribute defined in a cookbook (by an attribute file or by a recipe) takes precedence over a default attribute set by a role or an environment.
+
+`normal`
+: {{< readfile file="content/reusable/md/node_attribute_type_normal.md" >}}
+
+`override`
+: {{< readfile file="content/reusable/md/node_attribute_type_override.md" >}}
+
+`force_override`
+: Use the force_override attribute to ensure that an attribute defined in a cookbook (by an attribute file or by a recipe) takes precedence over an override attribute set by a role or an environment.
+
+`automatic`
+: {{< readfile file="content/reusable/md/node_attribute_type_automatic.md" >}}
+
diff --git a/content/config_rb_client.md b/content/config_rb_client.md
index 1b5dfb86d6..4b6582d4b5 100644
--- a/content/config_rb_client.md
+++ b/content/config_rb_client.md
@@ -28,17 +28,25 @@ This configuration file has the following settings:
`allowed_automatic_attributes`
: An array that allows `automatic` attributes, preventing non-allowed attributes from being saved.
+ For more information, see [Attribute Persistence]({{< relref "/attribute_persistence#attribute-allowlist" >}}).
+
`allowed_default_attributes`
: An array that allows `default` attributes, preventing non-allowed attributes from being saved.
+ For more information, see [Attribute Persistence]({{< relref "/attribute_persistence#attribute-allowlist" >}}).
+
`allowed_normal_attributes`
: An array that allows `normal` attributes, preventing non-allowed attributes from being saved.
+ For more information, see [Attribute Persistence]({{< relref "/attribute_persistence#attribute-allowlist" >}}).
+
`allowed_override_attributes`
: An array that allows `override` attributes, preventing non-allowed attributes from being saved.
+ For more information, see [Attribute Persistence]({{< relref "/attribute_persistence#attribute-allowlist" >}}).
+
`authentication_protocol_version`
-: Sets the authentication protocol that is used to communicate with Chef Infra Server. For example, specify protocol version 1.3 to enable support for SHA-256 algorithms:
+: Sets the authentication protocol that's used to communicate with Chef Infra Server. For example, specify protocol version 1.3 to enable support for SHA-256 algorithms:
```ruby
knife[:authentication_protocol_version] = '1.3'
@@ -51,23 +59,33 @@ This configuration file has the following settings:
{{< /note >}}
`automatic_attribute_blacklist`
-: An array that blocks `automatic` attributes, preventing blocked attributes from being saved. **Deprecated. EOL Chef Infra Client 18 (April 2022)**: Use `blocked_automatic_attributes`.
+: **EOL in Chef Infra Client 18**. Use `blocked_automatic_attributes`.
+: An array that blocks `automatic` attributes, preventing blocked attributes from being saved.
`automatic_attribute_whitelist`
-: An array that allows `automatic` attributes, preventing non-allowed attributes from being saved. **Deprecated. EOL Chef Infra Client 18 (April 2022)**: Use `allowed_automatic_attributes`.
+: **EOL in Chef Infra Client 18**. Use `allowed_automatic_attributes`.
+: An array that allows `automatic` attributes, preventing non-allowed attributes from being saved.
`blocked_automatic_attributes`
: An array that blocks `automatic` attributes, preventing blocked attributes from being saved.
+ For more information, see [Attribute Persistence]({{< relref "/attribute_persistence#attribute-blocklist" >}}).
+
`blocked_default_attributes`
: An array that blocks `default` attributes, preventing block attributes from being saved.
+ For more information, see [Attribute Persistence]({{< relref "/attribute_persistence#attribute-blocklist" >}}).
+
`blocked_normal_attributes`
: An array allows `normal` attributes, preventing non-allowed attributes from being saved.
+ For more information, see [Attribute Persistence]({{< relref "/attribute_persistence#attribute-blocklist" >}}).
+
`blocked_override_attributes`
: An array blocks `override` attributes, preventing blocked attributes from being saved.
+ For more information, see [Attribute Persistence]({{< relref "/attribute_persistence#attribute-blocklist" >}}).
+
`cache_path`
: The home directory for the user that runs Chef Infra Client as a non-root user.
@@ -75,10 +93,10 @@ This configuration file has the following settings:
: The location in which checksum files are stored. These are used to validate individual cookbook files, such as recipes. The checksum itself is stored in the Chef Infra Server database and is then compared to a file in the checksum path that has a filename identical to the checksum.
`chef_guid`
-: The node UUID used by Automate. Setting this allows the node UUID to be specified, and can be carried across instances of a node.
+: The node UUID used by Chef Automate. Setting this allows the node UUID to be specified, and can be carried across instances of a node.
`chef_license`
-: Used to accept the Chef license. Can be set to `accept` or `accept-no-persist`, which persists the license acceptance to disk. If passed to versions where the license is not required this configuration option is a no-op.
+: Used to accept the Chef license. Can be set to `accept` or `accept-no-persist`, which persists the license acceptance to disk. If passed to versions where the license isn't required this configuration option is a no-op.
`chef_repo_path`
: The path to the chef-repo containing cookbooks and other files, such as environments or data bags, when running Chef Infra Client in local mode.
@@ -91,16 +109,24 @@ This configuration file has the following settings:
```
`chef_zero.enabled`
-: Enable chef-zero. This setting requires `local_mode` to be set to `true`. Default value: `true` if running in local-mode, otherwise `false`.
+: Enable chef-zero. This setting requires `local_mode` to be set to `true`.
+
+ Default value: `true` if running in local-mode, otherwise `false`.
`chef_zero.port`
-: The port on which chef-zero is to listen. If specified as a range, Chef Infra Client will take the first available port in the range. For example `10,20,30` or `10000-20000`. Default value: `8889-9999`.
+: The port on which chef-zero is to listen. If specified as a range, Chef Infra Client will take the first available port in the range. For example `10,20,30` or `10000-20000`.
+
+ Default value: `8889-9999`.
`clear_gem_sources`
-: Globally sets the default of the `clear_sources` property on the `gem_package` and `chef_gem` resources. Default value: `false`.
+: Globally sets the default of the `clear_sources` property on the `gem_package` and `chef_gem` resources.
+
+ Default value: `false`.
`client_fork`
-: Contain Chef Infra Client runs in a secondary process with dedicated RAM. When a Chef Infra Client run is complete, the RAM is returned to the master process. This setting helps ensure that a Chef Infra Client uses a steady amount of RAM over time because the master process does not run recipes. This setting also helps prevent memory leaks such as those that can be introduced by the code contained within a poorly designed cookbook. Default value: `true`. Set to `false` to disable running Chef Infra Client in fork node.
+: Contain Chef Infra Client runs in a secondary process with dedicated RAM. When a Chef Infra Client run is complete, the RAM is returned to the parent process. This setting helps ensure that a Chef Infra Client uses a steady amount of RAM over time because the parent process doesn't run recipes. This setting also helps prevent memory leaks such as those that can be introduced by the code contained within a poorly designed cookbook.
+
+ Default value: `true`. Set to `false` to disable running Chef Infra Client in fork node.
{{< note spaces=4 >}}
@@ -109,10 +135,14 @@ This configuration file has the following settings:
{{< /note >}}
`client_key`
-: The location of the file that contains the client key. Default value: `/etc/chef/client.pem`.
+: The location of the file that contains the client key.
+
+ Default value: `/etc/chef/client.pem`.
`client_registration_retries`
-: The number of times a Chef Infra Client will attempt to register with a Chef Infra Server. Default value: `5`.
+: The number of times a Chef Infra Client will attempt to register with a Chef Infra Server.
+
+ Default value: `5`.
`client_d_dir`
: A directory that contains additional configuration files for Chef Infra Client.
@@ -121,13 +151,18 @@ This configuration file has the following settings:
: The sub-directory for Chef Infra Client cookbooks. This value can be a string or an array of file system locations, processed in the specified order. The last cookbook is considered to override local modifications.
`cookbook_sync_threads`
-: The number of helper threads available for parallel cookbook synchronization. Increasing this value **may** increase the frequency of gateway errors from the Chef Infra Server (503 and 504 errors). Decreasing this number reduces the frequency of gateway errors, if present. Default value: `10`.
+: The number of helper threads available for parallel cookbook synchronization. Increasing this value **may** increase the frequency of gateway errors from the Chef Infra Server (503 and 504 errors). Decreasing this number reduces the frequency of gateway errors, if present.
+
+ Default value: `10`.
`data_bag_decrypt_minimum_version`
-: The minimum required version of data bag encryption. Possible values: `1`, `2`, and `3`. It is recommended to use the default value of `3` for additional encrypted data bag security.
+: The minimum required version of data bag encryption. Possible values: `1`, `2`, and `3`.
+ Use the default value of `3` for additional encrypted data bag security.
`data_bag_path`
-: The location from which a data bag is loaded. Default value: `/var/chef/data_bags`.
+: The location from which a data bag is loaded.
+
+ Default value: `/var/chef/data_bags`.
`data_collector.server_url`
: The fully qualified URL to the data collector server API.
@@ -136,34 +171,48 @@ This configuration file has the following settings:
: The shared data collector security token. When configured, the token will be passed as an HTTP header named `x-data-collector-token` which the server can choose to accept or reject.
`data_collector.mode`
-: The Chef Infra Client mode in which the Data Collector will be enabled. Possible values: `:solo`, `:client`, or `:both`. The `:solo` value is used for Chef Infra Client operating in Chef Solo Mode or Chef Solo Legacy Mode. Default value: `both`.
+: The Chef Infra Client mode in which the Data Collector will be enabled. Possible values: `:solo`, `:client`, or `:both`. The `:solo` value is used for Chef Infra Client operating in Chef Solo Mode or Chef Solo Legacy Mode.
+
+ Default value: `both`.
`data_collector.raise_on_failure`
-: When enabled, Chef Infra Client raises an error if it cannot successfully POST to the data collector server. Default value: `false`.
+: When enabled, Chef Infra Client raises an error if it can't successfully POST to the data collector server.
+
+ Default value: `false`.
`default_attribute_blacklist`
-: normal that blocks `default` attributes, preventing block attributes from being saved. **Deprecated. EOL Chef Infra Client 18 (April 2022)**: Use `blocked_default_attributes`.
+: **EOL in Chef Infra Client 18**. Use `blocked_default_attributes`.
+: Normal that blocks `default` attributes, preventing block attributes from being saved.
`default_attribute_whitelist`
-: normal that allows `default` attributes, preventing non-allowed attributes from being saved. **Deprecated. EOL Chef Infra Client 18 (April 2022)**: Use `allowed_default_attributes`.
+: **EOL in Chef Infra Client 18**. Use `allowed_default_attributes`.
+: Normal that allows `default` attributes, preventing non-allowed attributes from being saved.
`diff_disabled`
-: Cause Chef Infra Client to create a diff when changes are made to a file. Default value: `false`.
+: Cause Chef Infra Client to create a diff when changes are made to a file.
+
+ Default value: `false`.
`diff_filesize_threshold`
-: The maximum size (in bytes) of a file for which Chef Infra Client can create a diff. Default value: `10000000`.
+: The maximum size (in bytes) of a file for which Chef Infra Client can create a diff.
+
+ Default value: `10000000`.
`diff_output_threshold`
-: The maximum size (in bytes) of a diff file Chef Infra Client can create. Default value: `1000000`.
+: The maximum size (in bytes) of a diff file Chef Infra Client can create.
+
+ Default value: `1000000`.
`disable_event_logger`
-: Enable or disable sending Chef Infra Client internal state events to the Windows "Application" event log. Set to `false` to send events to the Windows "Application" event log at the start and end of a Chef Infra Client run, and also if a Chef Infra Client run fails. Use `log_location` to set the destination of your Chef Infra Client logs to the Windows event log. Set to `true` to disable event logging. Default value: `false`.
+: Enable or disable sending Chef Infra Client internal state events to the Windows "Application" event log. Set to `false` to send events to the Windows "Application" event log at the start and end of a Chef Infra Client run, and also if a Chef Infra Client run fails. Use `log_location` to set the destination of your Chef Infra Client logs to the Windows event log. Set to `true` to disable event logging.
+
+ Default value: `false`.
`enable_reporting`
-: Cause Chef Infra Client to send run data to the Automate server.
+: Cause Chef Infra Client to send run data to Chef Automate server.
`enable_reporting_url_fatals`
-: Cause a Chef Infra Client run to fail when run data cannot be sent to the Automate server (for any reason).
+: Cause a Chef Infra Client run to fail when run data can't be sent to the Chef Automate server (for any reason).
`enable_selinux_file_permission_fixup`
: SELinux environments only. Cause Chef Infra Client to attempt to apply the correct file permissions to an updated file using the `restorecon` command. Set to `false` to prevent Chef Infra Client from attempting this action.
@@ -172,22 +221,34 @@ This configuration file has the following settings:
: The path to a secrets file which can decrypt encrypted data bags.
`enforce_default_paths`
-: Turn on path sanity in resources that shellout so that expected paths like /sbin or /bin are added to the PATH. Disabled by default.
+: Turn on path sanity in resources that shellout so that expected paths like `/sbin` or `/bin` are added to the PATH.
+
+ Disabled by default.
`enforce_path_sanity`
-: Turn on path sanity in resources that shellout so that expected paths like /sbin or /bin are added to the PATH. Disabled by default. **Deprecated. EOL Chef Infra Client 18 (April 2022)**: Use `enforce_default_paths`.
+: **EOL in Chef Infra Client 18**. Use `enforce_default_paths`.
+: Turn on path sanity in resources that shellout so that expected paths like `/sbin` or `/bin` are added to the PATH.
+
+ Disabled by default.
`environment`
: The name of the Chef Infra environment.
`environment_path`
-: The path to the environment file. Default value: `/var/chef/environments`.
+: The path to the environment file.
+
+ Default value: `/var/chef/environments`.
`exit_status`
-: When set to `:enabled`, Chef Infra Client will use [standardized exit codes](https://github.com/chef/chef/blob/main/docs/dev/design_documents/client_exit_codes.md#exit-codes-in-use) for the Chef Infra Client run status, and any non-standard exit codes will be converted to `1` or `GENERIC_FAILURE`. This setting can also be set to `:disabled` to use the pre-Chef Infra Client 13 exit code behavior. Default value: `nil`.
+: When set to `:enabled`, Chef Infra Client will use [standardized exit codes](https://github.com/chef/chef/blob/main/docs/dev/design_documents/client_exit_codes.md#exit-codes-in-use) for the Chef Infra Client run status, and any non-standard exit codes will be converted to `1` or `GENERIC_FAILURE`.
+ This setting can also be set to `:disabled` to use the pre-Chef Infra Client 13 exit code behavior.
+
+ Default value: `nil`.
`file_atomic_update`
-: Apply atomic file updates to all resources. Set to `true` for global atomic file updates. Set to `false` for global non-atomic file updates. (Use the `atomic_update` setting for each resource to override this setting.) Default value: `true`.
+: Apply atomic file updates to all resources. Set to `true` for global atomic file updates. Set to `false` for global non-atomic file updates. (Use the `atomic_update` setting for each resource to override this setting.)
+
+ Default value: `true`.
{{< warning spaces=4 >}}
@@ -196,37 +257,51 @@ This configuration file has the following settings:
{{< /warning >}}
`file_backup_path`
-: The location in which backup files are stored. If this value is empty, backup files are stored in the directory of the target file. Default value: `/var/chef/backup`.
+: The location in which backup files are stored. If this value is empty, backup files are stored in the directory of the target file.
+
+ Default value: `/var/chef/backup`.
`file_cache_path`
-: The location in which cookbooks (and other transient data) files are stored when they are synchronized. This value can also be used in recipes to download files with the **remote_file** resource.
+: The location in which cookbooks (and other transient data) files are stored when they're synchronized. This value can also be used in recipes to download files with the **remote_file** resource.
`file_staging_uses_destdir`
-: How file staging (using temporary files) is done. When `true`, temporary files are created in the directory in which files will reside. When `false`, temporary files are created under `ENV['TMP']`. Default value: `true`.
+: How file staging (using temporary files) is done. When `true`, temporary files are created in the directory in which files will reside. When `false`, temporary files are created under `ENV['TMP']`.
+
+ Default value: `true`.
`fips`
: Allows OpenSSL to enforce FIPS-validated security during a Chef Infra Client run. Set to `true` to enable FIPS-validated security.
`force_formatter`
-: Using force_formatter causes chef to default to formatter output when STDOUT is not a tty
+: Using `force_formatter` makes Chef Infra Client default to formatter output when STDOUT isn't a TTY.
`force_logger`
-: Using force_logger causes chef to default to logger output when STDOUT is a tty
+: Using `force_logger` makes Chef Infra Client default to logger output when STDOUT is a TTY.
`ftp_proxy`
: The proxy server for FTP connections.
`ftp_proxy_pass`
-: The password for the proxy server when the proxy server is using an FTP connection. Default value: `nil`.
+: The password for the proxy server when the proxy server is using an FTP connection.
+
+ Default value: `nil`.
`ftp_proxy_user`
-: The user name for the proxy server when the proxy server is using an FTP connection. Default value: `nil`.
+: The user name for the proxy server when the proxy server is using an FTP connection.
+
+ Default value: `nil`.
`group`
-: The group that owns a process. This is required when starting any executable as a daemon. Default value: `nil`.
+: The group that owns a process. This is required when starting any executable as a daemon.
+
+ Default value: `nil`.
`gem_installer_bundler_options`
-: Additional options to pass to bundler when installing metadata for cookbook. Default value: `nil`. For example
+: Additional options to pass to bundler when installing metadata for cookbook.
+
+ Default value: `nil`.
+
+ For example:
```ruby
gem_installer_bundler_options = [
@@ -241,31 +316,49 @@ This configuration file has the following settings:
```
`http_proxy`
-: The proxy server for HTTP connections. Default value: `nil`.
+: The proxy server for HTTP connections.
+
+ Default value: `nil`.
`http_proxy_pass`
-: The password for the proxy server when the proxy server is using a HTTP connection. Default value: `nil`.
+: The password for the proxy server when the proxy server is using a HTTP connection.
+
+ Default value: `nil`.
`http_proxy_user`
-: The user name for the proxy server when the proxy server is using a HTTP connection. Default value: `nil`.
+: The user name for the proxy server when the proxy server is using a HTTP connection.
+
+ Default value: `nil`.
`http_retry_count`
-: The number of retry attempts. Default value: `5`.
+: The number of retry attempts.
+
+ Default value: `5`.
`http_retry_delay`
-: The delay (in seconds) between retry attempts. Default value: `5`.
+: The delay (in seconds) between retry attempts.
+
+ Default value: `5`.
`https_proxy`
-: The proxy server for HTTPS connections. Default value: `nil`.
+: The proxy server for HTTPS connections.
+
+ Default value: `nil`.
`https_proxy_pass`
-: The password for the proxy server when the proxy server is using a HTTPS connection. Default value: `nil`.
+: The password for the proxy server when the proxy server is using a HTTPS connection.
+
+ Default value: `nil`.
`https_proxy_user`
-: The user name for the proxy server when the proxy server is using a HTTPS connection. Default value: `nil`.
+: The user name for the proxy server when the proxy server is using a HTTPS connection.
+
+ Default value: `nil`.
`interval`
-: The frequency (in seconds) at which Chef Infra Client runs when running in daemonized mode. We do not recommend running in daemonized mode. Instead you should rely on scheduled execution from system schedulers like systemd timers, cron jobs, or Windows Scheduled Tasks. Default value: `1800`.
+: The frequency (in seconds) at which Chef Infra Client runs when running in daemonized mode. We don't recommend running in daemonized mode. Instead you should rely on scheduled execution from system schedulers like systemd timers, cron jobs, or Windows Scheduled Tasks.
+
+ Default value: `1800`.
`json_attribs`
: The path to a file that contains JSON data.
@@ -274,19 +367,25 @@ This configuration file has the following settings:
: Run chef-zero in socketless mode. Set to `false` to disable port binding and HTTP requests on localhost.
`local_key_generation`
-: Whether the Chef Infra Server or Chef Infra Client generates the private/public key pair. When `true`, Chef Infra Client generates the key pair, and then sends the public key to the Chef Infra Server. Default value: `true`.
+: Whether the Chef Infra Server or Chef Infra Client generates the private/public key pair. When `true`, Chef Infra Client generates the key pair, and then sends the public key to the Chef Infra Server.
+
+ Default value: `true`.
`local_mode`
: Run Chef Infra Client in local mode. This allows all commands that work against the Chef Infra Server to also work against the local chef-repo.
`lockfile`
-: The location of the Chef Infra Client lock file. This value is typically platform dependent, so it should be a location defined by `file_cache_path`. The default location of a lock file should not be on an NFS mount. Default value: a location defined by `file_cache_path`.
+: The location of the Chef Infra Client lock file. This value is typically platform dependent, so it should be a location defined by `file_cache_path`. The default location of a lock file shouldn't be on an NFS mount.
+
+ Default value: a location defined by `file_cache_path`.
`log_level`
-: The level of logging to be stored in a log file. Possible levels: `:auto` (default), `:trace`, `:debug`, `:info`, `:warn`, `:error`, or `:fatal`. The `:auto` level will use `:warn` when a terminal is available or `:info` when a terminal is not available.
+: The level of logging to be stored in a log file. Possible levels: `:auto` (default), `:trace`, `:debug`, `:info`, `:warn`, `:error`, or `:fatal`. The `:auto` level will use `:warn` when a terminal is available or `:info` when a terminal isn't available.
`log_location`
-: The location of the log file. Possible values: `/path/to/log_location`, `STDOUT`, `STDERR`, `:win_evt` (Windows Event Logger), or `:syslog` (writes to the syslog daemon facility with the originator set as `chef-client`). The application log will specify the source as `Chef`. Default value: `STDOUT`.
+: The location of the log file. Possible values: `/path/to/log_location`, `STDOUT`, `STDERR`, `:win_evt` (Windows Event Logger), or `:syslog` (writes to the syslog daemon facility with the originator set as `chef-client`). The application log will specify the source as `Chef`.
+
+ Default value: `STDOUT`.
`migrate_key_to_keystore`
: Set to `true` to tell the Chef Infra Client to create a new key pair in a PFX certificate object and store that in the local machine certificate store. Chef Infra Client will check for the presence of that key when the headers to connect to Chef Infra Server are built and will use it if present. **Windows only.**
@@ -298,31 +397,43 @@ This configuration file has the following settings:
: A specific named runlist defined in the node's applied Policyfile which should be used when running Chef Infra Client.
`no_lazy_load`
-: Download all cookbook files and templates at the beginning of a Chef Infra Client run. Default value: `true`.
+: Download all cookbook files and templates at the beginning of a Chef Infra Client run.
+
+ Default value: `true`.
`no_proxy`
-: A comma-separated list of URLs that do not need a proxy. Default value: `nil`.
+: A comma-separated list of URLs that don't need a proxy.
+
+ Default value: `nil`.
`node_name`
: The unique identifier of the node. This determines which configuration should be applied and sets the `client_name`, which is the name used when authenticating to a Chef Infra Server. By default, Chef Infra Client will use the system's FQDN as the node name. In general, Chef recommends that you leave this setting blank and let the client assign the FQDN of the node as the `node_name` during each Chef Infra Client run.
`node_path`
-: The location in which nodes are stored during a Chef Infra Client run in local mode. Default value: `/var/chef/node`.
+: The location in which nodes are stored during a Chef Infra Client run in local mode.
+
+ Default value: `/var/chef/node`.
`normal_attribute_blacklist`
-: An array that blocks `normal` attributes, preventing blocked attributes from being saved. **Deprecated. EOL Chef Infra Client 18 (April 2022)**: Use `blocked_normal_attributes`.
+: **EOL in Chef Infra Client 18**. Use `blocked_normal_attributes`.
+: An array that blocks `normal` attributes, preventing blocked attributes from being saved.
`override_attribute_blacklist`
-: An array that blocks `override` attributes, preventing blocked attributes from being saved. **Deprecated. EOL Chef Infra Client 18 (April 2022)**: Use `blocked_override_attributes`.
+: **EOL in Chef Infra Client 18**. Use `blocked_override_attributes`.
+: An array that blocks `override` attributes, preventing blocked attributes from being saved.
`normal_attribute_whitelist`
-: An array that allows `normal` attributes, preventing non-allowed attributes from being saved. **Deprecated. EOL Chef Infra Client 18 (April 2022)**: Use `allowed_normal_attributes`.
+: **EOL in Chef Infra Client 18**. Use `allowed_normal_attributes`.
+: An array that allows `normal` attributes, preventing non-allowed attributes from being saved.
`override_attribute_whitelist`
-: An array that allows `override` attributes, preventing non-allowed attributes from being saved. **Deprecated. EOL Chef Infra Client 18 (April 2022)**: Use `allowed_override_attributes`.
+: **EOL in Chef Infra Client 18**. Use `allowed_override_attributes`.
+: An array that allows `override` attributes, preventing non-allowed attributes from being saved.
`pid_file`
-: The location in which a process identification number (pid) is saved. An executable, when started as a daemon, writes the pid to the specified file. Default value: `/tmp/name-of-executable.pid`.
+: The location in which a process identification number (pid) is saved. An executable, when started as a daemon, writes the pid to the specified file.
+
+ Default value: `/tmp/name-of-executable.pid`.
`policy_group`
: The name of a policy group that exists on the Chef Infra Server. `policy_name` must also be specified.
@@ -340,46 +451,70 @@ This configuration file has the following settings:
: A URL to download recipes from when running in local mode.
`rest_timeout`
-: The time (in seconds) after which an HTTP REST request is to time out. Default value: `300`.
+: The time (in seconds) after which an HTTP REST request is to time out.
+
+ Default value: `300`.
`role_path`
-: The location in which role files are located. Default value: `/var/chef/roles`.
+: The location in which role files are located.
+
+ Default value: `/var/chef/roles`.
`rubygems_url`
-: The location to source rubygems. It can be set to a string or array of strings for URIs to set as rubygems sources. This allows individuals to setup an internal mirror of rubygems for "airgapped" environments. Default value: `https://www.rubygems.org`. If a `source` is specified in either `gem_package` of `chef_gem` resources it will be added to the values provided here.
+: The location to source rubygems. It can be set to a string or array of strings for URIs to set as rubygems sources. This allows individuals to setup an internal mirror of rubygems for "airgapped" environments.
+
+ Default value: `https://www.rubygems.org`. If a `source` is specified in either `gem_package` of `chef_gem` resources it will be added to the values provided here.
`run_lock_timeout`
-: The amount of time (in seconds) to wait for a Chef Infra Client lock file to be deleted. A Chef Infra Client run will not start when a lock file is present. If a lock file is not deleted before this time expires, the pending Chef Infra Client run will exit. Default value: not set (indefinite). Set to `0` to cause a second Chef Infra Client to exit immediately.
+: The amount of time (in seconds) to wait for a Chef Infra Client lock file to be deleted.
+ A Chef Infra Client run won't start when a lock file is present.
+ If a lock file isn't deleted before this time expires, the pending Chef Infra Client run exits.
+
+ Default value: not set (indefinite). Set to `0` to cause a second Chef Infra Client to exit immediately.
`script_path`
-: An array of paths to search for knife exec scripts if they are not in the current directory
+: An array of paths to search for knife exec scripts if they're not in the current directory
`skip_gem_metadata_installation`
-: when `skip_gem_metadata_installation` is set to true, cookbook gem installation will be skipped. Default value: `false`
+: when `skip_gem_metadata_installation` is set to true, cookbook gem installation will be skipped.
+
+ Default value: `false`
`splay`
-: A random number between zero and `splay` that is added to `interval`. Use splay to help balance the load on the Chef Infra Server by ensuring that many Chef Infra Client runs are not occurring at the same interval. Default value: `nil`.
+: A random number between zero and `splay` that is added to `interval`. Use splay to help balance the load on the Chef Infra Server by ensuring that many Chef Infra Client runs aren't occurring at the same interval.
+
+ Default value: `nil`.
`stream_execute_output`
-: Always stream the output of `execute` resources even if the `live_stream` property is not set to true. Default value: `false`
+: Always stream the output of `execute` resources even if the `live_stream` property isn't set to true.
+
+ Default value: `false`
`show_download_progress`
-: Using show_download_progress will display the overall progress of a `remote_file` download. Default value: `false`
+: Using show_download_progress will display the overall progress of a `remote_file` download.
+
+ Default value: `false`
`download_progress_interval`
-: When `show_download_progress` is set to true this is the interval in seconds to write out download progress. Default value: `10`
+: When `show_download_progress` is set to true this is the interval in seconds to write out download progress.
+
+ Default value: `10`
`ssl_ca_file`
-: The file in which the OpenSSL key is saved. Chef Infra Client generates this setting automatically and most users do not need to modify it.
+: The file in which the OpenSSL key is saved. Chef Infra Client generates this setting automatically and most users don't need to modify it.
`ssl_ca_path`
-: The path to where the OpenSSL key is located. Chef Infra Client generates this setting automatically and most users do not need to modify it.
+: The path to where the OpenSSL key is located. Chef Infra Client generates this setting automatically and most users don't need to modify it.
`ssl_client_cert`
-: The OpenSSL X.509 certificate used for mutual certificate validation. This setting is only necessary when mutual certificate validation is configured on the Chef Infra Server. Default value:`nil`.
+: The OpenSSL X.509 certificate used for mutual certificate validation. This setting is only necessary when mutual certificate validation is configured on the Chef Infra Server.
+
+ Default value:`nil`.
`ssl_client_key`
-: The OpenSSL X.509 key used for mutual certificate validation. This setting is only necessary when mutual certificate validation is configured on the Chef Infra Server. Default value: `nil`.
+: The OpenSSL X.509 key used for mutual certificate validation. This setting is only necessary when mutual certificate validation is configured on the Chef Infra Server.
+
+ Default value: `nil`.
`ssl_verify_mode`
: Set the verify mode for HTTPS requests.
@@ -387,32 +522,48 @@ This configuration file has the following settings:
- Use `:verify_none` for no validation of SSL certificates.
- Use `:verify_peer` for validation of all SSL certificates, including the Chef Infra Server connections, S3 connections, and any HTTPS **remote_file** resource URLs used in Chef Infra Client runs. This is the recommended setting.
- Depending on how OpenSSL is configured, the `ssl_ca_path` may nee to be specified. Default value: `:verify_peer`.
+ Depending on how OpenSSL is configured, the `ssl_ca_path` may nee to be specified.
+
+ Default value: `:verify_peer`.
`trusted_certs_dir`
-: A directory that contains additional SSL certificates to trust. Any certificates in this directory will be added to whatever CA bundle ruby is using. Use this to add self-signed certs for your Chef Infra Server or local HTTP file servers. Default value: `trusted_certs` directory in your chef configuration directory.
+: A directory that contains additional SSL certificates to trust. Any certificates in this directory will be added to whatever CA bundle ruby is using.
+ Use this to add self-signed certs for your Chef Infra Server or local HTTP file servers.
+
+ Default value: `trusted_certs` directory in your chef configuration directory.
`umask`
-: The file mode creation mask, or umask. Default value: `0022`.
+: The file mode creation mask, or umask.
+
+ Default value: `0022`.
`use_policyfile`
-: Chef Infra Client automatically checks the configuration, node JSON, and the stored node on the Chef Infra Server to determine if Policyfile files are in use, and then automatically updates this flag. Default value: `false`.
+: Chef Infra Client automatically checks the configuration, node JSON, and the stored node on the Chef Infra Server to determine if Policyfile files are in use, and then automatically updates this flag.
+
+ Default value: `false`.
`user`
-: The user that owns a process. This is required when starting any executable as a daemon. Default value: `nil`.
+: The user that owns a process. This is required when starting any executable as a daemon.
+
+ Default value: `nil`.
`validation_client_name`
: The name of the chef-validator key that Chef Infra Client uses to access the Chef Infra Server during the initial Chef Infra Client run. This is only used by the legacy validator based bootstrapping.
`validation_key`
-: The location of the file that contains the key used when a Chef Infra Client is registered with a Chef Infra Server. A validation key is signed using the `validation_client_name` for authentication. Default value: `/etc/chef/validation.pem`. This is only used by the legacy validator based bootstrapping.
+: The location of the file that contains the key used when a Chef Infra Client is registered with a Chef Infra Server. A validation key is signed using the `validation_client_name` for authentication.
+
+ Default value: `/etc/chef/validation.pem`. This is only used by the legacy validator based bootstrapping.
`verbose_logging`
-: Set the log level. Options: `true`, `nil`, and `false`. When this is set to `false`, notifications about individual resources being processed are suppressed (and are output at the `:info` logging level). Setting this to `false` can be useful when a Chef Infra Client is run as a daemon. Default value: `nil`.
+: Set the log level. Options: `true`, `nil`, and `false`. When this is set to `false`, notifications about individual resources being processed are suppressed (and are output at the `:info` logging level). Setting this to `false` can be useful when a Chef Infra Client is run as a daemon.
+
+ Default value: `nil`.
`verify_api_cert`
-: Verify the SSL certificate on the Chef Infra Server. When `true`, Chef Infra Client always verifies the SSL certificate. When `false`, Chef Infra Client uses the value of `ssl_verify_mode` to determine if the SSL certificate requires verification. Default value: `false`.
-A job entry may also be `'job-name' => {:lock => true}`, which will check the `lockfile` setting in the client.rb file before starting the job.
+: Verify the SSL certificate on the Chef Infra Server. When `true`, Chef Infra Client always verifies the SSL certificate. When `false`, Chef Infra Client uses the value of `ssl_verify_mode` to determine if the SSL certificate requires verification.
+
+ Default value: `false`.
### Automatic Proxy Config
diff --git a/content/reusable/md/config_rb_client_summary.md b/content/reusable/md/config_rb_client_summary.md
index 6f4d6eb3e6..8d7bf87ebb 100644
--- a/content/reusable/md/config_rb_client_summary.md
+++ b/content/reusable/md/config_rb_client_summary.md
@@ -1,7 +1,6 @@
-The client.rb file specifies how Chef Infra Client is configured on a
-node and has the following characteristics:
+The `client.rb` file configures Chef Infra Client on a node and has the following characteristics:
-- This file is loaded every time the chef-client executable is run.
+- This file is loaded every time the `chef-client` executable is run.
- On Windows machines, the default location for this file is
`C:\chef\client.rb`. On all other systems the default location for
this file is `/etc/chef/client.rb`.
diff --git a/content/reusable/md/node_attribute_blocklist.md b/content/reusable/md/node_attribute_blocklist.md
index a3a4e9d073..ae5b548758 100644
--- a/content/reusable/md/node_attribute_blocklist.md
+++ b/content/reusable/md/node_attribute_blocklist.md
@@ -1,28 +1,59 @@
-Attributes are blocklisted by attribute type, with each attribute type being blocklisted independently. Each attribute type---`automatic`, `default`, `normal`, and `override`---may define blocklists by using the following settings in the client.rb file:
+Attributes are blocklisted by attribute type, with each attribute type being blocklisted independently in the `client.rb` file.
+
+The four attribute types are:
+
+- `automatic`
+- `default`
+- `normal`
+- `override`
+
+The blocklist settings are:
`blocked_automatic_attributes`
-: An array that blocklists `automatic` attributes, preventing blocklisted attributes from being saved. For example: `['packages']`. Default value: `nil`, all attributes are saved. If the array is empty, all attributes are saved.
+: An array that blocklists `automatic` attributes, preventing blocklisted attributes from being saved. For example: `['packages']`.
+
+ Default value: `nil`, all attributes are saved.
+
+ If the array is empty, all attributes are saved.
`blocked_default_attributes`
-: An array that blocklists `default` attributes, preventing blocklisted attributes from being saved. For example: `['filesystem/dev/disk0s2/size']`. Default value: `nil`, all attributes are saved. If the array is empty, all attributes are saved.
+: An array that blocklists `default` attributes, preventing blocklisted attributes from being saved. For example: `['filesystem/dev/disk0s2/size']`.
+
+ Default value: `nil`, all attributes are saved.
+
+ If the array is empty, all attributes are saved.
`blocked_normal_attributes`
-: An array that blocklists `normal` attributes, preventing blocklisted attributes from being saved. For example: `['filesystem/dev/disk0s2/size']`. Default value: `nil`, all attributes are saved. If the array is empty, all attributes are saved.
+: An array that blocklists `normal` attributes, preventing blocklisted attributes from being saved. For example: `['filesystem/dev/disk0s2/size']`.
+
+ Default value: `nil`, all attributes are saved.
+
+ If the array is empty, all attributes are saved.
`blocked_override_attributes`
-: An array that blocklists `override` attributes, preventing blocklisted attributes from being saved. For example: `['map - autohome/size']`. Default value: `nil`, all attributes are saved. If the array is empty, all attributes are saved.
+: An array that blocklists `override` attributes, preventing blocklisted attributes from being saved. For example: `['map - autohome/size']`.
+
+ Default value: `nil`, all attributes are saved.
+
+ If the array is empty, all attributes are saved.
#### Blocklisting Ohai (automatic) attributes
-The recommended practice is to use `blocked_automatic_attributes` to block attributes populated by Ohai's system information gathering. Ohai gathers a large number of attributes that can consume a significant amount of storage space on the Chef Infra Server. Many of these attributes may be considered highly valuable, while others could be blocklisted without any impact to data available in search. Normal, default, and override attributes are typically much more important attributes used within cookbooks and are more likely to cause issues if they are blocklisted incorrectly.
+Use `blocked_automatic_attributes` to block attributes populated by Ohai's system information gathering.
+
+Ohai gathers a large number of attributes that can consume a significant amount of storage space on the Chef Infra Server.
+Many of these attributes may be considered highly valuable, while others could be blocklisted without any impact to data available in search.
+Normal, default, and override attributes are typically much more important attributes used within cookbooks and are more likely to cause issues if they're blocklisted incorrectly.
+
+##### Example
-For example, automatic attribute data similar to:
+The following shows an example of automatic attribute data.
```json
{
@@ -43,10 +74,10 @@ For example, automatic attribute data similar to:
}
```
-To blocklist the `filesystem` attributes and allow the other attributes to be saved, update the client.rb file:
+To blocklist the `filesystem` attributes and allow Infra Client to save the other attributes, update the `client.rb`.
```ruby
blocked_automatic_attributes ['filesystem']
```
-When a blocklist is defined, any attribute of that type that is not specified in that attribute blocklist **will** be saved. So based on the previous blocklist for automatic attributes, the `filesystem` and `map - autohome` attributes will not be saved, but the `network` attributes will.
+This blocklist blocks Chef Infra Client from saving the `filesystem` and `map - autohome` attributes, but saves the `network` attributes.