๐Ÿ“š 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

Development & Testing


๐Ÿ’ฐ Cost Analysis & Planning

๐Ÿ“ˆ Financial planning and cost validation

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

  1. ๐Ÿ” Understand - Analyze requirements and constraints
  2. ๐Ÿงช Local Validation - Run complete validation suite
  3. โœ… Validate Changes - Ensure patches apply cleanly
  4. ๐Ÿš€ Generate Solutions - Use proper tooling (Git, not manual)
  5. ๐Ÿ“š 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

Contributing Guidelines

  1. Follow TDG methodology (see ADR-002)
  2. Run local validation before PR submission
  3. Document architectural decisions in ADRs
  4. Update cost analysis for infrastructure changes

๐Ÿ“‹ Meta Documentation

๐Ÿ“š Project organization and build system documentation


๐Ÿท๏ธ 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