Consul Terraform Sync 0.1.0 Beta Released

Hello all,

We’ve just release Consul-Terraform-Sync v0.1.0-beta. A high-level description is available on the announcement blog post.

We are also excited to share two new tutorials for Consul-Terraform-Sync

This release introduces a CLI to interact with the running Consul-Terraform-Sync daemon with features to enable and disable configured tasks. This release also includes a new option for improving the efficiency of monitoring service changes. More detail on other features and bug fixes can be found in the changelog below.

As always, please test in an isolated environment before upgrading.


Consul API Tooling Team


  • Remove support for provider block name (deprecated v0.1.0-techpreview2). Use terraform_provider block name instead. [GH-169]
  • Change version output from stderr to stdout. [GH-199]
  • Change API error structure from string to object for future flexibility. [GH-201]
  • Change Overall Status API response payload’s task_summary from a map of status values to counts to a map of objects in order to allow returning other types of summary information. [GH-203]


  • Add cts_user_defined_meta option to the service configuration block for appending user-defined metadata grouped by services to be used by Terraform modules. [GH-166]
  • Add support for querying service by namespace for Consul Enterprise. [GH-175]
  • Add enabled boolean field to task configuration which configures a task to run or not. [GH-188, GH-189]
  • Add a Disable Task CLI which will stop a task from running and updating resources until re-enabled. [GH-194]
  • Add an Enable Task CLI which will start a task so that it runs and updates resources. [GH-198]
  • Add support for a CLI -port flag to set the API port that the CLI should use if not default port 8558. [GH-197]
  • Add an Update Task API to support patch updating a task’s enabled state. [GH-191, GH-214]
  • Add a run parameter to Update Task API which can dry-run a task with updates and return an inspect plan (?run=inspect) or update a task run it immediately as opposed to run at the natural CTS cadence (?run=now). [GH-196]
  • Configurable PAN-OS out-of-band commits [GH-170]
  • PAN-OS commit retry with exponential backoff [GH-178]
  • Add support for CTS to communicate with the local Consul agent over HTTP/2 to improve the efficiency of TCP connections for monitoring the Consul catalog [GH-146, GH-207].
  • Official docker image [GH-215]


  • Changed default consul.transport options used for the Consul client to improve TCP connection reuse. [GH-164]
  • Mark generated provider variables as sensitive for Terraform 0.14+ [GH-181]
  • Separate provider-related variables into a different file from services [GH-182, GH-183]
  • Update the Overall Status API response to return count of enabled and disabled tasks and to return count of tasks with no event data as status value ‘unknown’. [GH-203]
  • Update the Task Status API response to include a new ‘enabled’ boolean field to indicate if task is enabled or disabled. [GH-202]
  • Include service kind in module input [GH-168, GH-174]


  • Avoid appending duplicate terraform suffix to the KV path for Consul backend. [GH-165]
  • Fix edge case where multiple tasks have identical terraform.tfvars.tmpl files causing Consul Terraform Sync to indefinitely hang. [GH-167]
  • Handle case where provider configuration used nested blocks, which was causing an unsupported argument error. [GH-173]
  • Fix task_env config validation causing the feature to be unusable. [GH-184]
  • Fix how CTS configures the Consul KV backend for Terraform remote state store to default with configuration from the Consul block. [GH-213]
1 Like