Reflect current state: - k3s on single EC2 spot instance (~$7.50/month) - Forgejo, PowerDNS, Traefik running - Remove outdated EKS/CockroachDB references Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Hearth - Infrastructure Home
The warm center where infrastructure becomes real.
What This Is
Hearth is the infrastructure repository for the letemcook ecosystem. It runs a minimal k3s setup on a single EC2 spot instance (~$7.50/month).
Services:
- Forgejo - Self-hosted Git
- PowerDNS - Authoritative DNS
- Traefik - Ingress with Let's Encrypt
Quick Start
# 1. Configure AWS
aws sso login --profile hearth
# 2. Deploy infrastructure
cd terraform/minimal
terraform init
terraform apply
# 3. Deploy PowerDNS (after instance is running)
scp -P 2222 scripts/deploy-powerdns.sh ec2-user@<EIP>:
ssh -p 2222 ec2-user@<EIP> 'sudo bash deploy-powerdns.sh <EIP>'
# 4. Update GoDaddy glue records for each domain
Structure
hearth/
├── terraform/
│ └── minimal/ # Single EC2 + k3s
│ ├── main.tf # VPC, EC2, security groups
│ ├── variables.tf # Input variables
│ └── user-data.sh # k3s + Forgejo bootstrap
├── scripts/
│ └── deploy-powerdns.sh # PowerDNS deployment
└── docs/
├── architecture.md # Infrastructure overview
└── rfcs/ # Design decisions
Access
# Admin SSH
ssh -p 2222 ec2-user@3.218.167.115
# kubectl (on server)
kubectl get pods -A
# Forgejo
https://git.beyondtheuniverse.superviber.com
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
- Freedom Through Constraint (0011): Minimal viable infrastructure
AWS Profile
Use hearth profile for all AWS operations:
export AWS_PROFILE=hearth
Related Repos
- blue - Philosophy and CLI tooling
- coherence-mcp - MCP server (original source)