From 9b85ec5e5f25f70c0119747fbd7c88c7dc919880 Mon Sep 17 00:00:00 2001 From: Oskar Kapala Date: Sun, 10 May 2026 22:05:16 +0200 Subject: [PATCH 1/2] Add topology inventory foundation --- docs/topology.md | 34 ++++++++++++++++++++++++++++++++++ hosts/chelsty/host.yaml | 16 ++++++++++++++++ inventory/topology.yaml | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 docs/topology.md create mode 100644 hosts/chelsty/host.yaml create mode 100644 inventory/topology.yaml diff --git a/docs/topology.md b/docs/topology.md new file mode 100644 index 0000000..5ace63f --- /dev/null +++ b/docs/topology.md @@ -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 diff --git a/hosts/chelsty/host.yaml b/hosts/chelsty/host.yaml new file mode 100644 index 0000000..6e060a6 --- /dev/null +++ b/hosts/chelsty/host.yaml @@ -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 diff --git a/inventory/topology.yaml b/inventory/topology.yaml new file mode 100644 index 0000000..d430507 --- /dev/null +++ b/inventory/topology.yaml @@ -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 -- 2.43.7 From 04732a30d6d7642ef595439fcf39771ba64deb22 Mon Sep 17 00:00:00 2001 From: Oskar Kapala Date: Sun, 10 May 2026 22:12:36 +0200 Subject: [PATCH 2/2] Add normalized host inventory skeletons --- hosts/piha/host.yaml | 15 +++++++++++++++ hosts/saturn/host.yaml | 14 ++++++++++++++ hosts/solaria/host.yaml | 15 +++++++++++++++ hosts/vps/host.yaml | 15 +++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 hosts/piha/host.yaml create mode 100644 hosts/saturn/host.yaml create mode 100644 hosts/solaria/host.yaml create mode 100644 hosts/vps/host.yaml diff --git a/hosts/piha/host.yaml b/hosts/piha/host.yaml new file mode 100644 index 0000000..56c488b --- /dev/null +++ b/hosts/piha/host.yaml @@ -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 diff --git a/hosts/saturn/host.yaml b/hosts/saturn/host.yaml new file mode 100644 index 0000000..583b64a --- /dev/null +++ b/hosts/saturn/host.yaml @@ -0,0 +1,14 @@ +hostname: saturn + +roles: + - control + - development + +network: + tailscale_ip: 100.121.168.72 + +deployment: + mode: orchestrator + +runtime: + root: /opt/homelab diff --git a/hosts/solaria/host.yaml b/hosts/solaria/host.yaml new file mode 100644 index 0000000..c6d5538 --- /dev/null +++ b/hosts/solaria/host.yaml @@ -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 diff --git a/hosts/vps/host.yaml b/hosts/vps/host.yaml new file mode 100644 index 0000000..31c2c03 --- /dev/null +++ b/hosts/vps/host.yaml @@ -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 -- 2.43.7