chef-backend
devoptimist/chef-backend/linux
Overview This terraform module will deploy a chef server ha cluster, with 3 backends and one or more frontend Supported platform families: Debian SLES * RHEL Usage ``hcl module "chef_ha_cluster" { source = "srb3/chef-backend/linux" version = "0.0.1" ips = ["172.16.0.23"] instance_count = 1 ssh_user_name = "ec2-user" ssh_user_private_ssh_key = "~/.ssh/id_rsa" } `` Inputs | Name | Description | Type | Default | Required | |------|-------------|------|---------|----------| |bootstrap_node_ip|Ip address of the backedend node to bootstrap from|string||yes| |bootstrap_node_count|The number of bootstrap backend nodes being created, should only ever be 1|number|1|no| |backend_node_count|The number of chef backend instances being created, should only ever be 2|number|2|no| |backend_ips|A list of ip
| Name | Type | Description | Default |
|---|---|---|---|
| backend_ips | list(string) | A list of ip addresses where the chef backends will be installed | required |
| ssh_user_name | string | The ssh user name used to access the ip addresses provided | required |
| postgresql_superuser_password | string | Password for the postgres superuser | required |
| postgresql_replication_password | string | Postgres replication user password | required |
| elasticsearch_cluster_name | string | elasticsearch cluster name | required |
| frontend_private_ips | list(string) | List of the private ip's of each frontend server | required |
| frontend_ips | list(string) | A list of ip addresses where the chef server will be installed | required |
| etcd_initial_cluster_token | string | etcd cluster token | required |
| backend_install_version | string | The version of chef backend to install | "2.2.0" |
| frontend_parser_script | string | location of the script used to parse the frontend config | "/bin/fe_parser" |
| supermarket_url | string | The URL to a supermarket instance | "" |
| consul_log_level | string | The log level to run the consul service as | "info" |
| tmp_path | string | The path to a tempory directory to stage the backend cluster and consul install | "/var/tmp" |
| channel | string | The install channel to use for the chef server and backend package | "stable" |
| jq_url | string | A web location to pull the jq binary from, jq is used to prep data for the insta | "https://github.com/stedolan/jq/releases |
| backend_cookbooks | map | the cookbooks used to deploy chef backend | {
"chef-ingredient": "github: 'chef-co |
| frontend_cookbooks | map | the cookbooks used to deploy chef server | {
"chef-ingredient": "github: 'chef-co |
| frontend_runlist | list | The chef run list used to deploy chef server | [
"chef_server_wrapper::default"
] |
| fqdn | string | no longer used | "" |
| frontend_users | map(object({ serveradmin = boo | A map of users to be added to the chef server and their details | {} |
| ssh_user_private_key | string | The ssh user key used to access the ip addresses (either ssh_user_pass or ssh_us | "" |
| backend_runlist | list | The chef run list used to deploy chef backend | [
"chef_backend_wrapper::default"
] |
| extra_frontend_config | string | Extra config to be passed to a chef backends | "" |
| data_collector_token | string | The token used to access the data collector end point | "" |
| timeout | string | The timeout to wait for the connection to become available. Should be provided a | "5m" |
| frontend_config_details | string | The location of the json file containing all the frontends config | "/root/fe_confg/fe_details.json" |
| peers | string | The private ip address of the bootstrapped backend node | "" |
| data_collector_url | string | The url to a data collector (automate) end point | "" |
chef_frontend_base_urlchef_server_org_urlchef_serversupermarket_uidvalidation_client_namefrontend_detailsvalidation_pemclient_pemnode_namesupermarket_secret