# Hearth - Infrastructure Home The warm center where infrastructure becomes real. ## What This Is Hearth is the infrastructure repository for the letemcook ecosystem. It contains: - **Terraform modules** for AWS EKS, VPC, IAM, storage - **Kubernetes manifests** for core services (Forgejo, cert-manager, ingress) - **Deployment scripts** for phased rollout ## Quick Start ```bash # 1. Configure AWS aws sso login --profile muffinlabs # 2. Bootstrap Terraform backend cd terraform/environments/production terraform init terraform apply -target=module.bootstrap # 3. Deploy foundation (EKS, VPC, storage) ./scripts/deploy-phase1-foundation.sh # 4. Deploy core services (Forgejo) ./scripts/deploy-phase2-core-services.sh ``` ## Structure ``` hearth/ ├── terraform/ │ ├── modules/ # Reusable infrastructure modules │ │ ├── vpc/ # VPC with multi-AZ subnets │ │ ├── eks/ # EKS cluster │ │ ├── iam/ # IAM roles and IRSA │ │ ├── nlb/ # Network Load Balancer │ │ └── storage/ # EFS, S3 │ ├── main.tf # Root module │ ├── variables.tf # Input variables │ └── outputs.tf # Output values ├── kubernetes/ │ ├── forgejo/ # Git hosting │ ├── ingress/ # ALB ingress │ ├── cert-manager/ # TLS certificates │ ├── karpenter/ # Auto-scaling │ └── storage/ # Storage classes ├── scripts/ │ ├── deploy-phase*.sh # Phased deployment │ └── validate-*.sh # Validation scripts └── docs/ └── architecture.md # Infrastructure overview ``` ## Principles From Blue's ADRs: - **Single Source (0005)**: Infrastructure as code, one truth - **Evidence (0004)**: Terraform plan before apply - **No Dead Code (0010)**: Delete unused resources - **Never Give Up (0000)**: Deploy, fail, learn, redeploy ## AWS Profile Use `muffinlabs` profile for all AWS operations: ```bash export AWS_PROFILE=muffinlabs ``` ## Related Repos - **blue** - Philosophy and CLI tooling - **coherence-mcp** - MCP server (source of these manifests)