Hearth is the infrastructure home for the letemcook ecosystem. Ported from coherence-mcp/infra: - Terraform modules (VPC, EKS, IAM, NLB, S3, storage) - Kubernetes manifests (Forgejo, ingress, cert-manager, karpenter) - Deployment scripts (phased rollout) Status: Not deployed. EKS cluster needs to be provisioned. Next steps: 1. Bootstrap terraform backend 2. Deploy phase 1 (foundation) 3. Deploy phase 2 (core services including Forgejo) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
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
# 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:
export AWS_PROFILE=muffinlabs
Related Repos
- blue - Philosophy and CLI tooling
- coherence-mcp - MCP server (source of these manifests)