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