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>
81 lines
1.8 KiB
Markdown
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)
|