mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/khuedoan/homelab.git
synced 2026-09-20 08:03:58 +08:00
0a1b1cecaa4092affff27f71f357349d270aedc8
Homelab
⚠️ WORK IN PROGRESS
Hardware
- 4 nodes of NEC SFF PC (Japanese version of the ThinkCentre M700)
- CPU: Intel Core i5-6600T
- RAM: 16GB
- SSD: 128GB
- TP-Link TL-SG108 switch
Architecture
| Layer | Name | Description | Provisioner |
|---|---|---|---|
| 0 | metal | Bare metal OS installation, LXD, Terraform state backend,... | Ansible, PXE server |
| 1 | infra | Kubernetes clusters, shared apps (Git, Vault, Argo...) | Terraform, Helm |
| 2 | apps | Argo |
Usage
Prerequisite
For the controller (to run Ansible, stateless PXE server, Terraform...):
- SSH keys in
~/.ssh/{id_rsa,id_rsa.pub} - Docker with
hostnetworking driver (which means only Docker on Linux hosts)
For bare metal nodes:
- PXE IPv4 enabled
- Wake-on-LAN enabled
- Secure boot disabled (optional, depending on the OS)
Configurations
- Bare metal nodes settings (IP, MAC...)
- OS settings (PXE, network...)
Building
Open the tools container:
make
Then build each layer:
make metal
make infra
make apps
Acknowledgments
Description
Languages
Python
41%
Go
22.7%
HCL
12%
Jinja
9.7%
Shell
4.5%
Other
10.1%