Terraform boilerplate is a repository aiming to help DevOps to deploy infrastructure on AWS
This project is using terraform to deploy infrastructure, you can download it here: https://learn.hashicorp.com/tutorials/terraform/install-cli
The project is aimed to be used with terraform workspace
which is why there is the envs
directory. Feel free to create new files in this folder to overwrite default variables defined in tf/2-variables.tf.
envs/qa.tfvars is use in our CI/CD pipeline to make sure the code we want to merge can be deployed.
$ cd ./tf
$ terraform init
$ terraform plan -var-file ../envs/qa.tfvars
$ terraform apply -var-file ../envs/qa.tfvars
$ terraform destroy -var-file ../envs/qa.tfvars
You can find in the .github/workflows folder different QA that you can run to test with Github:
- terraform.yml: automatically running on master and PR when you push. This make a terraform init & plan
- terraform-qa.yml: manually triggered in Github Actions. This make a terraform init, plan, apply & destroy
- terraform-qa-no-destroy: manually triggered in Github Actions. This make a terraform init, plan & apply
- terraform-qa-only-destroy: manually triggered in Github Actions. This make a terraform init & destroy
- terraform-everyday-only-destroy: automatically triggered everyday in Github Actions. This make a terraform init & destroy on all workspaces
Here are the services that you can deploy using this repository:
- AWS Route53
- AWS RDS
- AWS Backup
- AWS ECR
- AWS Elasticache
- AWS EKS
- AWS VPC
- AWS Lambda
- AWS CloudTrail
- AWS Cognito
- AWS ECS
- AWS SNS
Feel free to ask for the features you want! Our teams will be happy to add them!
Give a ⭐️ if this project helped you!
- Website: trackit.io
We are an Amazon Web Services Advanced Consulting Partner specializing in cloud management, consulting, and software development solutions based in Venice, CA.