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

v0.5.0

Latest
Compare
Choose a tag to compare
@robmorgan robmorgan released this 18 Sep 04:12
· 16 commits to master since this release
d56bcb4

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