OpenTofu
OpenTofu is an open-source, Terraform-compatible engine designed to offer a community-supported, backward-compatible alternative to the official Terraform binary. Terrateam supports the use of OpenTofu, enabling you to leverage its additional features.
Configuring OpenTofu
Section titled “Configuring OpenTofu”Global
Section titled “Global”To integrate OpenTofu into all Terrateam operations, simply configure the engine section within your Terrateam configuration file (.terrateam/config.yml).
engine: name: tofu version: 1.6.2Specific Workflow
Section titled “Specific Workflow”To integrate OpenTofu for a specific workflow, configure the workflows.engine section.
workflows: - tag_query: prod engine: name: tofu version: 1.6.2OpenTofu Features
Section titled “OpenTofu Features”OpenTofu provides several benefits over the official Terraform binary, including:
- 100% open source
- Mozilla Public License, providing the freedom to use, modify, and distribute
- Strong community support
- Feature development directed by the community
Using OpenTofu with Terrateam
Section titled “Using OpenTofu with Terrateam”Once you’ve configured OpenTofu in your Terrateam configuration file, you can use Terrateam commands as usual. Terrateam will automatically use OpenTofu as the underlying engine for your Terraform operations.
-
Open a pull request with changes to your Terraform code.
-
Terrateam automatically runs a plan operation using OpenTofu and comments on the pull request with the plan output.
-
Review the plan output and collaborate with your team to ensure the changes are as expected.
-
Once the pull request is approved, comment
terrateam applyto trigger an apply operation using OpenTofu. -
Terrateam runs the apply operation and comments on the pull request with the apply output.
Migrating from Terraform to OpenTofu
Section titled “Migrating from Terraform to OpenTofu”Currently, OpenTofu is a drop-in replacement for Terraform, ensuring compatibility with versions 1.5.x and most of 1.6.x. No modifications to your existing code are necessary for continued compatibility. OpenTofu is well-suited for production environments across various use cases without exceptions. For detailed migration instructions, refer to the official migration guide.
Considerations
Section titled “Considerations”- OpenTofu’s version numbering does not necessarily match that of Terraform. Make sure to use a version of OpenTofu that is compatible with your Terraform code and provider versions.
- If you need to switch back to the official Terraform binary, simply update your Terrateam configuration file to set the
enginename toterraformand specify the desired version.