hearth/CLAUDE.md
Eric Garcia f23ea198f0 docs: Update documentation for minimal k3s architecture
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>
2026-01-24 09:03:51 -05:00

81 lines
1.8 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 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
```bash
# 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
```bash
# 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:
```bash
export AWS_PROFILE=hearth
```
## Related Repos
- **blue** - Philosophy and CLI tooling
- **coherence-mcp** - MCP server (original source)