Skip to content

Repository files navigation

chef_stack

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.

Custom Resources

Below are the custom resources provided by this cookbook.

General Properties

These properties exist for all resources

NameTypeDefault ValueDescription
nameStringN/AA name for the resource
channelSymbolstableThe channel from our package repository to install. Most of the time you want stable.
version[String, Symbol]latestThe version of Automate you want to install
configStringN/AThe configuration that will be written to the appropriate configuration file for the product.
accept_license[TrueClass, FalseClass]falseDo you accept Chef's license agreements.
platformStringAuto-detectedUse only if you need to over-ride the default platform.
platform_versionStringAuto-detectedUse only if you need to over-ride the default platform.

chef_automate

Installs Chef Automate.

Properties

NameTypeDefault ValueDescription
enterprise[String, Array]chefThe Enterprise to create in Automate
licenseStringN/AYour license file
chef_userStringworkflowThe user you will connect to the Chef server as
chef_user_pemStringN/AThe private key of the above Chef user
validation_pemStringN/AThe validator key of the Chef org we're connecting to
builder_pemStringN/AThe private key of the build nodes

chef_backend

Properties

NameTypeDefault ValueDescription
bootstrap_nodeStringN/AThe node we'll bootstrap secrets with.
publish_addressStringnode['ipaddress']The address you want Chef-Backend to listen on.
chef_backend_secretsStringnilA location where your secrets are

chef_org

Properties

NameTypeDefault ValueDescription
orgStringN/AThe short name of the org.
org_full_nameStringnode['ipaddress']The full name of the org you want to create.
adminsArrayN/AAn array of admins for the org.
usersArray[]An array of users for the org.
remove_usersArray[]An array of users to remove from the org.
key_pathStringN/AWhere to store the validator key that is created with the org.

chef_user

NameTypeDefault ValueDescription
usernameStringN/AThe username of the user.
first_nameStringN/AThe first name of the user.
last_nameArrayN/AThe last name of the user.
emailArray[]N/A
passwordArray[]The users password.
key_pathStringN/AWhere to store the users private key that is created with the user.
serveradmin[TrueClass, FalseClass]FIs the user a serveradmin?

chef_client

NameTypeDefault ValueDescription
node_nameStringtrueThe name of the node.
version[String, Symbol]latestThe version of chef-client to install.
chefdk[TrueClass, FalseClass]falseDo you want to install chefdk?
chef_server_url[String, Symbol]localWhat is hte Chef server URL to connect to.
ssl_verify[TrueClass, FalseClass]trueValidate ssl certificates?
log_locationString'STDOUT'Where to log.
log_levelSymbolautoLog level.
configStringAny configuration for client.rb.
run_listArrayThe clients runlist.
environmentStringWhich Chef Environment the client belongs to.
validation_pemStringThe validation pem to validate with.
validation_client_nameStringThe validation client name.
tags[String, Array]''Any tags for the node.
intervalInteger1800The interval to run chef-client on.
splayInteger1800The randomization to add to the interval.
data_collector_tokenString'93a49a4f2482c64126f7b6015e6b0f30284287ee4054ff8807fb63d9cbd1c506'The data collector token to talk to Visibility.
data_collector_urlStringThe Visibility URL to send data.

chef_file

NameTypeDefault ValueDescription
filenameStringThe name of the resource.
sourceStringThe source of the file.
userStringdefault 'root'The owner of the file.
groupStringdefault 'root'The group owner of the file.
modeStringdefault '0600'The mode for the file.

chef_server

NameTypeDefault ValueDescription
addonsHashA set of addons to install with the Chef Server.
data_collector_tokenStringdefault '93a49a4f2482c64126f7b6015e6b0f30284287ee4054ff8807fb63d9cbd1c506'The data collector token to authenticate with Chef Visiblity.
data_collector_urlStringThe URL to connect to Visibility.

chef_supermarket

NameTypeDefault ValueDescription
chef_server_urlStringChef::Config['chef_server_url']The Chef server's URL.
chef_oauth2_app_idStringThe oauth2 app id from the Chef server.
chef_oauth2_secretStringThe oauth2 secret from the Chef server.
chef_oauth2_verify_ssl[TrueClass, FalseClass]trueWhether to validate SSL certificates.

workflow_builder

NameTypeDefault ValueDescription
pj_version[String, Symbol]:latestThe version of Push-Jobs to install.
chef_userString'workflow'The Chef user to authenticate with the Chef Server.
chef_user_pemStringThe private key of the Chef user to authenticate with the Chef Server.
builder_pemStringThe builder users private key to communicate with Chef Automate.
chef_fqdnStringURI.parse(Chef::Config['chef_server_url']).hostThe FQDN of the Chef server.
automate_fqdnString
supermarket_fqdnStringThe FQDN of the Supermarket server.
job_dispatch_versionString'v2'Which job dispatch version to use. V1 is push-jobs, V2 is SSH runners.
automate_userString'admin'What is the Automate user we're connecting to Automate as.
automate_passwordStringThe password for the user above.
automate_enterpriseString'chef'The Enterprise to connect to.
chef_config_pathString'/etc/chef/client.rb'The config path for chef-client.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages