Compare commits
3 commits
8c35b92119
...
e6e9603295
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e6e9603295 | ||
|
|
04732a30d6 | ||
|
|
9b85ec5e5f |
34
docs/topology.md
Normal file
34
docs/topology.md
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
# Homelab Topology
|
||||||
|
|
||||||
|
## Nodes
|
||||||
|
|
||||||
|
| Node | Role |
|
||||||
|
|---|---|
|
||||||
|
| SATURN | Control and development node |
|
||||||
|
| PIHA | Infrastructure and monitoring node |
|
||||||
|
| SOLARIA | AI and compute node |
|
||||||
|
| VPS | Public ingress and edge node |
|
||||||
|
| CHELSTY | Virtualization and Home Assistant node |
|
||||||
|
|
||||||
|
## Architecture Principles
|
||||||
|
|
||||||
|
- Git is the source of truth.
|
||||||
|
- SATURN is the primary orchestration and commit node.
|
||||||
|
- Runtime state lives outside repositories.
|
||||||
|
- Tailscale provides internal mesh networking.
|
||||||
|
- Docker Compose remains the deployment model.
|
||||||
|
- Public ingress is centralized on VPS.
|
||||||
|
- Deployment uses lightweight shell scripts.
|
||||||
|
- Avoid Kubernetes and heavy orchestration frameworks.
|
||||||
|
|
||||||
|
## Runtime Layout
|
||||||
|
|
||||||
|
Runtime data should live under:
|
||||||
|
|
||||||
|
/opt/homelab
|
||||||
|
|
||||||
|
with separated:
|
||||||
|
- services
|
||||||
|
- data
|
||||||
|
- config
|
||||||
|
- logs
|
||||||
16
hosts/chelsty/host.yaml
Normal file
16
hosts/chelsty/host.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
hostname: chelsty
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- hypervisor
|
||||||
|
- homeassistant
|
||||||
|
- staging
|
||||||
|
|
||||||
|
network:
|
||||||
|
tailscale_ip: 100.122.201.22
|
||||||
|
|
||||||
|
runtime:
|
||||||
|
root: /opt/homelab
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
mode: pull
|
||||||
|
managed_by: saturn
|
||||||
15
hosts/piha/host.yaml
Normal file
15
hosts/piha/host.yaml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
hostname: piha
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- infra
|
||||||
|
- monitoring
|
||||||
|
|
||||||
|
network:
|
||||||
|
tailscale_ip: 100.108.208.3
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
mode: pull
|
||||||
|
managed_by: saturn
|
||||||
|
|
||||||
|
runtime:
|
||||||
|
root: /opt/homelab
|
||||||
14
hosts/saturn/host.yaml
Normal file
14
hosts/saturn/host.yaml
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
hostname: saturn
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- control
|
||||||
|
- development
|
||||||
|
|
||||||
|
network:
|
||||||
|
tailscale_ip: 100.121.168.72
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
mode: orchestrator
|
||||||
|
|
||||||
|
runtime:
|
||||||
|
root: /opt/homelab
|
||||||
15
hosts/solaria/host.yaml
Normal file
15
hosts/solaria/host.yaml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
hostname: solaria
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- compute
|
||||||
|
- ai
|
||||||
|
|
||||||
|
network:
|
||||||
|
tailscale_ip: 100.100.231.104
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
mode: pull
|
||||||
|
managed_by: saturn
|
||||||
|
|
||||||
|
runtime:
|
||||||
|
root: /opt/homelab
|
||||||
15
hosts/vps/host.yaml
Normal file
15
hosts/vps/host.yaml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
hostname: vps
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- edge
|
||||||
|
- ingress
|
||||||
|
|
||||||
|
network:
|
||||||
|
tailscale_ip: 100.95.58.48
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
mode: pull
|
||||||
|
managed_by: saturn
|
||||||
|
|
||||||
|
runtime:
|
||||||
|
root: /opt/homelab
|
||||||
35
inventory/topology.yaml
Normal file
35
inventory/topology.yaml
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
topology:
|
||||||
|
mesh: tailscale
|
||||||
|
git_provider: forgejo
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
mode: pull
|
||||||
|
orchestrator: saturn
|
||||||
|
|
||||||
|
nodes:
|
||||||
|
|
||||||
|
saturn:
|
||||||
|
roles:
|
||||||
|
- control
|
||||||
|
- development
|
||||||
|
|
||||||
|
piha:
|
||||||
|
roles:
|
||||||
|
- infra
|
||||||
|
- monitoring
|
||||||
|
|
||||||
|
solaria:
|
||||||
|
roles:
|
||||||
|
- compute
|
||||||
|
- ai
|
||||||
|
|
||||||
|
vps:
|
||||||
|
roles:
|
||||||
|
- edge
|
||||||
|
- ingress
|
||||||
|
|
||||||
|
chelsty:
|
||||||
|
roles:
|
||||||
|
- hypervisor
|
||||||
|
- homeassistant
|
||||||
|
- staging
|
||||||
Loading…
Reference in a new issue