Documentation
๐ ARM64 Kubernetes Documentation
Welcome to the comprehensive documentation for the Home Lab to the Moon and Back project - validating ARM64 architecture in the cloud before committing to bare-metal hardware.
๐ฏ Mission: Develop a cloud-validated, ARM64-first Kubernetes deployment for CozySummit Virtual 2025 on December 3, 2025 to replace traditional high-power AMD64 home lab setups.
๐๏ธ Architecture Decision Records
๐ ADR Index - Formal architectural decisions and their rationale
| ADR | Title | Status |
|---|---|---|
| ADR-001 | ARM64 Architecture Choice | โ Accepted |
| ADR-002 | Test-Driven Generation Methodology | โ Accepted |
| ADR-003 | Patch Generation Best Practices | โ Accepted |
| ADR-004 | Role-Based Talos Image Architecture | โ Accepted |
๐ Implementation Guides
๐ง Step-by-step guides for building and deploying the system
Infrastructure Setup
- ๐ฆ Custom Talos Images - Building ARM64 Talos with Spin + Tailscale
- โ๏ธ AWS Infrastructure Handoff - Cloud validation setup
- ๐ Matchbox Server Config - Network boot configuration
- ๐ฅ Live Fire Test Instructions - End-to-end validation testing
Development & Testing
- ๐งช TDG Implementation Story - Test-Driven Generation journey
- ๐ Repository Overview - Project structure and organization
๐ฐ Cost Analysis & Planning
๐ Financial planning and cost validation
- ๐ต Detailed Cost Analysis - Comprehensive cost breakdown and projections
- ๐ Cost Summary - Quick cost reference and baseline metrics
Budget Targets:
- Baseline: <$0.10/month (idle infrastructure)
- Validation: <$15/month (active testing periods)
- Demo: Efficient resource usage for live presentation
๐ Quick Start
1. Validate ARM64 Talos Images
# Pull the demo-ready ARM64 image
docker pull ghcr.io/urmanac/talos-cozystack-demo:demo-stable
# Extract boot assets for validation
mkdir -p /tmp/talos-assets
docker create --name temp ghcr.io/urmanac/talos-cozystack-demo:demo-stable true
docker cp temp:/assets/. /tmp/talos-assets/
docker rm temp
# Verify ARM64 Talos files
ls -la /tmp/talos-assets/talos/arm64/
2. Run Local Validation
# Comprehensive validation suite (6 stages)
./validate-complete.sh
# Individual validations
./validate-patch.sh # Patch application
yq eval '.jobs.build-cozystack-talos-arm64' .github/workflows/build-talos-images.yml # Workflow syntax
3. Deploy to AWS (Optional)
# See AWS Infrastructure Handoff guide
cd terraform/
terraform init
terraform plan -var="environment=demo"
terraform apply
๐ Project Status
โ Completed Milestones
- Matrix Strategy Success: Dual ARM64 Talos image variants with role-based architecture
- ARM64 Talos image builds with Spin + Tailscale extensions working in parallel
- GitHub Actions CI/CD pipeline with comprehensive validation and matrix builds
- Container image publishing to GitHub Container Registry with clean tagging
- Test-Driven Generation methodology implementation
- Comprehensive documentation with ADRs
๐ฏ Working Image Variants
- Compute Nodes:
ghcr.io/urmanac/talos-cozystack-spin-only/talos:v1.11.5 - Gateway Nodes:
ghcr.io/urmanac/talos-cozystack-spin-tailscale/talos:v1.11.5
๐ Current Phase: Live Testing
- GitHub Pages setup with beautiful navigation
- Integration with upstream CozyStack build system
- Role-based cluster formation testing
- Performance benchmarking on AWS t4g instances
- Cost optimization and monitoring setup
๐ฏ December 3, 2025 Demo Targets
- Live SpinKube demonstration on ARM64
- Role-based cluster formation showcase
- Tailscale subnet router demonstration
- Real-time cost transparency during presentation
- Home lab transition plan presentation
๐ ๏ธ Development Workflow
Test-Driven Generation (TDG) Process
- ๐ Understand - Analyze requirements and constraints
- ๐งช Local Validation - Run complete validation suite
- โ Validate Changes - Ensure patches apply cleanly
- ๐ Generate Solutions - Use proper tooling (Git, not manual)
- ๐ Document Decisions - Capture knowledge in ADRs
Validation Gates
# Before any commit
./validate-complete.sh # 6-stage comprehensive validation
# Before any push
git apply --check patches/*.patch # Patch compatibility
yq eval '.jobs' .github/workflows/build-talos-images.yml # Workflow syntax
๐ Key Technologies
| Technology | Purpose | ARM64 Status |
|---|---|---|
| Talos Linux | Immutable Kubernetes OS | โ Full support |
| CozyStack | Kubernetes distribution | ๐ Custom ARM64 build |
| Spin | WebAssembly runtime | โ Native ARM64 |
| Tailscale | VPC subnet router | โ ARM64 optimized |
| AWS Graviton | ARM64 cloud validation | โ t4g instances |
๐ Support & Contributing
- ๐ Issues: GitHub Issues
- ๐ก Discussions: GitHub Discussions
- ๐ง Contact: CozySummit Virtual 2025
Contributing Guidelines
- Follow TDG methodology (see ADR-002)
- Run local validation before PR submission
- Document architectural decisions in ADRs
- Update cost analysis for infrastructure changes
๐ Meta Documentation
๐ Project organization and build system documentation
- ๐ About Latest Build - Understanding auto-generated build status
- ๐ท๏ธ Package Naming Cleanup - Package naming conventions
๐ท๏ธ Project Meta
- License: Apache 2.0
- Status: Active Development (Demo: Dec 3, 2025)
- Architecture: ARM64-first with cloud validation
- Methodology: Test-Driven Generation (TDG)
| ๐ Navigation: ๐ Project Home | ๐๏ธ ADRs | ๐ Guides |