Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.

Releases: hashicorp/terraform-google-consul

v0.5.0

18 Sep 04:12
d56bcb4
Compare
Choose a tag to compare

Modules affected

  • consul-cluster [BACKWARDS INCOMPATIBLE]
  • install-consul [BACKWARDS INCOMPATIBLE]
  • install-dnsmasq [BACKWARDS INCOMPATIBLE]
  • run-consul [BACKWARDS INCOMPATIBLE]

Description

This is a major release that adds support for rolling cluster updates and Consul 1.8.3. It also includes the following changes:

  • Updated this repo to work with Consul 1.8.3:

    • install-consul now supports installing and configuring Consul 1.8.3.
    • run-consul now supports launching Consul 1.8.3.
    • We have switched from supervisord to systemd to launch and manage the Consul process. This also supports gracefully leaving the Consul cluster by executing the consul leave command.
  • Updated this repo to work with Google Provider 3.38.0:

    • The consul-cluster module no longer uses the template_file workaround and two separate google_compute_instance_template resources. It instead takes advantage of the Terraform dynamic block feature to create the access config dynamically.
    • The examples have been updated to use Terraform 0.12.28 and Packer 1.6.2.
  • Dropped Dep in favor of Go modules.

Support for Ubuntu 16.04 deprecated. Note that this means the modules are no longer compatible with Ubuntu 16.04. Starting from this release, you must use Ubuntu 18.04 with these modules.

Migration Guide

Steps

  1. Clone this repo to a new directory. Note: Don't overwrite the directory with your existing deployment!
  2. Build a new image using the Packer template (examples/consul-image) and update your Terraform variables (consul_server_source_image and consul_client_source_image).
  3. Deploy the root example using the same cluster tag name values as your existing cluster. I.e. be sure to set var.consul_client_cluster_tag_name and var.consul_server_cluster_tag_name to the same values as your existing cluster.
  4. The Consul nodes will automatically propagate the data once they discover each other.
  5. Once the new nodes are healthy you can safely terminate the old cluster nodes using the Terraform state file in the old directory.

For more information please refer to the [Upgrading Consul guide[(https://www.consul.io/docs/upgrading).

Notes

  • We only recommend upgrading to this release if you're also ready to upgrade to Consul 1.8.x. We are no longer testing this repo with older versions.
  • We recommend building a new AMI for Consul and deploying it with the new versions of the Terraform modules.

Special thanks

Special thanks to @arvindamirtaa and @naiduarvind for their contributions!

Related links

v0.4.0

26 Jun 08:42
8f09a3c
Compare
Choose a tag to compare

Modules affected

  • consul-cluster [BACKWARDS INCOMPATIBLE]

Description

All the modules are now terraform 0.12.0 compatible. Note that this means the modules are no longer compatible with terraform 0.11 and under. Starting this release, you must use terraform 0.12.0 or greater to use this module.

All the module variables have been updated to use concrete types based on the new type system introduced in terraform 0.12.0. You can learn more about the types in the official documentation.

Note that as part of this, we switched to using null to indicate unset values when passing them through to resources. If you were previously using a 0 value ("" for strings and 0 for numbers), review the module variables.tf file to double check if the 0 value has been converted to a null.

Related links

0.3.2

21 Dec 10:10
af17bd3
Compare
Choose a tag to compare

Modules affected

  • run-consul

Description

  • Allows run-consul consul to override auto-pilot default settings

Related links

v0.3.1

06 Nov 18:26
63d6001
Compare
Choose a tag to compare

#34: The consul-cluster module now allows you to use a compute image from a project other than the one in which you're launching the Consul cluster.

v0.3.0

11 Oct 18:43
5adb4f5
Compare
Choose a tag to compare

#28: We now expose a required variable gcp_project_id and an optional variable network_project_id so that you can explicitly set the GCP project used for the Consul cluster and the network-related resources it uses (such as firewall rules).

This is useful in the case where your environment's default GCP project may different from the GCP project in which you want to launch a Consul cluster.

v0.2.1

05 Oct 14:27
7889094
Compare
Choose a tag to compare

#29 Adds fix for image source bug introduced in Terraform v0.11.8

v0.2.0

11 Sep 23:44
3f0cd57
Compare
Choose a tag to compare
  • #26: Consul now launches a cluster in a Regional Managed Instance Group with nodes spread across several Zones in a given Region. Previously, nodes were concentrated in a single Zone.

  • #26: Fixes an issue where users could not specify the root disk type and size for "private" clusters.

  • #26: Update to the latest version of Consul (v1.2.2)

  • #26: Enables access to the cluster via 0.0.0.0/0 by default (along with a hearty warning)

  • #25: Fix a bunch of broken links throughout the repo.

v0.1.0

05 Sep 00:25
fde5c2e
Compare
Choose a tag to compare

#20: The Consul datacenter configuration property is now set to the GCP region, not the GCP zone. This change will work for both single-zone and multi-zonal Instance Groups, however because it will change the configuration of existing Consul deployments, this represents a backward-incompatible change.

Special thanks to @darkslategrey for the contribution!

v0.0.4

05 Sep 00:10
Compare
Choose a tag to compare

#24: Add the following new variables to the consul-cluster module:

  • service_account_email: the service account email address to be used for the Instances
  • storage_access_scope: the specific GCP scope you wish to set on the Instances with respect to Google Cloud Storage permissions
  • service_account_scopes: a list of zero or more GCP scopes you wish to add to the Instances

Special thanks to @gnewbury1 for the contribution!

v0.0.3

25 May 01:50
46e1930
Compare
Choose a tag to compare
  • #5: We now support running Consul in either a network or a specific subnetwork.
  • #10: The consul user now creates a home directory by default, and a proper value for the $HOME env var is passed to the Consul process.
  • #11: Add an optional encryption key to the Consul config.
  • #12: Support Terraform 11 with updated output expressions.
  • #13: Fix typo in resource name
  • #15: Various improvements, including upgrading to Consul v1.1.0 as the default version

Amazingly, all this is fully backwards-compatible so we issue an incremental release, not a major release.