You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Production-ready Kubernetes platform on AWS EKS with integrated security controls, GitOps automation, service mesh, and observability — deployed entirely via Infrastructure as Code.
# 1. Configure platform variablescd k8s-platform-tools
cp platform_vars.yaml.example platform_vars.yaml # Edit with your values# 2. Bootstrap AWS infrastructurecd ../aws-infrastructure/state-backend && terraform init && terraform apply
cd ../github-oidc && terragrunt apply
cd ../external-secrets-iam && terragrunt apply
# 3. Deploy platform layers (in order)cd ../../k8s-platform-tools/core-platform && terragrunt run -a -- apply
cd ../service-mesh && terragrunt run -a -- apply
cd ../security && terragrunt run -a -- apply
cd ../observability && terragrunt run -a -- apply
cd ../platform-tools && terragrunt run -a -- apply
# 4. Deploy operational securitycd ../../aws-infrastructure/security-audit-automation && terragrunt apply
cd ../secrets-rotation-lambda && terragrunt apply
Destroy (reverse order)
cd k8s-platform-tools
terragrunt run -a --working-dir platform-tools -- destroy
terragrunt run -a --working-dir observability -- destroy
terragrunt run -a --working-dir security -- destroy
terragrunt run -a --working-dir service-mesh -- destroy
terragrunt run -a --working-dir core-platform -- destroy
Configuration
All platform configuration lives in k8s-platform-tools/platform_vars.yaml with three sections:
YAML Path
Components
Platform.Tools.<name>.inputs
Core platform, service mesh, platform tools
Platform.Security.<name>.inputs
Kyverno, Falco, Velero
Platform.Observability.<name>.inputs
Compliance Scanner
common.*
Shared values (region, VPC, EKS, tags)
Key convention: Component directory name must match the YAML key exactly (resolved via basename(get_terragrunt_dir())).
Environment Selection
ENV=dev terragrunt apply # default
ENV=prod terragrunt apply # production
Secrets Management
All sensitive values are stored in AWS Secrets Manager and referenced as: