No description
  • HCL 69.2%
  • Smarty 30.8%
Find a file
Omar Khawaja ac97ed4c05
updating code to require TF 0.13 and pinning aws + random versions (#21)
* updating code to require TF 0.13 and pinning aws + random provider versions

* pinning version of template provider

* update CHANGELOG
2020-08-13 16:47:42 -04:00
.circleci Add terraform checks to CI (#20) 2020-07-24 16:14:04 -04:00
modules/consul_cluster Add terraform checks to CI (#20) 2020-07-24 16:14:04 -04:00
.gitignore clean up gitignore 2020-06-17 13:26:28 -04:00
CHANGELOG.md updating code to require TF 0.13 and pinning aws + random versions (#21) 2020-08-13 16:47:42 -04:00
CODE_OF_CONDUCT Create CODE_OF_CONDUCT 2020-07-01 12:27:46 -07:00
LICENSE Create LICENSE 2020-06-30 07:30:32 -07:00
main.tf updating var name 2020-07-10 12:12:07 -07:00
README.md updating code to require TF 0.13 and pinning aws + random versions (#21) 2020-08-13 16:47:42 -04:00
variables.tf updating var name 2020-07-10 12:12:07 -07:00
versions.tf updating code to require TF 0.13 and pinning aws + random versions (#21) 2020-08-13 16:47:42 -04:00

Consul AWS Module

This is a Terraform module for provisioning a Consul Cluster on AWS. Consul is a distributed, highly-available service mesh solution providing a full featured control plane with service discovery, configuration, and segmentation functionality. This module will provision a fully functional Consul cluster, which defaults to consisting of 5 (five) servers and 3 (three) clients.

About This Module

This module implements the Consul Reference Architecture for a single datacenter on AWS using the Open Source version of Consul. It is created and maintained by HashiCorp to exist as a canonical implementation of a Consul cluster in the Amazon Web Services cloud, and enforces this prescriptive methodology through the use of default values corresponding to the recommendations of our Enterprise Architects.

For more advanced practitioners requiring a wider variety of configurable options out of the box, please see the Terraform AWS Consul Module.

How to Use This Module

  • Create a Terraform configuration that pulls in the module and specifies values of the required variables:
provider "aws" {
  region = "<your AWS region>"
}

module "consul_cluster" {
  source                = "hashicorp/consul-oss/aws"
  version               = "0.1.0"
  allowed_inbound_cidrs = ["<list of inbound CIDRs>"]
  vpc_id                = "<your VPC id>"
  owner                 = "<owner name/tag>"
  consul_version        = "<version of Consul>"
  name_prefix           = "<name prefix you would like attached to your environment>"
  key_name              = "<your SSH key name>"
  consul_servers        = 5
  consul_clients        = 3
}

Notes:

  1. Currently the random provider is required for this module's functionality.
  2. allowed_inbound_cidrs must be supplied for this module's functionality; these CIDRs will be allowed for SSH and UI access.
  • Run terraform init and terraform apply

License

This code is released under the Mozilla Public License 2.0. Please see LICENSE for more details.