mirror of
https://github.com/khuedoan/homelab.git
synced 2025-01-22 10:19:21 +07:00
Update documentation
- Split changelog and roadmap - Add missing sections on README based on template
This commit is contained in:
parent
60f1ba4e41
commit
f7a02d99b3
26
README.md
26
README.md
@ -60,7 +60,7 @@
|
||||
| 1 | [infra](./infra) | Kubernetes clusters | Terraform, Helm |
|
||||
| 2 | [apps](./apps) | Gitea, Vault and more in the future | Argo |
|
||||
|
||||
## Usage
|
||||
## Get Started
|
||||
|
||||
### Prerequisite
|
||||
|
||||
@ -72,15 +72,18 @@ For the controller (to run Ansible, stateless PXE server, Terraform...):
|
||||
For bare metal nodes:
|
||||
|
||||
- PXE IPv4 enabled
|
||||
- Wake-on-LAN enabled
|
||||
- Wake-on-LAN enabled and boot to network mode by default if turned on via Wake-on-LAN
|
||||
- Secure boot disabled (optional, depending on the OS)
|
||||
- Note their MAC addresses
|
||||
|
||||
### Configurations
|
||||
|
||||
Change these configuration files to match your hardware and network setup:
|
||||
|
||||
- [Bare metal nodes settings](./metal/hosts.yaml) (IP, MAC...)
|
||||
- [OS settings](./metal/group_vars/all.yml) (PXE, network...)
|
||||
|
||||
### Building
|
||||
### Build
|
||||
|
||||
Open the tools container:
|
||||
|
||||
@ -93,3 +96,20 @@ Then build the homelab:
|
||||
```sh
|
||||
make
|
||||
```
|
||||
|
||||
## Roadmap
|
||||
|
||||
See [roadmap](./docs/roadmap.md) and [open issues](https://github.com/khuedoan/homelab/issues) for a list of proposed features and known issues.
|
||||
|
||||
## Contributing
|
||||
|
||||
Any contributions you make are greatly appreciated (feature, bug fixes, documentation, grammar or typo fix...).
|
||||
|
||||
## License
|
||||
|
||||
Distributed under the GPLv3 License. See `LICENSE` for more information.
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
- ArgoCD usage in [my coworker's homelab](https://github.com/locmai/humble)
|
||||
- [README template](https://github.com/othneildrew/Best-README-Template)
|
||||
|
@ -1,51 +1,10 @@
|
||||
# Changelog
|
||||
|
||||
- [x] `0.0.1-alpha`:
|
||||
- [x] Bare metal provisioning with PXE
|
||||
- [x] LXD cluster
|
||||
- [x] Terraform state backend (etcd)
|
||||
- [x] RKE cluster
|
||||
- [x] Core services (Vault, Gitea, ArgoCD,...)
|
||||
- [x] Public services to the internet (via port forwarding or Cloudflare Tunnel)
|
||||
- [ ] `0.0.2-alpha`:
|
||||
- [x] Ensure idempotency for bare metal provisioning
|
||||
- [x] Extract instead of mounting the OS ISO file
|
||||
- [x] Easy initial controller setup (with only Docker)
|
||||
- [x] Switch to Fedora
|
||||
- [x] Remove LXD
|
||||
- [ ] VPN (Wireguard)
|
||||
- [ ] Access the lab from the internet via VPN
|
||||
- [ ] Container registry
|
||||
- [ ] `0.1.0-beta`:
|
||||
- [ ] Automated metal secrets generation and management
|
||||
- [ ] Automated `./infra` authentication from `./metal` (Terraform backend and provider)
|
||||
- [ ] Metal node automatic patching
|
||||
- [ ] Local DNS (PiHole?)
|
||||
- [ ] Self managed infrastucture
|
||||
- [ ] Mirror all git repositories from GitHub automatically (with git hook for faster sync?)
|
||||
- [ ] Monitoring and alerting
|
||||
- [ ] Addition services (NextCloud, PeerTube, mailcow, Mattermost/Rocket Chat,...)
|
||||
- [ ] Dashboard for services
|
||||
- [ ] SSO
|
||||
- [ ] Backup solution (3 copies, 2 seperate devices, 1 offsite)
|
||||
- [ ] Automatic release
|
||||
- [ ] `1.0.0`:
|
||||
- [ ] 100% automated
|
||||
- [ ] Bare-metal OS patching
|
||||
- [ ] Kubernetes nodes OS patching
|
||||
- [ ] Backups
|
||||
- [ ] Secrets management
|
||||
- [ ] Backup encrytion
|
||||
- [ ] Secure by default
|
||||
- [ ] DRY
|
||||
- [ ] Complete documentation and architecture diagram (automated update if possible)
|
||||
- [ ] `1.0.1`:
|
||||
- [ ] Bug fixes (TBD)
|
||||
- [ ] `1.1.0`:
|
||||
- [ ] Addition services (TBD)
|
||||
- [ ] Backlog:
|
||||
- [ ] Automated testing
|
||||
- [ ] Security review/audit
|
||||
- [ ] Migrate to RKE2 (new Terraform provider for RKE2 is not release yet)
|
||||
- [ ] HA for everything
|
||||
- [ ] Walkthrough building tutorial and feature demo
|
||||
## 0.0.1-alpha
|
||||
|
||||
- Bare metal provisioning with PXE
|
||||
- LXD cluster
|
||||
- Terraform state backend (etcd)
|
||||
- RKE cluster
|
||||
- Core services (Vault, Gitea, ArgoCD,...)
|
||||
- Public services to the internet (via port forwarding or Cloudflare Tunnel)
|
||||
|
48
docs/roadmap.md
Normal file
48
docs/roadmap.md
Normal file
@ -0,0 +1,48 @@
|
||||
# Roadmap
|
||||
|
||||
- [ ] `0.0.2-alpha`:
|
||||
- [x] Ensure idempotency for bare metal provisioning
|
||||
- [x] Extract instead of mounting the OS ISO file
|
||||
- [x] Easy initial controller setup (with only Docker)
|
||||
- [x] Switch to Fedora
|
||||
- [x] Remove LXD
|
||||
- [ ] Move etcd (Terraform state backend) back to Docker
|
||||
- [ ] `0.0.3-alpha`:
|
||||
- [ ] Better PXE boot tooling
|
||||
- [ ] Switch to CoreOS
|
||||
- [ ] VPN (Wireguard)
|
||||
- [ ] Access the lab from the internet via VPN
|
||||
- [ ] Container registry
|
||||
- [ ] `0.1.0-beta`:
|
||||
- [ ] Automated metal secrets generation and management
|
||||
- [ ] Automated `./infra` authentication from `./metal` (Terraform backend and provider)
|
||||
- [ ] Metal node automatic patching
|
||||
- [ ] Local DNS (PiHole?)
|
||||
- [ ] Self managed infrastucture
|
||||
- [ ] Mirror all git repositories from GitHub automatically (with git hook for faster sync?)
|
||||
- [ ] Monitoring and alerting
|
||||
- [ ] Addition services (NextCloud, PeerTube, mailcow, Mattermost/Rocket Chat,...)
|
||||
- [ ] Dashboard for services
|
||||
- [ ] SSO
|
||||
- [ ] Backup solution (3 copies, 2 seperate devices, 1 offsite)
|
||||
- [ ] Automatic release
|
||||
- [ ] `1.0.0`:
|
||||
- [ ] 100% automated
|
||||
- [ ] Bare-metal OS patching
|
||||
- [ ] Kubernetes nodes OS patching
|
||||
- [ ] Backups
|
||||
- [ ] Secrets management
|
||||
- [ ] Backup encrytion
|
||||
- [ ] Secure by default
|
||||
- [ ] DRY
|
||||
- [ ] Complete documentation and architecture diagram (automated update if possible)
|
||||
- [ ] `1.0.1`:
|
||||
- [ ] Bug fixes (TBD)
|
||||
- [ ] `1.1.0`:
|
||||
- [ ] Addition services (TBD)
|
||||
- [ ] Backlog:
|
||||
- [ ] Automated testing
|
||||
- [ ] Security review/audit
|
||||
- [ ] Migrate to RKE2 (new Terraform provider for RKE2 is not release yet)
|
||||
- [ ] HA for everything
|
||||
- [ ] Walkthrough building tutorial and feature demo
|
Loading…
Reference in New Issue
Block a user