Architecture

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

PHYSICAL + LOGICAL MAP · TWO FAILURE DOMAINS

Two Sites. One Routed System.

Select or focus a node. Its routed links brighten while the inspector explains the physical role and logical boundary.

Site A fabric · target

Wire language

  • WAN edge
  • WireGuard route
  • Firewall to core
  • Platform path
  • Client branch
ROUTED TRANSIT

WireGuard

2 active links

WireGuard joins the two OPNsense firewalls while preserving each site as an independent Layer 2, quorum, and storage boundary.

  • sa-fw-01 10.255.0.1
  • sb-fw-01 10.255.0.2
  • No L2, Corosync, or Ceph-cluster stretch
Follow connection
QuestionSite ASite B
What is the site for?Management, ZFS, PBS-A, DNS primary, monitoring, core servicesCeph, Kubernetes/OpenShift, distributed compute, PBS-B
Who routes?sa-fw-01 on sa-edge-01sb-fw-01 on sb-edge-01
What switches packets?sa-sw-01/02/03 UniFi L2 RSTP fabricsb-sw-01 Netgear L2 core plus sb-sw-02 access
What is the local cluster?sa-pve — four nodessb-pve — six nodes
What survives as legacy equipment?Gateway Max/XG6 only for bootstrap and rollbackUSG Pro user branch behind OPNsense on VLAN 253
What crosses the sites?Routed, explicitly allowed service traffic over WireGuardRouted, explicitly allowed service traffic over WireGuard

Ownership Chain

Each layer has one job and one clear owner:

LayerOwnerResponsibilityExplicit non-responsibility
WAN and policyOPNsenseWAN, NAT, WireGuard, routed gateways, DHCP, DMZ, stateful zone policyDoes not provide storage or cluster quorum
Local transportSite-local L2 switchesVLAN carriage, access ports, trunks, link redundancyNo gateway, DHCP, SVI, or cross-site extension
VirtualizationOne Proxmox cluster per siteLocal VM lifecycle and site-local Corosync quorumNo cross-WAN cluster membership
StorageSite A ZFS; Site B CephLocal durable data and workload storageCeph never spans the WAN
Disaster recoveryPBS-A and PBS-BBackup retention and planned cross-site replicationNot synchronous cross-site storage
Platform servicesDNS, OpenBao, UOS, Kubernetes/OpenShiftNamed application and control-plane functionsNo hidden replacement for the routing boundary

Read the Section in Order

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:

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.