Consul-Terraform-Sync 0.5.0 & 0.5.1 Release

Hello all,

We’ve released the following versions of Consul-Terraform-Sync (CTS):

In these releases we have a number of breaking changes, deprecations, and new features. Two major features that were introduced are the Create Task CLI and Delete Task CLI which allows users to make runtime changes to the tasks that CTS runs. A number of configuration deprecations and replacements were made to the task and service config blocks to reduce inconsistency and confusion. Please see below for more details.

Thanks!

Consul Automation Tooling Team

RELEASE: Consul-Terraform-Sync 0.5.0 - Minor 02/23/2022

RELEASE: Consul-Terraform-Sync 0.5.1 - Patch 02/24/2022

RELEASE BLOG: Consul-Terraform-Sync 0.5 Adds New APIs and UX Improvements

KNOWN ISSUES:

  • Re-creating a task using the task creation API/CLI after Consul restart can result in an error. [GH-701]

  • Creating a task with the same name as a deleted task, where the deleted task includes a condition "schedule", can leave CTS in a bad state [GH-715]

  • Creating a task with multiple module inputs using JSON requires specific JSON format. [GH-714]

  • (Enterprise Only) Regression with Terraform Cloud driver’s required_providers configuration which leads the driver to potentially attempt to retrieve an incorrect provider source and version [GH-728] Note: Fixed in v0.5.1

BREAKING CHANGES:

  • Stop monitoring and including non-passing service instances in terraform.tfvars by default. CTS should only monitor passing service instances unless configured otherwise. [GH-430]

  • Removed driver.terraform.working_dir configuration option that was deprecated in v0.3.0. Use top-level working_dir to configure parent directory for all tasks or task.working_dir to configure per task. [GH-548]

  • Require that condition "catalog-services" block’s regexp field be configured instead of relying on previous default behavior. [GH-574]

  • Change default value of source_includes_var field from false to true for all types of condition blocks. [GH-578]

FEATURES:

  • Support for deleting an existing task through the API and CLI. [GH-522]

  • Support for creating a task through the API and CLI. [GH-522]

  • Support for retrieving information about an existing task through the API. [GH-681]

  • Support for -auto-approve option to skip interactive approval prompts in the CLI. [GH-576]

IMPROVEMENTS:

  • Tasks will now trigger only after the min time of the buffer_period configuration has transpired. Previously tasks would trigger immediately, once, before honoring the minimum buffer period time. [GH-642]

  • Support configuring a task’s condition "services" and source_input "services" blocks with query parameters: datacenter, namespace, filter, and cts_user_defined_meta. [GH-357]

  • Support new names field for configuring a task’s condition "services" and source_input "services" blocks as an optional alternative to regexp to list monitored services by name. [GH-561]

  • Support source_includes_var field for a task’s condition "services" block. [GH-584]

  • Expand source_input block usage to dynamic tasks and support multiple source_input blocks per task. [GH-607]

  • Initialize disabled tasks, which allows for earlier validation of a task. [GH-625]

DEPRECATIONS:

  • (Enterprise Only) Deprecate workspace_prefix for the Terraform Cloud driver that adds unexpected - character added between the prefix and task name. Use the new workspaces.prefix option instead. [GH-442]

    • If the workspace_prefix option is in use by CTS v0.3.x or v0.4.x for the Terraform Cloud driver, visit GH-442 for upgrade guidelines.
  • Deprecate port CLI option. Use http-addr option instead. [GH-617]

  • Deprecate services field in task configuration. Use condition "services" or source_input "services" instead. [GH-669]

  • Deprecate service block in configuration. To replace usage, first upgrade the associated task config services field to a condition "services" or source_input "services". Then move the service block fields into the new condition or source_input block. [GH-670]

  • Deprecate source field in task configuration. Rename source to module in configuration. [GH-566]

  • Deprecate source_input block in task configuration. Rename source_input to module_input in configuration. [GH-567]

  • Deprecate source_includes_var field in task configuration’s condition block. Rename source_includes_var to use_as_module_input in configuration. [GH-568]

  • Deprecate non-status, config-related information from the Task Status API’s response payload. Use the Get Task API instead to retrieve the deprecated information. [GH-569]

BUG FIXES:

  • Fix CLI client enable task command timing out when buffer period is enabled [GH-516]

  • Fix Services condition when configured with regex and Catalog Services condition to use cached indexes for Consul API blocking queries. [GH-529]

  • (Enterprise Only) Fix task not triggering after re-enabled when running with the TFC driver.