From 851f97880acfc3994229e83378f7699a1df143a1 Mon Sep 17 00:00:00 2001 From: Thomas Vincent Date: Sat, 7 Feb 2026 21:37:31 -0800 Subject: [PATCH] chore: normalize terraform formatting --- README.md | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c33b5d0..3455a4e 100644 --- a/README.md +++ b/README.md @@ -81,14 +81,15 @@ flowchart TB └── workflows/ # CI/CD pipelines ``` -## 🚀 Quick Start - -### Prerequisites +## Prerequisites - AWS CLI configured with appropriate credentials - Terraform >= 1.6 - kubectl >= 1.28 - Helm >= 3.13 +- ArgoCD CLI (optional) + +## Quick Start ### 1. Provision Infrastructure @@ -115,6 +116,49 @@ kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.pas kubectl port-forward svc/argocd-server -n argocd 8080:443 ``` +## Module Structure + +See [Repository Structure](#-repository-structure) above for detailed organization. + +## Variables + +Module-specific variables are documented in each module's `variables.tf`: +- `terraform/modules/vpc/variables.tf` - VPC configuration +- `terraform/modules/eks/variables.tf` - EKS cluster settings +- `terraform/modules/argocd/variables.tf` - ArgoCD bootstrap + +## Outputs + +Module outputs are defined in respective `outputs.tf` files: +- Cluster endpoint and certificate authority +- VPC and subnet IDs +- ArgoCD initial admin password + +## Development + +Format Terraform code: +```bash +terraform fmt -recursive +``` + +Validate configuration: +```bash +terraform validate +``` + +Run linting: +```bash +tflint +``` + +## Testing + +CI/CD pipeline includes: +- Terraform validation and formatting checks +- Security scanning with tfsec +- Kubernetes manifest validation +- Container image scanning with Trivy + ## 🔄 Progressive Delivery This repo demonstrates **canary deployments** with automated analysis: