Files
side-hustle-in-48h/iron-legion-topology.svg

1 line
37 KiB
XML

<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 2192.03px; background-color: transparent;" viewBox="0 0 2192.03125 1292" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:#a44141;}#my-svg .error-text{fill:#ddd;stroke:#ddd;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:lightgrey;stroke:lightgrey;}#my-svg .marker.cross{stroke:lightgrey;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#my-svg .cluster-label text{fill:#F9FFFE;}#my-svg .cluster-label span{color:#F9FFFE;}#my-svg .cluster-label span p{background-color:transparent;}#my-svg .label text,#my-svg span{fill:#ccc;color:#ccc;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#my-svg .arrowheadPath{fill:lightgrey;}#my-svg .edgePath .path{stroke:lightgrey;stroke-width:1px;}#my-svg .flowchart-link{stroke:lightgrey;fill:none;}#my-svg .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#my-svg .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#my-svg .cluster text{fill:#F9FFFE;}#my-svg .cluster span{color:#F9FFFE;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg .node .neo-node{stroke:#ccc;}#my-svg [data-look="neo"].node rect,#my-svg [data-look="neo"].cluster rect,#my-svg [data-look="neo"].node polygon{stroke:url(#my-svg-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#my-svg [data-look="neo"].node path{stroke:url(#my-svg-gradient);stroke-width:1px;}#my-svg [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#my-svg [data-look="neo"].node .neo-line path{stroke:#ccc;filter:none;}#my-svg [data-look="neo"].node circle{stroke:url(#my-svg-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#my-svg [data-look="neo"].node circle .state-start{fill:#000000;}#my-svg [data-look="neo"].icon-shape .icon{fill:url(#my-svg-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#my-svg [data-look="neo"].icon-shape .icon-neo path{stroke:url(#my-svg-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="my-svg_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"><path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"><polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"/></marker><marker id="my-svg_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"><g class="cluster" id="my-svg-LAN" data-look="classic"><rect style="" x="8" y="659" width="547.078125" height="625"/><g class="cluster-label" transform="translate(119.625, 659)"><foreignObject width="323.828125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel"><p>🏠 LAN Backbone — Beryl Router (OpenWrt)</p></span></div></foreignObject></g></g><g class="cluster" id="my-svg-NETBIRD" data-look="classic"><rect style="" x="1194.9765625" y="233" width="989.0546875" height="578"/><g class="cluster-label" transform="translate(1504.19921875, 233)"><foreignObject width="370.609375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel"><p>🕊️ NetBird Overlay — WireTrustee SA (User-facing)</p></span></div></foreignObject></g></g><g class="cluster" id="my-svg-TAILSCALE" data-look="classic"><rect style="" x="8" y="8" width="1120.35546875" height="377"/><g class="cluster-label" transform="translate(358.388671875, 8)"><foreignObject width="419.578125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel"><p>🛡️ Tailscale Overlay — Tailscale Inc. (Admin/Management)</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M748.234,120.637L785.706,131.198C823.177,141.758,898.12,162.879,935.591,181.606C973.063,200.333,973.063,216.667,973.063,231C973.063,245.333,973.063,257.667,973.063,263.833L973.063,270" id="my-svg-L_TSCOORD_TSART_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TSCOORD_TSART_0" data-points="W3sieCI6NzQ4LjIzNDM3NSwieSI6MTIwLjYzNzQ1NjUxNTAzODA4fSx7IngiOjk3My4wNjI1LCJ5IjoxODR9LHsieCI6OTczLjA2MjUsInkiOjIzM30seyJ4Ijo5NzMuMDYyNSwieSI6MjcwfV0=" data-look="classic"/><path d="M527.614,135L513.103,143.167C498.591,151.333,469.569,167.667,455.058,184C440.547,200.333,440.547,216.667,440.547,231C440.547,245.333,440.547,257.667,440.547,263.833L440.547,270" id="my-svg-L_TSCOORD_TSM44_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TSCOORD_TSM44_0" data-points="W3sieCI6NTI3LjYxMzc1LCJ5IjoxMzV9LHsieCI6NDQwLjU0Njg3NSwieSI6MTg0fSx7IngiOjQ0MC41NDY4NzUsInkiOjIzM30seyJ4Ijo0NDAuNTQ2ODc1LCJ5IjoyNzB9XQ==" data-look="classic"/><path d="M659.21,135L665.771,143.167C672.333,151.333,685.455,167.667,692.017,184C698.578,200.333,698.578,216.667,698.578,231C698.578,245.333,698.578,257.667,698.578,263.833L698.578,270" id="my-svg-L_TSCOORD_TSM5_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TSCOORD_TSM5_0" data-points="W3sieCI6NjU5LjIwOTY4NzUsInkiOjEzNX0seyJ4Ijo2OTguNTc4MTI1LCJ5IjoxODR9LHsieCI6Njk4LjU3ODEyNSwieSI6MjMzfSx7IngiOjY5OC41NzgxMjUsInkiOjI3MH1d" data-look="classic"/><path d="M488.234,112.949L435.057,124.791C381.88,136.633,275.526,160.316,222.349,180.325C169.172,200.333,169.172,216.667,169.172,231C169.172,245.333,169.172,257.667,169.172,263.833L169.172,270" id="my-svg-L_TSCOORD_TSM7_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TSCOORD_TSM7_0" data-points="W3sieCI6NDg4LjIzNDM3NSwieSI6MTEyLjk0OTE5OTcyMTY0MjMyfSx7IngiOjE2OS4xNzE4NzUsInkiOjE4NH0seyJ4IjoxNjkuMTcxODc1LCJ5IjoyMzN9LHsieCI6MTY5LjE3MTg3NSwieSI6MjcwfV0=" data-look="classic"/><path d="M2019.031,360L2019.031,364.167C2019.031,368.333,2019.031,376.667,2019.031,389C2019.031,401.333,2019.031,417.667,1974.788,435.806C1930.544,453.946,1842.057,473.892,1797.814,483.865L1753.57,493.838" id="my-svg-L_NBCOORD_NBNEO_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_NBCOORD_NBNEO_0" data-points="W3sieCI6MjAxOS4wMzEyNSwieSI6MzYwfSx7IngiOjIwMTkuMDMxMjUsInkiOjM4NX0seyJ4IjoyMDE5LjAzMTI1LCJ5Ijo0MzR9LHsieCI6MTc1My41NzAzMTI1LCJ5Ijo0OTMuODM3NzQ1ODkyNjE3N31d" data-look="classic"/><path d="M1526.94,561L1505.645,569.167C1484.351,577.333,1441.761,593.667,1420.467,610C1399.172,626.333,1399.172,642.667,1399.172,659C1399.172,675.333,1399.172,691.667,1399.172,699.833L1399.172,708" id="my-svg-L_NBNEO_NBNC_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_NBNEO_NBNC_0" data-points="W3sieCI6MTUyNi45Mzk4OTcwMTcwNDU1LCJ5Ijo1NjF9LHsieCI6MTM5OS4xNzE4NzUsInkiOjYxMH0seyJ4IjoxMzk5LjE3MTg3NSwieSI6NjU5fSx7IngiOjEzOTkuMTcxODc1LCJ5Ijo3MDh9XQ==" data-look="classic"/><path d="M1628.633,561L1628.633,569.167C1628.633,577.333,1628.633,593.667,1628.633,610C1628.633,626.333,1628.633,642.667,1628.633,659C1628.633,675.333,1628.633,691.667,1628.633,699.833L1628.633,708" id="my-svg-L_NBNEO_NBVW_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_NBNEO_NBVW_0" data-points="W3sieCI6MTYyOC42MzI4MTI1LCJ5Ijo1NjF9LHsieCI6MTYyOC42MzI4MTI1LCJ5Ijo2MTB9LHsieCI6MTYyOC42MzI4MTI1LCJ5Ijo2NTl9LHsieCI6MTYyOC42MzI4MTI1LCJ5Ijo3MDh9XQ==" data-look="classic"/><path d="M1723.63,561L1743.522,569.167C1763.414,577.333,1803.199,593.667,1823.092,610C1842.984,626.333,1842.984,642.667,1842.984,659C1842.984,675.333,1842.984,691.667,1842.984,699.833L1842.984,708" id="my-svg-L_NBNEO_NBDOCK_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_NBNEO_NBDOCK_0" data-points="W3sieCI6MTcyMy42Mjk1Mjc2OTg4NjM3LCJ5Ijo1NjF9LHsieCI6MTg0Mi45ODQzNzUsInkiOjYxMH0seyJ4IjoxODQyLjk4NDM3NSwieSI6NjU5fSx7IngiOjE4NDIuOTg0Mzc1LCJ5Ijo3MDh9XQ==" data-look="classic"/><path d="M1753.57,547.48L1804.664,557.9C1855.758,568.32,1957.945,589.16,2009.039,607.747C2060.133,626.333,2060.133,642.667,2060.133,659C2060.133,675.333,2060.133,691.667,2060.133,699.833L2060.133,708" id="my-svg-L_NBNEO_NBTRIL_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_NBNEO_NBTRIL_0" data-points="W3sieCI6MTc1My41NzAzMTI1LCJ5Ijo1NDcuNDc5NzIxOTAwMzQ3Nn0seyJ4IjoyMDYwLjEzMjgxMjUsInkiOjYxMH0seyJ4IjoyMDYwLjEzMjgxMjUsInkiOjY1OX0seyJ4IjoyMDYwLjEzMjgxMjUsInkiOjcwOH1d" data-look="classic"/><path d="M338.315,786L332.59,790.167C326.864,794.333,315.412,802.667,309.687,813C303.961,823.333,303.961,835.667,298.797,847.507C293.634,859.347,283.307,870.694,278.143,876.368L272.98,882.042" id="my-svg-L_BERYL_MK7LAN_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_BERYL_MK7LAN_0" data-points="W3sieCI6MzM4LjMxNTM3ODI4OTQ3MzcsInkiOjc4Nn0seyJ4IjozMDMuOTYwOTM3NSwieSI6ODExfSx7IngiOjMwMy45NjA5Mzc1LCJ5Ijo4NDh9LHsieCI6MjcwLjI4NzQ4NzM5OTE5MzU0LCJ5Ijo4ODV9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M430.035,786L431.802,790.167C433.57,794.333,437.105,802.667,438.873,813C440.641,823.333,440.641,835.667,440.641,862.5C440.641,889.333,440.641,930.667,440.641,972C440.641,1013.333,440.641,1054.667,432.242,1081.122C423.844,1107.577,407.047,1119.153,398.648,1124.942L390.249,1130.73" id="my-svg-L_BERYL_WORKERS_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_BERYL_WORKERS_0" data-points="W3sieCI6NDMwLjAzNDY0MjI2OTczNjgsInkiOjc4Nn0seyJ4Ijo0NDAuNjQwNjI1LCJ5Ijo4MTF9LHsieCI6NDQwLjY0MDYyNSwieSI6ODQ4fSx7IngiOjQ0MC42NDA2MjUsInkiOjk3Mn0seyJ4Ijo0NDAuNjQwNjI1LCJ5IjoxMDk2fSx7IngiOjM4Ni45NTU5Mzc1LCJ5IjoxMTMzfV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M191.109,1059L191.109,1065.167C191.109,1071.333,191.109,1083.667,197.55,1096C203.99,1108.333,216.871,1120.667,223.311,1126.833L229.751,1133" id="my-svg-L_MK7LAN_WORKERS_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_MK7LAN_WORKERS_0" data-points="W3sieCI6MTkxLjEwOTM3NSwieSI6MTA1OX0seyJ4IjoxOTEuMTA5Mzc1LCJ5IjoxMDk2fSx7IngiOjIyOS43NTEyNSwieSI6MTEzM31d" data-look="classic"/><path d="M189.017,348L192.155,354.167C195.292,360.333,201.568,372.667,204.706,387C207.844,401.333,207.844,417.667,207.844,440.5C207.844,463.333,207.844,492.667,207.844,522C207.844,551.333,207.844,580.667,207.844,603.5C207.844,626.333,207.844,642.667,207.844,663.5C207.844,684.333,207.844,709.667,207.844,735C207.844,760.333,207.844,785.667,207.844,804.5C207.844,823.333,207.844,835.667,207.101,847.339C206.358,859.012,204.872,870.024,204.128,875.53L203.385,881.036" id="my-svg-L_TSM7_MK7LAN_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TSM7_MK7LAN_0" data-points="W3sieCI6MTg5LjAxNjY1Mjk2MDUyNjMsInkiOjM0OH0seyJ4IjoyMDcuODQzNzUsInkiOjM4NX0seyJ4IjoyMDcuODQzNzUsInkiOjQzNH0seyJ4IjoyMDcuODQzNzUsInkiOjUyMn0seyJ4IjoyMDcuODQzNzUsInkiOjYxMH0seyJ4IjoyMDcuODQzNzUsInkiOjY1OX0seyJ4IjoyMDcuODQzNzUsInkiOjczNX0seyJ4IjoyMDcuODQzNzUsInkiOjgxMX0seyJ4IjoyMDcuODQzNzUsInkiOjg0OH0seyJ4IjoyMDIuODUwNDI4NDI3NDE5MzYsInkiOjg4NX1d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M854.82,319.418L730.767,330.349C606.714,341.279,358.607,363.139,234.553,382.236C110.5,401.333,110.5,417.667,110.5,440.5C110.5,463.333,110.5,492.667,110.5,522C110.5,551.333,110.5,580.667,110.5,603.5C110.5,626.333,110.5,642.667,110.5,663.5C110.5,684.333,110.5,709.667,110.5,735C110.5,760.333,110.5,785.667,110.5,804.5C110.5,823.333,110.5,835.667,114.145,847.441C117.791,859.215,125.082,870.431,128.727,876.039L132.373,881.646" id="my-svg-L_TSART_MK7LAN_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TSART_MK7LAN_0" data-points="W3sieCI6ODU0LjgyMDMxMjUsInkiOjMxOS40MTgyNjY3OTIyNjE0fSx7IngiOjExMC41LCJ5IjozODV9LHsieCI6MTEwLjUsInkiOjQzNH0seyJ4IjoxMTAuNSwieSI6NTIyfSx7IngiOjExMC41LCJ5Ijo2MTB9LHsieCI6MTEwLjUsInkiOjY1OX0seyJ4IjoxMTAuNSwieSI6NzM1fSx7IngiOjExMC41LCJ5Ijo4MTF9LHsieCI6MTEwLjUsInkiOjg0OH0seyJ4IjoxMzQuNTUyNzk3Mzc5MDMyMjYsInkiOjg4NX1d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M998.039,348L1001.988,354.167C1005.937,360.333,1013.836,372.667,1130.264,387C1246.691,401.333,1471.648,417.667,1577.819,434C1683.989,450.333,1671.373,466.667,1665.065,474.833L1658.757,483" id="my-svg-L_TSART_NBNEO_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TSART_NBNEO_0" data-points="W3sieCI6OTk4LjAzODg1NjkwNzg5NDcsInkiOjM0OH0seyJ4IjoxMDIxLjczNDM3NSwieSI6Mzg1fSx7IngiOjE2OTYuNjA1NDY4NzUsInkiOjQzNH0seyJ4IjoxNjU4Ljc1NzA1Nzg4MzUyMjcsInkiOjQ4M31d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-crossEnd)"/><path d="M288.758,329.627L342.263,338.856C395.768,348.085,502.779,366.542,675.64,383.938C848.501,401.333,1087.214,417.667,1236.198,434.447C1385.182,451.226,1444.439,468.453,1474.067,477.066L1503.695,485.679" id="my-svg-L_TSM7_NBNEO_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TSM7_NBNEO_0" data-points="W3sieCI6Mjg4Ljc1NzgxMjUsInkiOjMyOS42MjY4MTk2MjQ0NjE0fSx7IngiOjYwOS43ODkwNjI1LCJ5IjozODV9LHsieCI6MTMyNS45MjU3ODEyNSwieSI6NDM0fSx7IngiOjE1MDMuNjk1MzEyNSwieSI6NDg1LjY3OTQwMzMwMDk0MzN9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-crossEnd)"/><path d="M1503.695,552.333L1464.108,561.944C1424.521,571.555,1345.346,590.778,1305.759,608.555C1266.172,626.333,1266.172,642.667,1147.656,651.621C1029.141,660.575,792.109,662.15,673.594,662.937L555.078,663.724" id="my-svg-L_NBNEO_LAN_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_NBNEO_LAN_0" data-points="W3sieCI6MTUwMy42OTUzMTI1LCJ5Ijo1NTIuMzMyOTIzODA2NDQ0N30seyJ4IjoxMjY2LjE3MTg3NSwieSI6NjEwfSx7IngiOjEyNjYuMTcxODc1LCJ5Ijo2NTl9LHsieCI6NTAxLjc1NzgxMjUsInkiOjcyNi43MjgyMjA3NzUwODA4fV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-crossEnd)"/></g><g class="edgeLabels"><g class="edgeLabel" transform="translate(973.0625, 184)"><g class="label" data-id="L_TSCOORD_TSART_0" transform="translate(-62.6953125, -24)"><foreignObject width="125.390625" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>admin mesh<br />WireGuard tunnel</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(440.546875, 184)"><g class="label" data-id="L_TSCOORD_TSM44_0" transform="translate(-43.578125, -12)"><foreignObject width="87.15625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>admin mesh</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(698.578125, 184)"><g class="label" data-id="L_TSCOORD_TSM5_0" transform="translate(-43.578125, -12)"><foreignObject width="87.15625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>admin mesh</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(169.171875, 184)"><g class="label" data-id="L_TSCOORD_TSM7_0" transform="translate(-43.578125, -12)"><foreignObject width="87.15625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>admin mesh</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(2019.03125, 434)"><g class="label" data-id="L_NBCOORD_NBNEO_0" transform="translate(-62.6953125, -24)"><foreignObject width="125.390625" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>user mesh<br />WireGuard tunnel</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1399.171875, 610)"><g class="label" data-id="L_NBNEO_NBNC_0" transform="translate(-61.8046875, -12)"><foreignObject width="123.609375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Docker Compose</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1628.6328125, 610)"><g class="label" data-id="L_NBNEO_NBVW_0" transform="translate(-61.8046875, -12)"><foreignObject width="123.609375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Docker Compose</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1842.984375, 610)"><g class="label" data-id="L_NBNEO_NBDOCK_0" transform="translate(-61.8046875, -12)"><foreignObject width="123.609375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Docker Compose</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(2060.1328125, 610)"><g class="label" data-id="L_NBNEO_NBTRIL_0" transform="translate(-61.8046875, -12)"><foreignObject width="123.609375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Docker Compose</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(303.9609375, 848)"><g class="label" data-id="L_BERYL_MK7LAN_0" transform="translate(-43.875, -12)"><foreignObject width="87.75" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>DHCP lease</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(440.640625, 972)"><g class="label" data-id="L_BERYL_WORKERS_0" transform="translate(-43.875, -12)"><foreignObject width="87.75" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>DHCP lease</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(191.109375, 1096)"><g class="label" data-id="L_MK7LAN_WORKERS_0" transform="translate(-51.5703125, -12)"><foreignObject width="103.140625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>swarm overlay</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(207.84375, 610)"><g class="label" data-id="L_TSM7_MK7LAN_0" transform="translate(-38.671875, -12)"><foreignObject width="77.34375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>SSH mgmt</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(110.5, 610)"><g class="label" data-id="L_TSART_MK7LAN_0" transform="translate(-38.671875, -12)"><foreignObject width="77.34375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>SSH mgmt</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1696.60546875, 434)"><g class="label" data-id="L_TSART_NBNEO_0" transform="translate(-51.1953125, -24)"><foreignObject width="102.390625" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>🔒 ISOLATED<br />no route</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1325.92578125, 434)"><g class="label" data-id="L_TSM7_NBNEO_0" transform="translate(-51.1953125, -24)"><foreignObject width="102.390625" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>🔒 ISOLATED<br />no route</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1057.33354, 660.38745)"><g class="label" data-id="L_NBNEO_LAN_0" transform="translate(-51.1953125, -24)"><foreignObject width="102.390625" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>🔒 ISOLATED<br />no route</p></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="my-svg-flowchart-TSCOORD-0" data-look="classic" transform="translate(618.234375, 84)"><rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"/><g class="label" style="" transform="translate(-100, -36)"><rect/><foreignObject width="200" height="72"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel"><p>Tailscale Coordination Server<br />(proprietary SaaS)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-TSART-1" data-look="classic" transform="translate(973.0625, 309)"><rect class="basic label-container" style="" x="-118.2421875" y="-39" width="236.484375" height="78"/><g class="label" style="" transform="translate(-88.2421875, -24)"><rect/><foreignObject width="176.484375" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>🤖 Artemis (AI Foreman)<br />100.100.97.18</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-TSM44-2" data-look="classic" transform="translate(440.546875, 309)"><rect class="basic label-container" style="" x="-101.7890625" y="-39" width="203.578125" height="78"/><g class="label" style="" transform="translate(-71.7890625, -24)"><rect/><foreignObject width="143.578125" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>🔧 Mark44 (Ollama)<br />100.75.26.83</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-TSM5-3" data-look="classic" transform="translate(698.578125, 309)"><rect class="basic label-container" style="" x="-106.2421875" y="-39" width="212.484375" height="78"/><g class="label" style="" transform="translate(-76.2421875, -24)"><rect/><foreignObject width="152.484375" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>📚 Mark5 (Research)<br />100.118.67.105</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-TSM7-4" data-look="classic" transform="translate(169.171875, 309)"><rect class="basic label-container" style="" x="-119.5859375" y="-39" width="239.171875" height="78"/><g class="label" style="" transform="translate(-89.5859375, -24)"><rect/><foreignObject width="179.171875" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>⚡ MK7 Swarm Manager<br />100.66.70.51</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-NBCOORD-5" data-look="classic" transform="translate(2019.03125, 309)"><rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"/><g class="label" style="" transform="translate(-100, -36)"><rect/><foreignObject width="200" height="72"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel"><p>NetBird Coordination Server<br />(cloud or self-hosted)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-NBNEO-6" data-look="classic" transform="translate(1628.6328125, 522)"><rect class="basic label-container" style="" x="-124.9375" y="-39" width="249.875" height="78"/><g class="label" style="" transform="translate(-94.9375, -24)"><rect/><foreignObject width="189.875" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>🖥️ Neo (Nebuchadnezzar)<br />100.92.224.74</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-NBNC-7" data-look="classic" transform="translate(1399.171875, 735)"><rect class="basic label-container" style="" x="-93.359375" y="-27" width="186.71875" height="54"/><g class="label" style="" transform="translate(-63.359375, -12)"><rect/><foreignObject width="126.71875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>☁️ Nextcloud AIO</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-NBVW-8" data-look="classic" transform="translate(1628.6328125, 735)"><rect class="basic label-container" style="" x="-86.1015625" y="-27" width="172.203125" height="54"/><g class="label" style="" transform="translate(-56.1015625, -12)"><rect/><foreignObject width="112.203125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>🔐 Vaultwarden</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-NBDOCK-9" data-look="classic" transform="translate(1842.984375, 735)"><rect class="basic label-container" style="" x="-78.25" y="-27" width="156.5" height="54"/><g class="label" style="" transform="translate(-48.25, -12)"><rect/><foreignObject width="96.5" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>🐳 Dockhand</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-NBTRIL-10" data-look="classic" transform="translate(2060.1328125, 735)"><rect class="basic label-container" style="" x="-88.8984375" y="-27" width="177.796875" height="54"/><g class="label" style="" transform="translate(-58.8984375, -12)"><rect/><foreignObject width="117.796875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>📝 Trilium Notes</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-BERYL-11" data-look="classic" transform="translate(408.3984375, 735)"><rect class="basic label-container" style="" x="-93.359375" y="-51" width="186.71875" height="102"/><g class="label" style="" transform="translate(-63.359375, -36)"><rect/><foreignObject width="126.71875" height="72"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>🌐 Beryl 7<br />Gateway + DHCP<br />192.168.0.0/18</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-MK7LAN-12" data-look="classic" transform="translate(191.109375, 972)"><rect class="basic label-container" style="" x="-130" y="-87" width="260" height="174"/><g class="label" style="" transform="translate(-100, -72)"><rect/><foreignObject width="200" height="144"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel"><p>⚡ MK7<br />Traefik | Technitium | Prometheus<br />Beszel Hub | Portainer CE | Dozzle | Homepage<br />192.168.7.7</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-WORKERS-13" data-look="classic" transform="translate(295.546875, 1196)"><rect class="basic label-container" style="" x="-130" y="-63" width="260" height="126"/><g class="label" style="" transform="translate(-100, -48)"><rect/><foreignObject width="200" height="96"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel"><p>🔩 MK33 / MK34 / MK39 / MK42<br />Swarm Workers (G9 nodes)<br />192.168.0.x</p></span></div></foreignObject></g></g></g></g></g><defs><filter id="my-svg-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#FFFFFF"/></filter></defs><defs><filter id="my-svg-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#FFFFFF"/></filter></defs><linearGradient id="my-svg-gradient" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="#cccccc" stop-opacity="1"/><stop offset="100%" stop-color="hsl(180, 0%, 18.3529411765%)" stop-opacity="1"/></linearGradient></svg>