chef-server
devoptimist/chef-server/linux
Overview This terraform module will deploy a Chef Infra server Supported platform families: Debian SLES * RHEL Usage ``hcl locals { addons = { "manage" = { "config" = "", "channel" = "stable", "version" = "2.5.16" } } chef_server_users = { "jdoe" = { "serveradmin" = true, "first_name" = "Jane", "last_name" = "Doe", "email" = "[email protected]" "password" = "s)meP@55!" } } chef_server_orgs = { "acmecorp" = { "admins" = ["jdoe"], "org_full_name" = "My Company" } } } module "chef_automate_install" { source = "srb3/chef-automate/linux" version = "0.13.1" ip = module.instance["automate"].public_ip[0] ssh_user_name = module.ami.user ssh_user_private_key = var.automate_ssh_user_private_key products = var.automate_products } module "chef_server_install" { source = "srb3/chef-server/linux" version
| Name | Type | Description | Default |
|---|---|---|---|
| ssh_user_name | string | The ssh user name used to access the ip addresses provided | required |
| ip | string | The ip address where the chef server will be installed | required |
| install_version | string | The version of chef server to install | "13.0.17" |
| consul_port | string | The port number to use for consul | "8500" |
| users | map(object({ serveradmin = boo | A map of users to be added to the chef server and their details | {} |
| frontend_secrets | map | A list of secrets to apply to each frontend; for use in a HA cluster | {} |
| automate_module | string | The module output of the chef automate modeule | "" |
| data_collector_url | string | The url to a data collector (automate) end point | "" |
| tmp_path | string | The file path to use for staging install scripts and artifacts | "/var/tmp" |
| consul_datacenter | string | The name of the datacenter to use for consul | "dc1" |
| accept_license | bool | Shall we accept the chef product license | true |
| cert_key | string | An ssl private key to apply to the chef server | "" |
| config | string | Extra config to be passed to a chef server | "" |
| supermarket_url | string | Use this to configure the chef server to talk to a supermarket instance | "" |
| orgs | map(object({ admins = list(str | A map of organisations to be added to the chef server | {} |
| force_run | string | Set to anything other than default to force a rerun of provisioning on all serve | "default" |
| ssh_user_pass | string | The ssh user password used to access the ip addresses (either ssh_user_pass or s | "" |
| cookbooks | map | the cookbooks used to deploy chef server | {
"chef-ingredient": "github: 'chef-co |
| config_block | map | Extra config passed in the form of a map (used for chef ha cluster) | {} |
| timeout | string | The timeout to wait for the connection to become available. Should be provided a | "5m" |
| channel | string | The install channel to use for the chef server | "stable" |
| addons | map | Any addons to be installed should be included in this map | {} |
secret_outputssh_passsupermarket_redirect_urivalidation_client_nameclient_pembase_urlorg_urlnode_nameipssh_usersupermarket_uidsupermarket_secretvalidation_pem