Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Roadmap

Note

Current status: ALPHA

Alpha requirements

Literally anything that works.

Beta requirements

Good enough for tinkering and personal usage, and reasonably secure.

  • Automated bare metal provisioning
    • Controller set up (Nix development shell)
    • OS installation (PXE boot)
  • Automated cluster creation (k3s)
  • Automated application deployment (ArgoCD)
  • Automated DNS management
  • Initialize GitOps repository on Forgejo automatically
  • Observability
    • Monitoring
    • Logging
    • Alerting
  • SSO
  • Reasonably secure
    • Automated certificate management
    • Declarative secret management
    • Replace all default passwords with randomly generated ones
    • Expose services to the internet securely with Cloudflare Tunnel
  • Only use open-source technologies (except external managed services)
  • Everything is defined as code
  • Backup solution (3 copies, 2 separate devices, 1 offsite)
  • Define SLOs:
    • 70% availability (might break in the weekend due to new experimentation)
  • Core applications
    • Forgejo
    • Woodpecker
    • Private container registry
    • Homepage

Stable requirements

Can be used in “production” (for family or even small scale businesses).

  • A single command to deploy everything
  • Verify deployment time from empty disks to running services
  • Fully automatic, not just automated
    • Automated flake updates and node configuration deployment for OS and Kubernetes upgrades
    • Kured reboot coordination after kernel changes
    • Application version upgrade
    • Encrypted backups
    • Secrets rotation
    • Self healing
  • Secure by default
    • Host security hardening
    • Default application network policies
  • Static code analysis
  • Chaos testing
  • Minimal dependency on external services
  • Complete documentation
    • Diagram as code
    • Book (this book)
    • Walkthrough tutorial and feature demo (video)
  • User onboarding (with just user)
  • More dashboards and alert rules
  • SLOs:
    • 99,9% availability (less than 9 hours of downtime per year)
    • 99,99% data durability
  • Clear upgrade path
  • Additional applications
    • Matrix with bridges
    • VPN server
    • PeerTube
    • Blog

Unplanned

Nice to have

  • Air-gap install
  • Automated testing