Add topology inventory foundation

This commit is contained in:
Oskar Kapala 2026-05-10 22:05:16 +02:00
parent 8c35b92119
commit 9b85ec5e5f
3 changed files with 85 additions and 0 deletions

34
docs/topology.md Normal file
View 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
View 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

35
inventory/topology.yaml Normal file
View 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