Proving you can run CozyStack in the cloud for less than a cup of coffee per month
And then fly it back home to Raspberry Pi land
Transform a 76Β°F office space heater (aka home lab) into a cloud-validated, ARM64-first CozyStack deployment that:
Target: Live demo at CozySummit Virtual 2025 on December 4, 2025
Home Lab Status: π₯
Office Temperature: 76Β°F (with AC!)
Electricity Bill: π
Wife's Patience: πRunning x86 workloads 24/7 in a home lab is:
The Solution? Validate in the cloud, then bring it home on ARM64 (Raspberry Pi CM3).
Internet β DD-WRT Router (10.17.12.1)
ββ Front Subnet (10.17.12.0/24)
ββ Mikrotik Router (dual-homed)
ββ Inner Subnet (10.17.13.0/24)
ββ Netboot Infrastructure
β ββ dnsmasq (DHCP)
β ββ matchbox (PXE)
β ββ 5x registry caches
β ββ pi-hole (DNS)
ββ Talos Nodes
ββ CozyStackVPC: 10.20.0.0/16 (eu-west-1)
ββ Public Subnet (10.20.1.0/24)
β ββ NAT Gateway
β
ββ Private Subnet (10.20.13.0/24)
ββ Bastion (t4g.small, 5hrs/day)
β ββ Docker containers:
β ββ dnsmasq
β ββ matchbox
β ββ registry caches (x5)
β ββ pi-hole
β
ββ Talos Nodes (t4g.small, on-demand)
ββ CozyStack on ARM64
ββ SpinKube demoKey Innovation: Exact replica of home lab topology in AWS, staying within free tier limits.
| Resource | Monthly Cost | Free Tier | Actual Cost |
|---|---|---|---|
| t4g.small compute (750 hrs) | ~$13.00 | β FREE | $0.00 |
| EBS storage (gp3) | ~$0.88/GB | β Paid | ~$0.04 |
| Data transfer (private) | $0.00 | β FREE | $0.00 |
| NAT Gateway | ~$32.00 | β οΈ Partial | ~$0.04 |
| Total | ~$45 | Free tier magic | ~$0.08 |
Target: Keep monthly cost under $0.10 (one dime!) through December 2025.
After free tier expires: Scale appropriately or return to home (now on efficient ARM64).
This project follows the Test-Driven Generation methodology created by Chanwit Kaewkasi (CozyStack creator).
Principle: Write tests FIRST, then generate code to make them pass.
| Phase | Tests | Status |
|---|---|---|
| Network Foundation | 1-3 | β In Progress |
| Bastion & Netboot | 4-6 | β Pending |
| CozyStack Deployment | 7-9 | β Pending |
| Integration Tests | 10-21 | β Pending |
Run tests: ./tests/run-all.sh
This project integrates with 8+ repositories:
| Repo | Purpose | Status |
|---|---|---|
| urmanac/aws-accounts | Infrastructure Terraform | β Active |
| kingdon-ci/cozy-fleet | Flux GitOps | β Active |
| kingdonb/cozystack-talm-demo | HelmReleases & Speed Runs | πΊ Reference |
| kingdon-ci/kaniko-builder | Custom image builds | π§ Tool |
| kingdon-ci/time-tracker | Session tracking | βοΈ Optional |
| kingdonb/mecris | MCP server patterns | π Reference |
| kingdon-ci/noclaude | Self-hosted AI | π€ Future |
| chanwit/tdg | TDG Methodology | π Methodology |
See: docs/REPO-OVERVIEW.md for full dependency graph.
# AWS CLI with MFA-authenticated profile
aws configure --profile sb-terraform-mfa-session
# Terraform (or OpenTofu)
brew install opentofu
# kubectl + talosctl
brew install kubectl
brew install siderolabs/tap/talosctl
# Flux CLI
brew install fluxcd/tap/flux# Clone this repo
git clone https://github.com/urmanac/cozystack-moon-and-back.git
cd cozystack-moon-and-back
# Review TDG tests
./tests/run-all.sh --dry-run
# Deploy network foundation (Test 1)
cd terraform/network
terraform init
terraform plan
terraform apply
# Deploy bastion (Test 2-3)
cd ../bastion
terraform apply
# Verify netboot infrastructure (Test 3)
ssh ubuntu@10.20.13.140 "docker ps"
# Launch Talos node (Test 4)
# (Manual for now, see docs/BOOTSTRAP.md)# Get talos config
talosctl -n 10.20.13.x config
# Bootstrap cluster
talosctl -n 10.20.13.x bootstrap
# Install CozyStack
# (See docs/COZYSTACK.md for detailed steps)This project demonstrates:
Speaker: Kingdon Barrett
Flux Maintainer, DevOps Engineer at Navteca, LLC
Working on Science Cloud for NASA Goddard Space Flight Center
Methodology: Chanwit Kaewkasi
CozyStack Creator, TDG Innovator
Built with:
| Date | Milestone |
|---|---|
| Nov 16 | π¬ Project kickoff, TDG tests defined |
| Nov 23 | ποΈ Network foundation + bastion deployed |
| Nov 30 | π§ First Talos node netboots successfully |
| Dec 4 | π€ Live demo at CozySummit Virtual 2025 |
| Dec 31 | π Home lab transitions to Raspberry Pi |
Free tier expires: December 2025 (t4g instances)
This is a conference talk demo, but if you want to replicate or improve:
Open issues for questions, PRs for improvements!
Apache 2.0 - See LICENSE for details.
"It's 2025 - If you're running a cluster, why not host it in the cloud first?"
π β βοΈ β π β π₯§
From basement to cloud and back to Raspberry Pi
</div>