Compare commits

...

3 commits

Author SHA1 Message Date
oskar e6e9603295 Merge pull request 'inventory-foundation' (#1) from inventory-foundation into master
Reviewed-on: #1
2026-05-11 12:37:29 +02:00
Oskar Kapala 04732a30d6 Add normalized host inventory skeletons 2026-05-10 22:12:36 +02:00
Oskar Kapala 9b85ec5e5f Add topology inventory foundation 2026-05-10 22:05:16 +02:00
7 changed files with 144 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

15
hosts/piha/host.yaml Normal file
View 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
View 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
View 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
View 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
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