bdee12f4e9
Replace ASCII-art diagrams across the README and docs/ with editable .drawio sources plus exported PNGs, so the diagrams render clearly in rendered markdown and can be maintained/regenerated instead of being hand-edited as fragile text art. Non-diagram blocks (code, folder trees, UI wireframes) were left as text.
97 lines
7.1 KiB
Plaintext
97 lines
7.1 KiB
Plaintext
<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 (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 (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 (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 (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>
|