Roadmap¶
Alpha requirements¶
Anything that works (...or doesn't 🤷).
Beta requirements¶
Good enough for tinkering and personal usage, and reasonably secure.
- Change OS To Ubuntu
- Personal preference over fedora
- NB! only if I find a way to automate OS provisioning
- Existing bits that need to be changed:
- pxe - netboot.xyz?
- cloud-init - subiquity autoinstall
-
dnf
->apt
-
sysctl
- dnf automatic -> ?
- kured (
rebootSentinelCommand
)
- Automated bare metal provisioning
- Controller set up (Docker)
- OS installation (PXE boot)
- Disk wipe (OS re-installation)
- Automated cluster creation (k3s)
- Automated application deployment (ArgoCD)
- Automated DNS management
- Initialize GitOps repository on Gitea 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 in
./external
) - Everything is defined as code
- Backup solution (3 copies, 2 seperate devices, 1 offsite)
- Define SLOs:
- 70% availability (might break in the weekend due to new experimentation)
- Core applications
- Gitea
- 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
- Fast deployment time (from empty hard drive to running services in under 1 hour)
- Fully automatic, not just automated
- Bare-metal OS rolling upgrade
- Kubernetes version rolling upgrade
- Application version upgrade
- Encrypted backups
- Secrets rotation
- Self healing
- Secure by default
- SELinux
- 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)
- Configuration script for new users
- 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
- Development Dashboard