Skip to content
All projects

Enterprise AWS Infrastructure

Multi-environment AWS infrastructure platform built with Terragrunt and Terraform using a hierarchical blueprint pattern — DRY, policy-gated and cost-aware.

Source code
  • Terragrunt
  • Terraform
  • AWS
  • OPA/Conftest
  • GitHub Actions

The problem

Multi-environment Terraform drifts: dev and prod diverge through copy-paste, and nothing stops a change that is syntactically valid but violates security or blows the budget.

Constraints

Architecture

Governance gates — run in parallel

TFLintstatic analysis
Plandiff check
OPA / Conftestsecurity policy
Infracostcost delta

↓ all gates pass ↓

Dev

eu-central-1 / vpc
eu-central-1 / eks

Prod — protected

eu-central-1 / vpc
eu-central-1 / eks

Key decisions

What was chosen, what it was chosen over, and why.

Also decided

  • Infracost sits alongside the security gatesnotReviewing cost monthly, after the fact

    Cost surfaces while the change is still one revert away and in front of the person who made it, rather than weeks later in front of someone who did not.

  • Nightly drift detectionnotTrusting that applied state stays applied

    Out-of-band changes are found on a schedule instead of during the next incident, which is the only way a Git-declared environment stays true over time.

  • Manual approval gate on prod onlynotUniform automation across environments

    Dev applies automatically so the loop stays fast; prod requires a human after dev is stable. The gate is placed where the blast radius is, not everywhere.