This repo includes prescriptive workflows that implement best practices when interacting with Terraform Cloud. These starter workflow templates provide a entrypoint to integrate your CI/CD pipelines with Terraform Cloud.
These templates use individual custom Docker GitHub Actions that interact with Terraform Cloud API's rather than the traditional Terraform CLI.
The core tooling is a containerized go application, designed to work with GitHub Actions, GitLab Pipelines, and more in the future.
- Terraform Speculative Run (Pull Request Open/Edit Workflow): Workflow to run non-applyable speculative runs in Terraform Cloud when a pull request has been opened/modified.
- Terraform Apply Run (Push to main branch/PR Merge to main Workflow): Workflow to perform an apply run for a given workspace.
Supported Actions:
- upload-configuration: Creates and uploads configuration files for a given Terraform Cloud workspace.
- create-run: Performs a new plan run in Terraform Cloud, using a configuration version and the workspace’s current variables.
- apply-run: Applies a run that is paused waiting for confirmation after a plan.
- discard-run: Skips any remaining work on runs that are paused waiting for confirmation or priority.
- cancel-run: Interrupts a run that is currently planning or applying.
- show-run: Returns run details for the corresponding Run ID.
- plan-output: Returns the plan details for the provided Plan ID.