Skip to content

Engine

The engine section in Terrateam allows you to specify which tool should be used for executing Terraform operations. Terrateam supports multiple tools, including Terraform, OpenTofu, Terragrunt, and CDKTF.

Configuration

Engine is configured in the .terrateam/config.yml file under the engine key. Here’s the default configuration:

engine:
name: terraform
tf_version: latest
tf_cmd: terraform

Engine options

The engine section has the following options:

KeyTypeDescription
nameStringThe name of the tool to use for executing Terraform operations. Can be terraform, tofu, terragrunt, or cdktf.
versionStringThe version of the tool to use. Only applies to terraform, tofu, and terragrunt. This value is overridden by any version information specified in the Terraform or OpenTofu code. Default is latest.
tf_versionStringThe version of Terraform or OpenTofu CLI to use when engine is set to terragrunt or cdktf. Default is latest.
tf_cmdStringThe command to use for executions. Can be terraform or tofu. Default is terraform.

Examples

Using Terraform

engine:
name: terraform
version: 1.0.0

This configuration will use Terraform version 1.0.0 for executing Terraform operations.

Using OpenTofu

engine:
name: tofu
version: 1.6.2

This configuration will use OpenTofu version 1.6.2 for executing Terraform operations.

Using Terragrunt with a specific Terraform version

engine:
name: terragrunt
tf_version: 0.15.5

This configuration will use Terragrunt with Terraform version 0.15.5 for executing Terraform operations.

Using Terragrunt with OpenTofu

engine:
name: terragrunt
tf_cmd: tofu

This configuration will use Terragrunt with the latest version of OpenTofu.

Using CDKTF with the latest Terraform version

engine:
name: cdktf

This configuration will use CDKTF with the latest version of Terraform for executing Terraform operations.

Considerations

When configuring the engine in your Terrateam configuration, keep the following in mind:

  • The terraform engine is the default and most commonly used option. It directly uses the Terraform CLI for executing Terraform operations.
  • The tofu engine uses OpenTofu, an open-source reimplementation of the Terraform CLI. It provides additional features and enhancements over the standard Terraform CLI.
  • The terragrunt engine uses Terragrunt, a thin wrapper for Terraform that provides extra tools for keeping your configurations DRY, working with multiple Terraform modules, and managing remote state.
  • The cdktf engine uses CDKTF (Cloud Development Kit for Terraform), which allows you to define your infrastructure using familiar programming languages like TypeScript, Python, Go, and Java.
  • When using terragrunt or cdktf, you can specify the version of Terraform or OpenTofu CLI to use with the tf_version option. This allows you to control the underlying Terraform version independently of the Terragrunt or CDKTF version.
We use cookies and similar technologies to provide certain features, enhance the user experience and deliver content that is relevant to your interests. Depending on their purpose, analysis and marketing cookies may be used in addition to technically necessary cookies. By clicking on "Agree and continue", you declare your consent to the use of the aforementioned cookies. Here you can make detailed settings or revoke your consent (in part if necessary) with effect for the future. For further information, please refer to our Privacy Policy .