README: replace Mermaid diagram with real drawio SVG export
No more Mermaid, per standing rule - the architecture diagram is now a real image (assets/architecture-overview.svg), built and exported from the Nextcloud Diagramming app, fetched via WebDAV and validated as well-formed XML before committing. Ends the rendering-gap chase entirely since there's no live renderer involved anymore, just a static image.
This commit is contained in:
2 files changed
+5
-40
No files matched your search
@@ -76,46 +76,7 @@ This repo is a sanitized showcase of the systems behind that platform — the ac
|
|||||||
|
|
||||||
## Architecture at a glance
|
## Architecture at a glance
|
||||||
|
|
||||||
```mermaid
|

|
||||||
flowchart LR
|
|
||||||
Internet(["Internet"]) --> Edge["Edge Firewall"]
|
|
||||||
Edge --> LAN["LAN"]
|
|
||||||
|
|
||||||
LAN --> DNS["Internal DNS<br/>two zones"]
|
|
||||||
LAN --> Vault["Vault<br/>PKI + secrets"]
|
|
||||||
DNS --> Vault
|
|
||||||
|
|
||||||
Vault --> Apps["App Host<br/>41 stacks"]
|
|
||||||
Vault --> Automation["Automation VM<br/>Git + orchestration"]
|
|
||||||
LAN --> FileServer["File Server"]
|
|
||||||
DNS --> FileServer
|
|
||||||
LAN --> Automation
|
|
||||||
|
|
||||||
Apps --> InternalProxy["Internal Proxy Zone"]
|
|
||||||
Apps --> SSO["SSO"]
|
|
||||||
|
|
||||||
Vault --> EdgeProxy["User-Facing Proxy<br/>mTLS"]
|
|
||||||
DNS --> EdgeProxy
|
|
||||||
Apps -.proxied.-> EdgeProxy
|
|
||||||
SSO -.auth.-> EdgeProxy
|
|
||||||
|
|
||||||
Apps -.-> Monitoring["Monitoring"]
|
|
||||||
Automation -.-> Monitoring
|
|
||||||
FileServer -.-> Monitoring
|
|
||||||
EdgeProxy -.-> Monitoring
|
|
||||||
|
|
||||||
Apps -.-> SecMon["Security Monitoring"]
|
|
||||||
Automation -.-> SecMon
|
|
||||||
FileServer -.-> SecMon
|
|
||||||
EdgeProxy -.-> SecMon
|
|
||||||
|
|
||||||
classDef edge fill:#f8cecc,stroke:#b85450,color:#333
|
|
||||||
classDef core fill:#dae8fc,stroke:#6c8ebf,color:#333
|
|
||||||
classDef obs fill:#fff2cc,stroke:#d6b656,color:#333
|
|
||||||
class Internet,Edge edge
|
|
||||||
class LAN,DNS,Vault,Apps,Automation,FileServer,InternalProxy,SSO,EdgeProxy core
|
|
||||||
class Monitoring,SecMon obs
|
|
||||||
```
|
|
||||||
Solid arrows are real dependencies; dotted arrows are asynchronous telemetry reporting, not a blocking dependency. Full breakdown of all 8 traffic laws (ingress, east-west, secrets, DNS, observability, notifications, CI/CD, management) with the actual trust-boundary reasoning: [docs/architecture-overview.md](docs/architecture-overview.md).
|
Solid arrows are real dependencies; dotted arrows are asynchronous telemetry reporting, not a blocking dependency. Full breakdown of all 8 traffic laws (ingress, east-west, secrets, DNS, observability, notifications, CI/CD, management) with the actual trust-boundary reasoning: [docs/architecture-overview.md](docs/architecture-overview.md).
|
||||||
|
|
||||||
## Systems
|
## Systems
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Do not edit this file with editors other than draw.io -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1782px" height="632px" viewBox="0 0 1782 632" id="ge-svg-CaZxomoo-Dbq5azwKi2s" content="<mxfile host="embed.diagrams.net" scale="1" border="0"> <diagram name="Architecture Overview" id="architecture-overview"> <mxGraphModel dx="1664" dy="931" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1900" pageHeight="900" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="internet" parent="1" style="ellipse;whiteSpace=wrap;html=1;fillColor=light-dark(#FFFFFF,#292929);strokeColor=#333333;fontColor=light-dark(#333333,#FFFFFF);fontSize=14;" value="Internet" vertex="1"> <mxGeometry height="70" width="140" x="40" y="420" as="geometry" /> </mxCell> <mxCell id="edge" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fontSize=14;" value="Edge Firewall" vertex="1"> <mxGeometry height="70" width="180" x="280" y="420" as="geometry" /> </mxCell> <mxCell id="lan" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" value="LAN" vertex="1"> <mxGeometry height="70" width="140" x="560" y="420" as="geometry" /> </mxCell> <mxCell id="dns" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" value="Internal DNS&#xa;two zones" vertex="1"> <mxGeometry height="70" width="180" x="800" y="140" as="geometry" /> </mxCell> <mxCell id="vault" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" value="Vault&#xa;PKI + secrets" vertex="1"> <mxGeometry height="70" width="180" x="800" y="420" as="geometry" /> </mxCell> <mxCell id="fileserver" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" value="File Server" vertex="1"> <mxGeometry height="70" width="180" x="800" y="700" as="geometry" /> </mxCell> <mxCell id="edgeproxy" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" value="User-Facing Proxy&#xa;mTLS" vertex="1"> <mxGeometry height="70" width="180" x="1080" y="140" as="geometry" /> </mxCell> <mxCell id="automation" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" value="Automation VM&#xa;Git + orchestration" vertex="1"> <mxGeometry height="70" width="180" x="1080" y="560" as="geometry" /> </mxCell> <mxCell id="apphost" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" value="App Host&#xa;41 stacks" vertex="1"> <mxGeometry height="70" width="180" x="1360" y="330" as="geometry" /> </mxCell> <mxCell id="monitoring" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=14;" value="Monitoring" vertex="1"> <mxGeometry height="70" width="180" x="1360" y="560" as="geometry" /> Line truncated
|
||||||
|
After Width: | Height: | Size: 230 KiB |
Reference in new issue
Block a user