<mxfile host="app.diagrams.net">
  <diagram id="env2arch" name="Env2 Architecture">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="900" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />

        <!-- Host machine container -->
        <mxCell id="host" value="host machine" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#666666;verticalAlign=top;fontStyle=2;fontColor=#666666;dashed=1;" vertex="1" parent="1">
          <mxGeometry x="40" y="40" width="1020" height="800" as="geometry" />
        </mxCell>

        <!-- Primary stack -->
        <mxCell id="primary" value="Primary stack&#10;(already existing — unchanged)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;fontStyle=1;align=center;spacingTop=6;" vertex="1" parent="1">
          <mxGeometry x="80" y="100" width="420" height="220" as="geometry" />
        </mxCell>
        <mxCell id="p-traefik" value="Traefik :9000  ◄── 9001/9002 UI" style="whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#6c8ebf;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="100" y="160" width="380" height="40" as="geometry" />
        </mxCell>
        <mxCell id="p-central" value="Central A/B  (9011/9012 Akka)" style="whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#6c8ebf;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="100" y="210" width="380" height="40" as="geometry" />
        </mxCell>
        <mxCell id="p-site" value="Site-A/B/C  (9021..9044)" style="whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#6c8ebf;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="100" y="260" width="380" height="40" as="geometry" />
        </mxCell>

        <!-- Env2 stack -->
        <mxCell id="env2" value="Env2 stack&#10;(new)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;verticalAlign=top;fontStyle=1;align=center;spacingTop=6;" vertex="1" parent="1">
          <mxGeometry x="600" y="100" width="420" height="220" as="geometry" />
        </mxCell>
        <mxCell id="e-traefik" value="Traefik :9100 ◄── 9101/9102 UI" style="whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#82b366;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="620" y="160" width="380" height="40" as="geometry" />
        </mxCell>
        <mxCell id="e-central" value="Central A/B  (9111/9112 Akka)" style="whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#82b366;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="620" y="210" width="380" height="40" as="geometry" />
        </mxCell>
        <mxCell id="e-site" value="Site-X  (9121/9122 Akka, 9123/9124 gRPC)" style="whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#82b366;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="620" y="260" width="380" height="40" as="geometry" />
        </mxCell>

        <!-- Shared network bar -->
        <mxCell id="net" value="scadabridge-net  (shared bridge network)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry x="80" y="400" width="940" height="50" as="geometry" />
        </mxCell>

        <!-- Infra container -->
        <mxCell id="infra" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;verticalAlign=top;" vertex="1" parent="1">
          <mxGeometry x="120" y="500" width="860" height="300" as="geometry" />
        </mxCell>

        <!-- MSSQL block -->
        <mxCell id="mssql" value="scadabridge-mssql" style="shape=cylinder3;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;verticalAlign=top;fontStyle=1;spacingTop=4;" vertex="1" parent="1">
          <mxGeometry x="150" y="530" width="160" height="240" as="geometry" />
        </mxCell>
        <mxCell id="db1" value="ScadaBridgeConfig  (primary DB)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="340" y="540" width="300" height="40" as="geometry" />
        </mxCell>
        <mxCell id="db2" value="ScadaBridgeMachineData  (primary DB)" style="whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="340" y="590" width="300" height="40" as="geometry" />
        </mxCell>
        <mxCell id="db3" value="ScadaBridgeConfig2  (env2 DB) ← new" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="340" y="640" width="300" height="40" as="geometry" />
        </mxCell>
        <mxCell id="db4" value="ScadaBridgeMachineData2  (env2 DB) ← new" style="whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="340" y="690" width="300" height="40" as="geometry" />
        </mxCell>

        <!-- Shared commodity infra services -->
        <mxCell id="ldap" value="scadabridge-ldap&#10;(shared — same test users)" style="whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="680" y="530" width="280" height="40" as="geometry" />
        </mxCell>
        <mxCell id="smtp" value="scadabridge-smtp&#10;(shared Mailpit)" style="whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="680" y="580" width="280" height="40" as="geometry" />
        </mxCell>
        <mxCell id="opcua" value="scadabridge-opcua  (shared)" style="whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="680" y="630" width="280" height="40" as="geometry" />
        </mxCell>
        <mxCell id="restapi" value="scadabridge-restapi  (shared)" style="whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;align=left;spacingLeft=8;" vertex="1" parent="1">
          <mxGeometry x="680" y="680" width="280" height="40" as="geometry" />
        </mxCell>

        <!-- Edges: primary -> net, env2 -> net -->
        <mxCell id="ep" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;strokeColor=#6c8ebf;" edge="1" parent="1" source="primary" target="net">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="ee" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;strokeColor=#82b366;" edge="1" parent="1" source="env2" target="net">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <!-- net -> infra -->
        <mxCell id="eni" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;strokeColor=#d6b656;" edge="1" parent="1" source="net" target="infra">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
