Architecture Overview
A guided mental model of the two-site private cloud: current state, site responsibilities, control boundaries, and the best path through the architecture documentation.
AORXI is two independent private-cloud sites joined by routed WireGuard. Site A (10.10.0.0/16) provides management, durable services, ZFS, and backups; Site B (10.20.0.0/16) provides Ceph, Kubernetes/OpenShift, and worker-heavy compute. OPNsense owns each site edge, while every switch remains Layer 2.
Read the Diagrams as Architecture State, Not a Live Monitor
Site A still uses its Gateway Max and XG6 bootstrap island. Its approved three-switch target fabric is on hand but not yet production. Site B is parked. Architecture pages distinguish the current bootstrap, approved Site A target, retained Site B design, and future inter-site services.
The System in One Minute
| Question | Site A | Site B |
|---|---|---|
| What is the site for? | Management, ZFS, PBS-A, DNS primary, monitoring, core services | Ceph, Kubernetes/OpenShift, distributed compute, PBS-B |
| Who routes? | sa-fw-01 on sa-edge-01 | sb-fw-01 on sb-edge-01 |
| What switches packets? | sa-sw-01/02/03 UniFi L2 RSTP fabric | sb-sw-01 Netgear L2 core plus sb-sw-02 access |
| What is the local cluster? | sa-pve — four nodes | sb-pve — six nodes |
| What survives as legacy equipment? | Gateway Max/XG6 only for bootstrap and rollback | USG Pro user branch behind OPNsense on VLAN 253 |
| What crosses the sites? | Routed, explicitly allowed service traffic over WireGuard | Routed, explicitly allowed service traffic over WireGuard |
Ownership Chain
Each layer has one job and one clear owner:
| Layer | Owner | Responsibility | Explicit non-responsibility |
|---|---|---|---|
| WAN and policy | OPNsense | WAN, NAT, WireGuard, routed gateways, DHCP, DMZ, stateful zone policy | Does not provide storage or cluster quorum |
| Local transport | Site-local L2 switches | VLAN carriage, access ports, trunks, link redundancy | No gateway, DHCP, SVI, or cross-site extension |
| Virtualization | One Proxmox cluster per site | Local VM lifecycle and site-local Corosync quorum | No cross-WAN cluster membership |
| Storage | Site A ZFS; Site B Ceph | Local durable data and workload storage | Ceph never spans the WAN |
| Disaster recovery | PBS-A and PBS-B | Backup retention and planned cross-site replication | Not synchronous cross-site storage |
| Platform services | DNS, OpenBao, UOS, Kubernetes/OpenShift | Named application and control-plane functions | No hidden replacement for the routing boundary |
Read the Section in Order
1 · The Two-Site Model
2 · Site Roles & Systems
3 · Physical & Logical Topology
4 · Full System Map
Invariants That Shape Every Page
Local Failure Domains Stay Local
One Proxmox cluster per site. No stretched Ceph, Layer 2, Corosync, or OpenBao Raft. WireGuard is routed transit only.
OPNsense Is the Stateful Boundary
The firewall VM at each site stays pinned to its local E200. At Site A, OPNsense owns every routed .1, WAN, NAT, DHCP, WireGuard, DMZ, and inter-VLAN policy; the three target switches remain Layer 2 only.
Management Access Stays Private
IPMI never faces the internet. Network management lives on VLAN 10 and is reached only through controlled management paths.
Follow the Detail from Here
Architecture explains ownership and relationships. Exact implementation data lives in the domain sections:
Networking
Switching
Compute & Storage
Current Build State
Operational Architecture
These pages turn the system model into operating boundaries: what must start first, which flows are allowed, what recovery can promise, where capacity is constrained, and how failures propagate.
Service Dependencies & Startup Order
Security Trust Zones & Permitted Flows
Disaster Recovery Objectives
Capacity, Power, Thermal & Expansion
Blast Radius & Recovery
Design Principles & Hard Rules
Non-negotiable architecture rules and guiding principles every operator must understand before making any change to this homelab.
The Two-Site Model
Why AORXI uses two independent site-local failure domains, what the sites share, and why Site A and Site B intentionally use different network and storage designs.