consul
hashicorp/consul/google
A Terraform Module for how to run Consul on Google Cloud using Terraform and Packer
 !Terraform Version Consul for Google Cloud Platform (GCP) This repo contains a Terraform Module for how to deploy a Consul cluster on GCP using Terraform. Consul is a distributed, highly-available tool that you can use for service discovery and key/value storage. A Consul cluster typically includes a small number of server nodes, which are responsible for being part of the consensus quorum, and a larger number of client nodes, which you typically run alongside your apps: !Consul architecture How to use this Module Each Module has the following folder structure: - modules: This folder contains the reusable code for this Module, broken down into one or more submodules. - examples: This folder contains examples of how to
| Name | Type | Description | Default |
|---|---|---|---|
| consul_server_cluster_tag_name | string | The tag the consul server Compute Instances will look for to automatically disco | required |
| image_project_id | string | The name of the GCP Project where the image is located. Useful when using a sepa | required |
| consul_client_cluster_tag_name | string | A tag that will uniquely identify the Consul Clients. In this example, the Consu | required |
| gcp_region | string | The region in which all GCP resources will be launched. | required |
| network_project_id | string | The name of the GCP Project where the network is located. Useful when using netw | required |
| gcp_project_id | string | The name of the GCP Project where all resources will be launched. | required |
| consul_server_cluster_name | string | The name of the Consul Server cluster. All resources will be namespaced by this | required |
| consul_client_cluster_name | string | The name of the Consul Client example cluster. All resources will be namespaced | required |
| consul_server_source_image | string | The Google Image used to launch each node in the Consul Server cluster. | required |
| consul_client_source_image | string | The Google Image used to launch each node in the Consul Client cluster. | required |
| consul_server_cluster_size | number | The number of nodes to have in the Consul Server cluster. We strongly recommende | 3 |
| consul_server_allowed_inbound_cidr_blocks_http_api | list(string) | A list of CIDR-formatted IP address ranges from which the Compute Instances will | [
"0.0.0.0/0"
] |
| consul_client_allowed_inbound_cidr_blocks_http_api | list(string) | A list of CIDR-formatted IP address ranges from which the Compute Instances will | [
"0.0.0.0/0"
] |
| consul_client_allowed_inbound_cidr_blocks_dns | list(string) | A list of CIDR-formatted IP address ranges from which the Compute Instances will | [] |
| consul_client_cluster_size | number | The number of nodes to have in the Consul Client example cluster. Any number of | 3 |
| consul_server_allowed_inbound_cidr_blocks_dns | list(string) | A list of CIDR-formatted IP address ranges from which the Compute Instances will | [] |
instance_group_name — The name of the Managed Instance Group that contains the Consul Server cluster.instance_group_url — The URL of the Managed Instance Group that contains the Consul Server cluster.instance_template_metadata_fingerprint — A hash computed by the unique combination of metadata associated with the Instance Template used by instance_template_url — The URL of the Instance Template used by the Consul Server cluster.gcp_region — The GCP region where all resources are deployed.cluster_size — The number of servers in the Consul Server cluster.cluster_tag_name — The tag assigned to each Consul Server node that is used to discover other Consul Server nodes.client_instance_group_name — The name of the Managed Instance Group that contains the Consul Client cluster.instance_template_name — The name of the Instance Template used by the Consul Server cluster.gcp_project — The GCP Project where all resources are deployed.