khuedoan-homelab/docs/src/roadmap.md

87 lines
2.5 KiB
Markdown
Raw Normal View History

# Roadmap
2021-12-25 15:23:03 +07:00
> Current status: **Alpha**
## Alpha requirements
2022-02-09 00:38:51 +07:00
Literally anything that works.
2021-07-17 00:02:28 +07:00
## Beta requirements
2022-02-09 00:38:51 +07:00
Good enough for tinkering and personal usage, and reasonably secure.
2021-07-17 00:02:28 +07:00
- [x] Automated bare metal provisioning
- [x] Controller set up (Docker)
- [x] OS installation (PXE boot)
2021-10-02 15:11:08 +07:00
- [x] Automated cluster creation (k3s)
2021-07-17 00:02:28 +07:00
- [x] Automated application deployment (ArgoCD)
2021-12-25 15:23:03 +07:00
- [x] Automated DNS management
- [x] Initialize GitOps repository on Gitea automatically
- [x] Observability
- [x] Monitoring
- [x] Logging
2022-01-04 22:36:29 +07:00
- [ ] Alerting
2022-02-09 00:38:51 +07:00
- [ ] SSO
- [ ] Reasonably secure
- [x] Automated certificate management
- [ ] Declarative secrets management
- [ ] Replace all default passwords with randomly generated ones
- [x] Expose services to the internet securely with Cloudflare Tunnel
2021-12-25 15:23:03 +07:00
- [x] Only use open-source technologies (except external managed services in `./external`)
- [x] Everything is defined as code
2022-02-09 00:38:51 +07:00
- [ ] Backup solution (3 copies, 2 seperate devices, 1 offsite)
- [ ] 70% availability (might break in the weekend due to new experimentation)
- [x] Core applications
- [x] Gitea
- [x] Tekton
- [x] Vault
- [x] Private container registry
- [x] Homepage
2021-07-17 00:02:28 +07:00
## Stable requirements
2022-02-09 00:38:51 +07:00
Can be used in "production" (for family or even small scale businesses).
2021-07-17 00:02:28 +07:00
- [x] A single command to deploy everything
2022-02-09 00:38:51 +07:00
- [x] Fast deployment time (from empty hard drive to running services in under 1 hour)
2021-07-17 00:02:28 +07:00
- [ ] Fully _automatic_, not just _automated_
2022-02-25 09:32:15 +07:00
- [x] Bare-metal OS rolling upgrade
- [x] Kubernetes version rolling upgrade
2022-02-09 00:38:51 +07:00
- [ ] Application version upgrade
- [ ] Encrypted backups
- [ ] Secrets rotation
- [x] Self healing
2021-07-17 00:02:28 +07:00
- [ ] Secure by default
2021-12-25 15:23:03 +07:00
- [ ] SELinux
- [ ] Network policy
2021-07-17 00:02:28 +07:00
- [ ] Static code analysis
2021-12-25 15:23:03 +07:00
- [ ] Chaos testing
2021-07-17 00:02:28 +07:00
- [ ] Minimal dependency on external services
2022-02-09 00:38:51 +07:00
- [ ] Complete documentation
- [x] Diagram as code
2021-12-05 12:34:25 +07:00
- [x] Book (this book)
2022-02-09 00:38:51 +07:00
- [ ] Walkthrough tutorial and feature demo (video)
- [x] Configuration script for new users
- [ ] 99,9% availability (less than 9 hours of downtime per year)
- [ ] 99,99% data durability
- [ ] Additional applications
- [ ] Matrix with bridges
- [ ] VPN server
- [ ] PeerTube
- [x] Seafile
- [x] Blog
- [ ] [Development dashboard](https://github.com/khuedoan/homelab-backstage)
2021-07-17 00:02:28 +07:00
## Unplanned
Nice to have
2022-02-09 00:38:51 +07:00
- [ ] Addition applications
2021-12-25 15:23:03 +07:00
- [ ] Mail server
2021-07-17 00:02:28 +07:00
- [ ] Air-gap install
- [ ] Automated testing
- [ ] Security audit
2021-12-05 12:34:25 +07:00
- [ ] Serverless (Knative)
- [ ] Cluster API (https://github.com/khuedoan/homelab/pull/2)
2022-01-04 22:36:29 +07:00
- [ ] Split DNS (requires a better router)