mirror of
https://github.com/khuedoan/homelab.git
synced 2025-07-04 15:27:52 +07:00
a00cd2b288c5f8979ce2fa54b18adf7956f05cd3
Khue's 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}
make
python3
- Docker with
host
networking driver (which means only Docker on Linux hosts) terraform
(0.14.x)vagrant
(optional, to create a local test environment)
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
Simply run:
make
Or we can build each layer individually:
make infra
# or
cd infra
make
Languages
Python
41.2%
Go
22.8%
HCL
12%
Jinja
9.8%
Shell
4.6%
Other
9.6%