Skip to content

Conversation

@krutibaraiya
Copy link
Member

@krutibaraiya krutibaraiya commented Nov 12, 2025

Added new key for auto upgrade and updated behaviour of terraform_version key for the new versioning improvements made

Description

🎫 [Jira ticket]

Update CTS-enterprise documentation with the improvements to be introduced in v0.9.0 (Release date ~ 21st November 2025), as below:

  • CTS will now preserve the existing Terraform version in Terraform workspaces by default, preventing unexpected upgrades and ensuring greater stability
  • Introduced a new key auto_upgrade_tf_version to let users have a control over automatic Terraform version upgrades in their workspaces

Details can be found in the RFC

Requested review scope:

  • Content touched by the PR only (typos, clarifications, tips)
  • Code test (command and code block changes)
  • Flow and language near changes (new/rearranged steps)
  • Review everything (rewrites, major changes)

Review urgency:

  • ASAP (bug fixes, broken content, imminent releases)
  • 3 days (small changes, easy reviews)
  • 1 week (default)
  • Best effort (very non-urgent)

All updates:

I have:

  • Verified that all status checks have passed
  • Verified that preview environment has successfully deployed
  • Verified appropriate label applied (hcp + product name)
  • Added all required reviewers (code owners and external)

Content checklist (optional)

Please do these things before requesting a review. I have:

  • Made any associated code repositories public
  • Added the hashicorp-education/teamName to any additional code or example repos as repo admin
  • Added redirects for any moved or removed pages
  • Spell checked the tutorial(s)
  • Followed the unified style guide
  • Linted code snippets (Details per language here)
  • Checked the steps for completeness (no steps are implied or hidden)
  • Looked at the local or vercel build and checked each new or changed page for:
    • display on the product curriculum page
    • callout box formatting
    • code block highlighting
    • right-hand navigation
    • next and back buttons
    • URL path

@github-actions
Copy link
Contributor

github-actions bot commented Nov 12, 2025

Vercel Previews Deployed

Name Status Preview Updated (UTC)
Dev Portal ✅ Ready (Inspect) Visit Preview Thu Nov 20 06:11:14 UTC 2025
Unified Docs API ✅ Ready (Inspect) Visit Preview Thu Nov 20 06:04:45 UTC 2025

@github-actions
Copy link
Contributor

github-actions bot commented Nov 12, 2025

Broken Link Checker

No broken links found! 🎉

@krutibaraiya krutibaraiya changed the title docs(nia-cts): updated CTS documentation for upcoming CTS release 0.9.0 docs(nia-cts): updated documentation for upcoming CTS release 0.9.0 Nov 12, 2025
@krutibaraiya krutibaraiya marked this pull request as ready for review November 13, 2025 06:02
@krutibaraiya krutibaraiya requested review from a team as code owners November 13, 2025 06:02
Copy link
Contributor

@boruszak boruszak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left suggestions for the three specifications to align with style guidelines. Please apply these suggestions to all version backports in the PR.

On the topic of backports - can you confirm that you want to backport this change all the way back to v1.12.x? Typically we only backport to currently supported versions (currently v1.18.x), but if there are known Enterprise users on v1.12.x of Consul, then backporting that far would be appropriate.

- `source_input` - (obj) **Deprecated in CTS 0.5.0 and will be removed in 0.8.0. See the `module_input` block instead.**
- `module_input` - (obj) Specifies a Consul object containing values or metadata to be provided to the Terraform Module. The `module_input` block defines any extra module inputs needed for task execution. This is in addition to any module input provided by the `condition` block or `services` field (deprecated). Multiple `module_input` blocks can be configured per task. [Task Module Input](#task-module-input) configuration for full details on usage and restrictions.
- `terraform_version` - (string) <EnterpriseAlert inline /> **Deprecated in CTS 0.6.0 and will be removed in 0.8.0. Review `terraform_cloud_workspace.terraform_version` instead.** The version of Terraform to use for the Terraform Cloud workspace associated with the task. Defaults to the latest compatible version supported by the organization. This option is only available when used with the [Terraform Cloud driver](#terraform-cloud-driver); otherwise, set the version within the [Terraform driver](#terraform-driver).
- `terraform_version` - (string) <EnterpriseAlert inline /> **Deprecated in CTS 0.6.0 and will be removed in 0.8.0. Review `terraform_cloud_workspace.terraform_version` instead.** The version of Terraform to use for the Terraform Cloud workspace associated with the task. This option is only available when used with the [Terraform Cloud driver](#terraform-cloud-driver); otherwise, set the version within the [Terraform driver](#terraform-driver).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `terraform_version` - (string) <EnterpriseAlert inline /> **Deprecated in CTS 0.6.0 and will be removed in 0.8.0. Review `terraform_cloud_workspace.terraform_version` instead.** The version of Terraform to use for the Terraform Cloud workspace associated with the task. This option is only available when used with the [Terraform Cloud driver](#terraform-cloud-driver); otherwise, set the version within the [Terraform driver](#terraform-driver).
- `terraform_version` - (string) <EnterpriseAlert inline /> **Deprecated in CTS 0.6.0 and removed in 0.8.0. Use `terraform_cloud_workspace.terraform_version` instead.** The version of Terraform to use for the Terraform Cloud workspace associated with the task. This option is only available when used with the [Terraform Cloud driver](#terraform-cloud-driver); otherwise, set the version within the [Terraform driver](#terraform-driver).

- `agent_pool_id` - (string) Only supported if `execution_mode` is set to "agent". The ID of the agent pool that should run the Terraform workloads. Either `agent_pool_id` or `agent_pool_name` are required if `execution_mode` is set to "agent". `agent_pool_id` takes precedence over `agent_pool_name` if both are provided.
- `agent_pool_name` - (string) Only supported if `execution_mode` is set to "agent". The name of the agent pool that should run the Terraform workloads. Only supported if `execution_mode` is set to "agent". Either `agent_pool_id` or `agent_pool_name` are required. `agent_pool_id` takes precedence over `agent_pool_name` if both are provided.
- `terraform_version` - (string) The version of Terraform to use for the Terraform Cloud workspace associated with the task. Defaults to the latest compatible version supported by the organization.
- `terraform_version` - (string) The version of Terraform to use for the Terraform Cloud workspace associated with the task. **For CTS v0.9.0 and later** - if omitted, CTS will use the existing workspace version if compatible, or upgrade to the nearest compatible version if not. **For CTS versions prior to v0.9.0** - Defaults to the latest compatible version supported by the organization.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `terraform_version` - (string) The version of Terraform to use for the Terraform Cloud workspace associated with the task. **For CTS v0.9.0 and later** - if omitted, CTS will use the existing workspace version if compatible, or upgrade to the nearest compatible version if not. **For CTS versions prior to v0.9.0** - Defaults to the latest compatible version supported by the organization.
- `terraform_version` - (string) The version of Terraform to use for the Terraform Cloud workspace associated with the task. Beginning with v0.9.0, you can omit this configuration and CTS will either use the existing workspace version if compatible, or upgrade the workspace version to a compatible version. In prior versions, this parameter defaults to the latest compatible version supported by the organization.

- `agent_pool_name` - (string) Only supported if `execution_mode` is set to "agent". The name of the agent pool that should run the Terraform workloads. Only supported if `execution_mode` is set to "agent". Either `agent_pool_id` or `agent_pool_name` are required. `agent_pool_id` takes precedence over `agent_pool_name` if both are provided.
- `terraform_version` - (string) The version of Terraform to use for the Terraform Cloud workspace associated with the task. Defaults to the latest compatible version supported by the organization.
- `terraform_version` - (string) The version of Terraform to use for the Terraform Cloud workspace associated with the task. **For CTS v0.9.0 and later** - if omitted, CTS will use the existing workspace version if compatible, or upgrade to the nearest compatible version if not. **For CTS versions prior to v0.9.0** - Defaults to the latest compatible version supported by the organization.
- `auto_upgrade_tf_version` - (bool: true) **Available in CTS v0.9.0 and later** When set to true, CTS automatically upgrades an incompatible Terraform version in the workspace to the nearest compatible version. When set to false, CTS does not upgrade automatically and fails with an error if the workspace Terraform version is incompatible. The default is true if unspecified for backward compatibility.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `auto_upgrade_tf_version` - (bool: true) **Available in CTS v0.9.0 and later** When set to true, CTS automatically upgrades an incompatible Terraform version in the workspace to the nearest compatible version. When set to false, CTS does not upgrade automatically and fails with an error if the workspace Terraform version is incompatible. The default is true if unspecified for backward compatibility.
- `auto_upgrade_tf_version` - (bool: true) Available in CTS v0.9.0 and later. When set to true, CTS automatically upgrades an incompatible Terraform version in the workspace to the nearest compatible version. When set to false, CTS does not upgrade automatically and fails with an error if the workspace Terraform version is incompatible. If unspecified, this parameter defaults to `true` for backward compatibility.

Added new key for auto upgrade and updated behaviour of terraform_version key for the new versioning improvements made
@krutibaraiya krutibaraiya force-pushed the CSL-12733/cts-version-config branch from 2f32abc to 9d3a3d7 Compare November 20, 2025 05:15
@krutibaraiya krutibaraiya force-pushed the CSL-12733/cts-version-config branch from 17a87c0 to 536e259 Compare November 20, 2025 05:48
@krutibaraiya
Copy link
Member Author

@boruszak Thanks! I have removed the backports to unsupported versions, and made the suggested changes for versions till 1.18.x

Copy link
Contributor

@boruszak boruszak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants