khuedoan-homelab/docs/roadmap.md
2021-07-25 12:30:15 +07:00

2.0 KiB

Roadmap

Current status: Alpha

Beta requirements

Good enough for playaround with and personal use

  • Automated bare metal provisioning
    • Controller set up (Docker)
    • OS installation (PXE boot)
  • Automated cluster creation (Terraform)
  • Automated application deployment (ArgoCD)
  • Everything is defined as code
  • Basic services
    • Gitea
    • DoneCI
    • NextCloud
    • PeerTube,
    • Mail server
    • Mattermost
    • Matrix with bridges
    • Vault
    • VPN
    • Dashboard
    • Cloudflare tunnel (optional)
  • Local DNS
  • Mirror all git repositories from GitHub automatically
  • Monitoring and alerting
  • Local container registry
  • SSO
  • Backup solution (3 copies, 2 seperate devices, 1 offsite)
  • 70% availability (might break in the weekend due to new experimentation)

Stable requirements

Can be used in "production" (for family or even small scale bussinesses)

  • A single command to deploy everything
  • Fast deployment time (from empty hard drive to running services under 1 hour)
  • Fully automatic, not just automated
    • Bare-metal OS patching
    • Backups
    • Secrets management and rotation
    • Self healing
    • Autoscale to save electricity (optional)
  • 99,9% availability (less than 9 hours of downtime per year)
  • Backup encrytion
  • Split DNS
  • Secure by default
  • Static code analysis
  • Minimal dependency on external services
  • Only use open-source technologies
  • Complete documentation and architecture diagram (automated update if possible)
    • Book (this book)
    • Walkthrough building tutorial and feature demo (video)

Unplanned

Nice to have

  • Addition services (TBD)
  • Air-gap install
  • Automated testing
  • Security audit
  • Migrate to RKE2 (new Terraform provider for RKE2 is not release yet)
  • Serverless (OpenFaaS/Kubeless/Fission/Supabase...)
  • Cluster API (https://github.com/khuedoan/homelab/pull/2)