Terraform CLI
Introduction​
The Terraform CLI plugin by Devtron enables infrastructure provisioning and across multiple cloud providers using Infrastructure as Code (IaC). You can integrate this plugin into Devtron's Job pipelines, to automate infrastructure provisioning, modifications, and teardowns using Terraform configurations.
Prerequisites​
Before integrating the Terraform CLI plugin, you must ensure that you have properly configured terraform scripts.
Steps​
- Navigate to the Jobs section, click Create, and choose Job.
- In the 'Create job' window, enter Job Name and choose a target project.
- Click Create Job.
- In the 'Configurations' tab, fill the required fields under the 'Source code' section and click Save.
- In Workflow Editor, click + Job Pipeline.
- Give a name to the workflow and click Create Workflow.
- Click Add job pipeline to this workflow.
- Fill the required fields in ‘Basic configuration’ tab.
- Go to the ‘Tasks to be executed’ tab.
- Under ‘Tasks’, click the + Add task button.
- Select the Terraform CLI plugin.
- Enter the following user inputs with appropriate values.
User Inputs​
Task Name​
Enter the name of your task
e.g., Terraform CLI
Description​
Add a brief explanation of the task and the reason for choosing the plugin. Include information for someone else to understand the purpose of the task.
e.g., The Terraform CLI plugin is integrated to provision infrastructure at AWS.
Input Variables​
| Variable | Format | Description | Sample Value |
|---|---|---|---|
| HTTP_PROXY | STRING | Specify the HTTP proxy server for non-SSL requests | http://proxy.example.com:8080 |
| HTTPS_PROXY | STRING | Specify the HTTPS proxy server for SSL requests | https://proxy.example.com:8080 |
| NO_PROXY | STRING | HTTPS/HTTP request. Use this to specify host that should bypass the proxy | localhost,127.0.0.1,.example.com |
| TERRAFORM_IMAGE | STRING | Terraform container image for executing Terraform commands. | terraform:1.10.0-alpha20240730 |
| WORKINGDIR | STRING | Directory containing Terraform configuration files for running commands. | terraform-dir |
| ARGS | STRING | List of Terraform CLI commands to execute during deployment or management. | apply -auto-approve |
| RUN_TERRAFORM_INIT | BOOL | Boolean flag to determine whether to run terraform init to initialize the working directory. | True |
| ADDITIONALPARAMS | STRING | Key-value pairs injected into the Terraform container | TF_LOG=trace, TF_LOG_PATH=./terraform.log |
Trigger/Skip Condition​
Here you can set conditions to execute or skip the task. You can select Set trigger conditions for the execution of a task or Set skip conditions to skip the task.
Output Variables​
Terraform CLI will not be generating an output variable.
Click Update Pipeline.