← Back to overview

Network diagram — full topology

Every host, its role, and how it's reached. Solid lines are always-on LAN links; dashed gold lines are brokered, session-scoped access with no standing tunnel; dotted green is storage replication.

Addresses are fictional — drawn from documentation-reserved ranges (RFC 5737 / RFC 1918), not the real network
Built via MacBook Terraform / Ansible AI-assisted (Claude · Gemini · Ollama) Git Argo CD sync
See the app running on this infrastructure →
lan — 10.42.30.0/24 k8s workloads operator workstation dhcp, no fixed ip edge / admin only tailscale relay 203.0.113.9 identity + broker iam-01 10.42.30.30 vault · keycloak · boundary cert-auth → 5-min ssh cert mesh vpn, hybrid link brokered, session-scoped dns primary dns-01 10.42.30.11 dns secondary dns-02 10.42.30.12 hypervisor a host-pve-01 10.42.30.21 hypervisor b host-pve-02 10.42.30.22 ceph source of truth git-01 10.42.30.40 l2 load balancer ingress vip 10.42.30.60 control-plane k8s-cp-01 10.42.30.51 worker worker-01 .52 worker worker-02 .53 argo cd rancher prometheus grafana cloudflared fastapi + react + postgres
always-on LAN link
brokered / ephemeral session
storage replication
Address plan
HostAddressRole
dns-01 / dns-0210.42.30.11 / .12Primary/secondary internal resolvers
host-pve-01 / -0210.42.30.21 / .22Hypervisors, Ceph replica ×2 between them
iam-0110.42.30.30CA, secrets, SSO, access broker — single trust anchor
git-0110.42.30.40Self-hosted Git, IaC + GitOps source
k8s-cp-0110.42.30.51Kubernetes control-plane
k8s-worker-01 / -0210.42.30.52 / .53Kubernetes workers
ingress vip10.42.30.60L2 load-balancer address for all ingress traffic
tailscale relay203.0.113.9Admin reachability only — no public web traffic
workstationDHCPNo fixed address — never a target, only ever the client
Public routes — real, not illustrative

Unlike the internal addresses above, these are live DNS entries — they're already public, so there's nothing to anonymize. All four resolve through the Cloudflare Tunnel shown in the diagram, straight into the in-cluster ingress controller; none of them touch the tailscale relay or expose a home IP.

HostnameRoutes to
refractare.comPortfolio — this page
app.refractare.comPhoenix frontend
api.refractare.comPhoenix backend
sso.refractare.comIdentity provider login

Every arrow into this network is either a permanent LAN link between hosts I control, or a dashed line that only exists for the length of one authenticated session. There is no third kind of connection.