This repository contains Terraform configuration and Github Action workflow for Collaborative application and infrastructure workflow using GitHub Actions and HashiCorp Terraform talk at Github Satellite 2020.
- HashiCorp Terraform installed. (version: > 0.12.x)
- AWS Account.
- Cloudflare Account.
- Terraform cloud account.
Terraform cloud can be used to store remote state. If you want to use the Terraform cloud remote state backend you can uncomment the code in remote.tf file.
You can generate a user api token using the guide: https://www.terraform.io/docs/cloud/users-teams-organizations/users.html#api-tokens
export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""
export TF_VAR_cloudflare_email="[email protected]"
export TF_VAR_cloudflare_api_token="abcdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export TF_VAR_cloudflare_zone_id="a1b2xxxxxxxxxxxxxxxxxxxxxxxxxxx"
Clone the github repository
git clone https://github.com/anubhavmishra/terraform-github-actions-demo.git
Open the terraform-github-actions-demo
directory.
cd terraform-github-actions-demo
Run Terraform init.
terraform init
Run Terraform plan.
terraform plan
Run Terraform apply.
terraform apply