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>
78 lines
2.2 KiB
Markdown
78 lines
2.2 KiB
Markdown
# 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)
|