Chef stack is a library cookbook that provides custom resources to build and manage your Chef infrastructure.
An accompanying project, Chef-Services exists as an example implementation of Chef Stack.
Below are the custom resources provided by this cookbook.
These properties exist for all resources
Name | Type | Default Value | Description |
---|---|---|---|
name | String | N/A | A name for the resource |
channel | Symbol | stable | The channel from our package repository to install. Most of the time you want stable. |
version | [String, Symbol] | latest | The version of Automate you want to install |
config | String | N/A | The configuration that will be written to the appropriate configuration file for the product. |
accept_license | [TrueClass, FalseClass] | false | Do you accept Chef's license agreements. |
platform | String | Auto-detected | Use only if you need to over-ride the default platform. |
platform_version | String | Auto-detected | Use only if you need to over-ride the default platform. |
Installs Chef Automate.
Name | Type | Default Value | Description |
---|---|---|---|
enterprise | [String, Array] | chef | The Enterprise to create in Automate |
license | String | N/A | Your license file |
chef_user | String | workflow | The user you will connect to the Chef server as |
chef_user_pem | String | N/A | The private key of the above Chef user |
validation_pem | String | N/A | The validator key of the Chef org we're connecting to |
builder_pem | String | N/A | The private key of the build nodes |
Name | Type | Default Value | Description |
---|---|---|---|
bootstrap_node | String | N/A | The node we'll bootstrap secrets with. |
publish_address | String | node['ipaddress'] | The address you want Chef-Backend to listen on. |
chef_backend_secrets | String | nil | A location where your secrets are |
Name | Type | Default Value | Description |
---|---|---|---|
org | String | N/A | The short name of the org. |
org_full_name | String | node['ipaddress'] | The full name of the org you want to create. |
admins | Array | N/A | An array of admins for the org. |
users | Array | [] | An array of users for the org. |
remove_users | Array | [] | An array of users to remove from the org. |
key_path | String | N/A | Where to store the validator key that is created with the org. |
Name | Type | Default Value | Description |
---|---|---|---|
username | String | N/A | The username of the user. |
first_name | String | N/A | The first name of the user. |
last_name | Array | N/A | The last name of the user. |
Array | [] | N/A | |
password | Array | [] | The users password. |
key_path | String | N/A | Where to store the users private key that is created with the user. |
serveradmin | [TrueClass, FalseClass] | F | Is the user a serveradmin? |
Name | Type | Default Value | Description |
---|---|---|---|
node_name | String | true | The name of the node. |
version | [String, Symbol] | latest | The version of chef-client to install. |
chefdk | [TrueClass, FalseClass] | false | Do you want to install chefdk? |
chef_server_url | [String, Symbol] | local | What is hte Chef server URL to connect to. |
ssl_verify | [TrueClass, FalseClass] | true | Validate ssl certificates? |
log_location | String | 'STDOUT' | Where to log. |
log_level | Symbol | auto | Log level. |
config | String | Any configuration for client.rb. | |
run_list | Array | The clients runlist. | |
environment | String | Which Chef Environment the client belongs to. | |
validation_pem | String | The validation pem to validate with. | |
validation_client_name | String | The validation client name. | |
tags | [String, Array] | '' | Any tags for the node. |
interval | Integer | 1800 | The interval to run chef-client on. |
splay | Integer | 1800 | The randomization to add to the interval. |
data_collector_token | String | '93a49a4f2482c64126f7b6015e6b0f30284287ee4054ff8807fb63d9cbd1c506' | The data collector token to talk to Visibility. |
data_collector_url | String | The Visibility URL to send data. |
Name | Type | Default Value | Description |
---|---|---|---|
filename | String | The name of the resource. | |
source | String | The source of the file. | |
user | String | default 'root' | The owner of the file. |
group | String | default 'root' | The group owner of the file. |
mode | String | default '0600' | The mode for the file. |
Name | Type | Default Value | Description |
---|---|---|---|
addons | Hash | A set of addons to install with the Chef Server. | |
data_collector_token | String | default '93a49a4f2482c64126f7b6015e6b0f30284287ee4054ff8807fb63d9cbd1c506' | The data collector token to authenticate with Chef Visiblity. |
data_collector_url | String | The URL to connect to Visibility. |
Name | Type | Default Value | Description |
---|---|---|---|
chef_server_url | String | Chef::Config['chef_server_url'] | The Chef server's URL. |
chef_oauth2_app_id | String | The oauth2 app id from the Chef server. | |
chef_oauth2_secret | String | The oauth2 secret from the Chef server. | |
chef_oauth2_verify_ssl | [TrueClass, FalseClass] | true | Whether to validate SSL certificates. |
Name | Type | Default Value | Description |
---|---|---|---|
pj_version | [String, Symbol] | :latest | The version of Push-Jobs to install. |
chef_user | String | 'workflow' | The Chef user to authenticate with the Chef Server. |
chef_user_pem | String | The private key of the Chef user to authenticate with the Chef Server. | |
builder_pem | String | The builder users private key to communicate with Chef Automate. | |
chef_fqdn | String | URI.parse(Chef::Config['chef_server_url']).host | The FQDN of the Chef server. |
automate_fqdn | String | ||
supermarket_fqdn | String | The FQDN of the Supermarket server. | |
job_dispatch_version | String | 'v2' | Which job dispatch version to use. V1 is push-jobs, V2 is SSH runners. |
automate_user | String | 'admin' | What is the Automate user we're connecting to Automate as. |
automate_password | String | The password for the user above. | |
automate_enterprise | String | 'chef' | The Enterprise to connect to. |
chef_config_path | String | '/etc/chef/client.rb' | The config path for chef-client. |