Terraform project that provisions all AWS infrastructure for the DevOps360 application, including an EKS cluster for running workloads, designed with best practices in modularity, security, and maintainability.
/devops360-infra
├── envs
│ ├── dev
│ │ ├── backend.tf
│ │ ├── main.tf
│ │ ├── providers.tf
│ │ ├── terraform.tfvars
│ │ └── variables.tf
│ └── prod
│ ├── backend.tf
│ ├── main.tf
│ ├── providers.tf
│ ├── terraform.tfvars
│ └── variables.tf
├── modules
│ ├── alb
│ │ ├── main.tf
│ │ └── variables.tf
│ ├── cognito
│ │ ├── main.tf
│ │ └── variables.tf
│ ├── dynamodb
│ │ ├── main.tf
│ │ └── variables.tf
│ ├── ecr
│ │ ├── main.tf
│ │ └── variables.tf
│ ├── eks
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ └── variables.tf
│ ├── k8s-app
│ │ ├── main.tf
│ │ ├── manifests
│ │ │ └── weather-app.yaml
│ │ ├── outputs.tf
│ │ ├── service-account.tf
│ │ └── variables.tf
│ ├── s3
│ │ ├── main.tf
│ │ └── variables.tf
│ ├── secretsmanager
│ │ ├── main.tf
│ │ └── variables.tf
│ ├── ssm
│ │ ├── main.tf
│ │ └── variables.tf
│ └── vpc
│ ├── main.tf
│ └── variables.tf
└── README.md
-
Install Terraform: Terraform Official Install docs
-
Configure AWS credentials:
aws configure
-
Initialize the project:
terraform init
-
Review and customize variables:
- Edit
terraform.tfvarsfile according to your project.
- Edit
-
Plan the deployment:
terraform plan
-
Apply the changes:
terraform apply
-
Destroy the infrastructure:
terraform destroy