Skip to content

BenjaminBurton/terrastack

Repository files navigation

TerraStack

Production-grade Infrastructure as Code for AWS using Terraform with GitOps principles.

Terraform AWS License


Overview

TerraStack demonstrates enterprise-level infrastructure automation with:

  • Infrastructure as Code using Terraform modules
  • GitOps workflow with GitHub Actions
  • Kubernetes on AWS EKS
  • Database with RDS PostgreSQL
  • Security best practices (IRSA, private subnets, encryption)

Built by a self-taught DevOps engineer as a portfolio project.


Current Stack:

  • VPC with public/private subnets (2 AZs)
  • NAT Gateways for private subnet internet
  • EKS Kubernetes cluster (v1.31)
  • Managed node group (2x t3.medium)
  • RDS PostgreSQL (db.t3.micro)
  • GitHub Actions CI/CD (GitOps)
  • Secrets Manager for database credentials
  • Full security groups and IAM roles

Quick Start

Prerequisites

  • AWS account with credentials
  • GitHub account (for GitOps workflows)
  • DevContainer support (VS Code or CLI)

Local Development

# Clone repository
git clone https://github.com/BenjaminBurton/terrastack.git
cd terrastack

# Open in DevContainer
devcontainer up --workspace-folder .
devcontainer exec --workspace-folder . zsh

# Configure AWS
aws configure

# Initialize Terraform
cd environments/dev
terraform init

# Plan changes
terraform plan

# Apply infrastructure
terraform apply

# Configure kubectl
aws eks update-kubeconfig --region us-east-1 --name terrastack-cluster

# Verify
kubectl get nodes
kubectl get pods -A

About

Production-grade AWS infrastructure with Terraform: EKS cluster, VPC, RDS PostgreSQL. GitOps workflows with GitHub Actions. Self-taught DevOps portfolio project.

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.txt

Stars

Watchers

Forks

Releases

No releases published

Contributors