flowchart TB
    subgraph Central["Central Cluster (South Bend DC)"]
        direction LR
        CN1["Node 1<br/>active"]
        CN2["Node 2<br/>standby"]
        CN1 <-->|"Akka.NET<br/>cluster"| CN2
    end

    subgraph WarsawWest["Warsaw West Campus"]
        direction TB
        subgraph WW5["Building 5 Cluster"]
            WW5N1["Node 1"] <--> WW5N2["Node 2"]
        end
        subgraph WW19["Building 19 Cluster"]
            WW19N1["Node 1"] <--> WW19N2["Node 2"]
        end
    end

    subgraph WarsawNorth["Warsaw North Campus"]
        direction TB
        subgraph WN1C["Building Cluster"]
            WNN1["Node 1"] <--> WNN2["Node 2"]
        end
    end

    subgraph Shannon["Shannon (single cluster)"]
        SN1["Node 1"] <--> SN2["Node 2"]
    end

    subgraph Galway["Galway (single cluster)"]
        GN1["Node 1"] <--> GN2["Node 2"]
    end

    subgraph TMT["TMT (single cluster)"]
        TN1["Node 1"] <--> TN2["Node 2"]
    end

    subgraph Ponce["Ponce (single cluster)"]
        PN1["Node 1"] <--> PN2["Node 2"]
    end

    Central <-->|"hub route"| WarsawWest
    Central <-->|"hub route"| WarsawNorth
    Central <-->|"hub route"| Shannon
    Central <-->|"hub route"| Galway
    Central <-->|"hub route"| TMT
    Central <-->|"hub route"| Ponce

    API["Inbound Web API Callers<br/>(API key auth)"]
    API -.->|"direct to site"| Shannon
    API -.->|"direct to site"| WarsawWest
    API -.->|"direct to site"| Ponce
    API -->|"or via central<br/>(routed to site)"| Central

    subgraph Notes["Key: 2-node Akka.NET clusters, co-located on System Platform nodes"]
        L1["Hub-and-spoke: central routes to all sites"]
        L2["No direct site-to-site routing"]
        L3["Inbound API: direct to any site cluster OR routed through central"]
        L4["Data locality: equipment talks to LOCAL cluster only"]
    end
