Skip to content

Latest commit

Β 

History

History
30 lines (24 loc) Β· 1.62 KB

File metadata and controls

30 lines (24 loc) Β· 1.62 KB

Terraform EKS & Database Deployment

This repository contains the infrastructure-as-code (IaC) setup using Terraform to deploy a complete AWS environment, including VPC, EKS (Kubernetes), RDS database, and DNS. The deployment is automated using GitHub Actions.


πŸ“ Project Structure

bank-infra/
β”œβ”€β”€ .github/workflows/          # GitHub Actions CI/CD workflows for Terraform plans/applies
β”œβ”€β”€ docker-git-runner-setup/    # Optional: Docker setup for a self-hosted GitHub runner
β”œβ”€β”€ module-vpc/                 # Terraform module to provision VPC and networking
β”œβ”€β”€ module-eks/                 # Terraform module to deploy an EKS cluster
β”œβ”€β”€ module-database/            # Terraform module to deploy RDS databases
β”œβ”€β”€ module-dns/                 # Terraform module for Route53/DNS setup
β”œβ”€β”€ .terraform.lock.hcl         # Provider and dependency lock file
β”œβ”€β”€ .tflint.hcl                 # Terraform linting configuration
β”œβ”€β”€ 01-provider.tf              # AWS provider configuration
β”œβ”€β”€ backend.tf                  # Remote state configuration (e.g., S3/DynamoDB/Terraform Cloud)
β”œβ”€β”€ main.tf                     # Root module wiring the VPC, EKS, DB, and DNS modules
β”œβ”€β”€ output.tf                   # Root outputs (cluster endpoint, DB endpoint, etc.)
β”œβ”€β”€ terraform.tfvars            # Variable values for the root module
β”œβ”€β”€ variable.tf                 # Variable definitions for the root module
└── readme.MD                   # Project documentation (you are here)

πŸ—οΈ Architecture

Project Architecture