- docs/kontra-architecture.mmd (mermaid source) + rendered PNG/SVG - docs/kontra-architecture-map.html (interactive Archify, validated + visual-checked) - docs/architecture.md (doc with embedded mermaid) - README.md (showcase: stack, content model, design system, deploy, security) - published docs/ to https://maps.lab.audasmedia.com.au/kontra_day/docs/ [secret-scan: skip - false positive on generated mermaid SVG path data]
1 line
34 KiB
XML
1 line
34 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: 2439.16px; background-color: white;" viewBox="0 0 2439.15625 1153.49951171875" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@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:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#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:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#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:#333;}#my-svg .cluster-label text{fill:#333;}#my-svg .cluster-label span{color:#333;}#my-svg .cluster-label span p{background-color:transparent;}#my-svg .label text,#my-svg span{fill:#333;color:#333;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;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:#333333!important;stroke-width:0;stroke:#333333;}#my-svg .arrowheadPath{fill:#333333;}#my-svg .edgePath .path{stroke:#333333;stroke-width:1px;}#my-svg .flowchart-link{stroke:#333333;fill:none;}#my-svg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#my-svg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#my-svg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#my-svg .cluster text{fill:#333;}#my-svg .cluster span{color:#333;}#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(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#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:#9370DB;}#my-svg [data-look="neo"].node rect,#my-svg [data-look="neo"].cluster rect,#my-svg [data-look="neo"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].swimlane.cluster rect{filter:none;}#my-svg [data-look="neo"].node path{stroke:#9370DB;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:#9370DB;filter:none;}#my-svg [data-look="neo"].node circle{stroke:#9370DB;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:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].icon-shape .icon-neo path{stroke:#9370DB;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-net" data-look="classic"><rect style="" x="1440.25" y="911.4994773864746" width="680.703125" height="234"/><g class="cluster-label" transform="translate(1751.2578125, 911.4994773864746)"><foreignObject width="58.6875" 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>Network</p></span></div></foreignObject></g></g><g class="cluster" id="my-svg-media" data-look="classic"><rect style="" x="1440.25" y="399.9586372375488" width="244.1875" height="172.91228485107422"/><g class="cluster-label" transform="translate(1469.84375, 399.9586372375488)"><foreignObject width="185" 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>Media (Garage S3 on .13)</p></span></div></foreignObject></g></g><g class="cluster" id="my-svg-prod" data-look="classic"><rect style="" x="664.28125" y="592.870922088623" width="1020.15625" height="298.62855529785156"/><g class="cluster-label" transform="translate(1007.140625, 592.870922088623)"><foreignObject width="334.4375" 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>Kontra container (192.168.20.13 :8600 Docker)</p></span></div></foreignObject></g></g><g class="cluster" id="my-svg-editors" data-look="classic"><rect style="" x="8" y="107" width="2423.15625" height="272.9586372375488"/><g class="cluster-label" transform="translate(1164.4375, 107)"><foreignObject width="110.28125" 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>Content Editors</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M267.344,298.479L276.181,298.479C285.018,298.479,302.693,298.479,319.852,291.637C337.012,284.794,353.656,271.109,361.979,264.266L370.301,257.424" id="my-svg-L_O_G_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_O_G_0" data-points="W3sieCI6MjY3LjM0Mzc1LCJ5IjoyOTguNDc5MzE4NjE4Nzc0NH0seyJ4IjozMjAuMzY3MTg3NSwieSI6Mjk4LjQ3OTMxODYxODc3NDR9LHsieCI6MzczLjM5MDYyNSwieSI6MjU0Ljg4MzUyMjY4MjA4Mzg4fV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M226.406,182.479L242.066,182.479C257.727,182.479,289.047,182.479,312.898,184.55C336.749,186.621,353.131,190.763,361.322,192.834L369.513,194.905" id="my-svg-L_N_G_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_N_G_0" data-points="W3sieCI6MjI2LjQwNjI1LCJ5IjoxODIuNDc5MzE4NjE4Nzc0NH0seyJ4IjozMjAuMzY3MTg3NSwieSI6MTgyLjQ3OTMxODYxODc3NDR9LHsieCI6MzczLjM5MDYyNSwieSI6MTk1Ljg4NTIwMTU5OTc2OTUyfV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M2227.859,175.351L2218.951,174.039C2210.042,172.727,2192.224,170.103,2174.406,168.791C2156.589,167.479,2138.771,167.479,2098.46,167.479C2058.148,167.479,1995.344,167.479,1929.648,167.479C1863.953,167.479,1795.367,167.479,1754.017,167.479C1712.667,167.479,1698.552,167.479,1671.146,167.479C1643.74,167.479,1603.042,167.479,1562.344,167.479C1521.646,167.479,1480.948,167.479,1444.277,167.479C1407.607,167.479,1374.964,167.479,1322.352,167.479C1269.74,167.479,1197.159,167.479,1126.355,167.479C1055.552,167.479,986.526,167.479,925.723,167.479C864.919,167.479,812.339,167.479,770.135,167.479C727.932,167.479,696.107,167.479,671.507,167.479C646.906,167.479,629.531,167.479,612.784,170.361C596.037,173.242,579.917,179.005,571.858,181.887L563.798,184.769" id="my-svg-L_D_G_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_D_G_0" data-points="W3sieCI6MjIyNy44NTkzNzUsInkiOjE3NS4zNTEwMTA5NDMzMjM4MX0seyJ4IjoyMTc0LjQwNjI1LCJ5IjoxNjcuNDc5MzE4NjE4Nzc0NH0seyJ4IjoyMTIwLjk1MzEyNSwieSI6MTY3LjQ3OTMxODYxODc3NDR9LHsieCI6MTkzMi41MzkwNjI1LCJ5IjoxNjcuNDc5MzE4NjE4Nzc0NH0seyJ4IjoxNzI2Ljc4MTI1LCJ5IjoxNjcuNDc5MzE4NjE4Nzc0NH0seyJ4IjoxNjg0LjQzNzUsInkiOjE2Ny40NzkzMTg2MTg3NzQ0fSx7IngiOjE1NjIuMzQzNzUsInkiOjE2Ny40NzkzMTg2MTg3NzQ0fSx7IngiOjE0NDAuMjUsInkiOjE2Ny40NzkzMTg2MTg3NzQ0fSx7IngiOjEzNDIuMzIwMzEyNSwieSI6MTY3LjQ3OTMxODYxODc3NDR9LHsieCI6MTEyNC41NzgxMjUsInkiOjE2Ny40NzkzMTg2MTg3NzQ0fSx7IngiOjkxNy41LCJ5IjoxNjcuNDc5MzE4NjE4Nzc0NH0seyJ4Ijo3NTkuNzU3ODEyNSwieSI6MTY3LjQ3OTMxODYxODc3NDR9LHsieCI6NjY0LjI4MTI1LCJ5IjoxNjcuNDc5MzE4NjE4Nzc0NH0seyJ4Ijo2MTIuMTU2MjUsInkiOjE2Ny40NzkzMTg2MTg3NzQ0fSx7IngiOjU2MC4wMzEyNSwieSI6MTg2LjExNTE4OTA1OTc2OTJ9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M830.234,783.499L844.779,783.499C859.323,783.499,888.411,783.499,916.833,783.499C945.255,783.499,973.01,783.499,986.888,783.499L1000.766,783.499" id="my-svg-L_P_B_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_P_B_0" data-points="W3sieCI6ODMwLjIzNDM3NSwieSI6NzgzLjQ5OTQ3NzM4NjQ3NDZ9LHsieCI6OTE3LjUsInkiOjc4My40OTk0NzczODY0NzQ2fSx7IngiOjEwMDQuNzY1NjI1LCJ5Ijo3ODMuNDk5NDc3Mzg2NDc0Nn1d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1208.396,744.499L1230.717,734.114C1253.037,723.728,1297.679,702.957,1336.321,692.571C1374.964,682.185,1407.607,682.185,1427.428,682.185C1447.25,682.185,1454.25,682.185,1457.75,682.185L1461.25,682.185" id="my-svg-L_B_MD_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_B_MD_0" data-points="W3sieCI6MTIwOC4zOTU5Nzg4MDY2MTA0LCJ5Ijo3NDQuNDk5NDc3Mzg2NDc0Nn0seyJ4IjoxMzQyLjMyMDMxMjUsInkiOjY4Mi4xODUxOTk3Mzc1NDg4fSx7IngiOjE0NDAuMjUsInkiOjY4Mi4xODUxOTk3Mzc1NDg4fSx7IngiOjE0NjUuMjUsInkiOjY4Mi4xODUxOTk3Mzc1NDg4fV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M545.191,266.567L556.352,275.385C567.513,284.204,589.835,301.842,609.683,310.661C629.531,319.479,646.906,319.479,670.035,389.663C693.163,459.847,722.045,600.214,736.486,670.398L750.927,740.582" id="my-svg-L_G_P_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_G_P_0" data-points="W3sieCI6NTQ1LjE5MTI0NjA1MDg5NDMsInkiOjI2Ni41NjY2NTYyNjYyMTY4NX0seyJ4Ijo2MTIuMTU2MjUsInkiOjMxOS40NzkzMTg2MTg3NzQ0fSx7IngiOjY2NC4yODEyNSwieSI6MzE5LjQ3OTMxODYxODc3NDR9LHsieCI6NzUxLjczMzE5MTQ0MTc0OTYsInkiOjc0NC40OTk0NzczODY0NzQ2fV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1182.754,744.499L1209.348,726.671C1235.942,708.842,1289.131,673.185,1332.047,655.357C1374.964,637.528,1407.607,637.528,1436.936,621.023C1466.264,604.519,1492.279,571.51,1505.286,555.005L1518.293,538.501" id="my-svg-L_B_S3_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_B_S3_0" data-points="W3sieCI6MTE4Mi43NTM1MjM0Mjg0MTg1LCJ5Ijo3NDQuNDk5NDc3Mzg2NDc0Nn0seyJ4IjoxMzQyLjMyMDMxMjUsInkiOjYzNy41MjgwNjA5MTMwODU5fSx7IngiOjE0NDAuMjUsInkiOjYzNy41MjgwNjA5MTMwODU5fSx7IngiOjE1MjAuNzY5MTU1NTE0OTkwNiwieSI6NTM1LjM1ODk0OTA5ODIxOTN9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1236.314,822.499L1253.982,828.666C1271.65,834.833,1306.985,847.166,1340.974,853.333C1374.964,859.499,1407.607,859.499,1440.052,886.484C1472.497,913.469,1504.743,967.439,1520.867,994.424L1536.99,1021.409" id="my-svg-L_B_CB_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_B_CB_0" data-points="W3sieCI6MTIzNi4zMTQyNDc1MzI4OTQ4LCJ5Ijo4MjIuNDk5NDc3Mzg2NDc0Nn0seyJ4IjoxMzQyLjMyMDMxMjUsInkiOjg1OS40OTk0NzczODY0NzQ2fSx7IngiOjE0NDAuMjUsInkiOjg1OS40OTk0NzczODY0NzQ2fSx7IngiOjE1MzkuMDQxNDYxNzY0Mzk3OCwieSI6MTAyNC44NDIzMzg1NjIwMTE3fV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1543.17,1024.842L1526.017,989.952C1508.863,955.061,1474.557,885.28,1441.082,850.39C1407.607,815.499,1374.964,815.499,1342.98,813.198C1310.996,810.896,1279.672,806.293,1264.01,803.991L1248.348,801.689" id="my-svg-L_CB_B_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_CB_B_0" data-points="W3sieCI6MTU0My4xNzAwMzA5NDI5NjUsInkiOjEwMjQuODQyMzM4NTYyMDExN30seyJ4IjoxNDQwLjI1LCJ5Ijo4MTUuNDk5NDc3Mzg2NDc0Nn0seyJ4IjoxMzQyLjMyMDMxMjUsInkiOjgxNS40OTk0NzczODY0NzQ2fSx7IngiOjEyNDQuMzkwNjI1LCJ5Ijo4MDEuMTA3NDU3MDA2ODY4Nn1d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1641.254,1024.842L1648.451,1021.285C1655.648,1017.728,1670.043,1010.614,1684.298,1007.057C1698.552,1003.499,1712.667,1003.499,1730.124,1001.983C1747.582,1000.467,1768.382,997.434,1778.782,995.918L1789.182,994.401" id="my-svg-L_CB_WWW_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_CB_WWW_0" data-points="W3sieCI6MTY0MS4yNTM3Njc4MDg4NzM0LCJ5IjoxMDI0Ljg0MjMzODU2MjAxMTd9LHsieCI6MTY4NC40Mzc1LCJ5IjoxMDAzLjQ5OTQ3NzM4NjQ3NDZ9LHsieCI6MTcyNi43ODEyNSwieSI6MTAwMy40OTk0NzczODY0NzQ2fSx7IngiOjE3OTMuMTQwNjI1LCJ5Ijo5OTMuODI0MTE1NzI3OTcxNH1d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1642.141,1072.768L1649.19,1073.557C1656.24,1074.345,1670.339,1075.922,1684.445,1076.711C1698.552,1077.499,1712.667,1077.499,1726.115,1077.499C1739.563,1077.499,1752.344,1077.499,1758.734,1077.499L1765.125,1077.499" id="my-svg-L_CB_ADM_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_CB_ADM_0" data-points="W3sieCI6MTY0Mi4xNDA2MjUsInkiOjEwNzIuNzY4MjQxODA5NTg0Mn0seyJ4IjoxNjg0LjQzNzUsInkiOjEwNzcuNDk5NDc3Mzg2NDc0Nn0seyJ4IjoxNzI2Ljc4MTI1LCJ5IjoxMDc3LjQ5OTQ3NzM4NjQ3NDZ9LHsieCI6MTc2OS4xMjUsInkiOjEwNzcuNDk5NDc3Mzg2NDc0Nn1d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1793.141,959.272L1782.081,958.143C1771.021,957.015,1748.901,954.757,1730.784,925.462C1712.667,896.166,1698.552,839.833,1671.146,811.666C1643.74,783.499,1603.042,783.499,1562.344,783.499C1521.646,783.499,1480.948,783.499,1444.277,783.499C1407.607,783.499,1374.964,783.499,1342.987,783.499C1311.01,783.499,1279.701,783.499,1264.046,783.499L1248.391,783.499" id="my-svg-L_WWW_B_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_WWW_B_0" data-points="W3sieCI6MTc5My4xNDA2MjUsInkiOjk1OS4yNzIyMzA1NDc0MjY4fSx7IngiOjE3MjYuNzgxMjUsInkiOjk1Mi40OTk0NzczODY0NzQ2fSx7IngiOjE2ODQuNDM3NSwieSI6NzgzLjQ5OTQ3NzM4NjQ3NDZ9LHsieCI6MTU2Mi4zNDM3NSwieSI6NzgzLjQ5OTQ3NzM4NjQ3NDZ9LHsieCI6MTQ0MC4yNSwieSI6NzgzLjQ5OTQ3NzM4NjQ3NDZ9LHsieCI6MTM0Mi4zMjAzMTI1LCJ5Ijo3ODMuNDk5NDc3Mzg2NDc0Nn0seyJ4IjoxMjQ0LjM5MDYyNSwieSI6NzgzLjQ5OTQ3NzM4NjQ3NDZ9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M2095.953,1077.499L2100.12,1077.499C2104.286,1077.499,2112.62,1077.499,2125.695,942.496C2138.771,807.493,2156.589,537.486,2176.948,396.139C2197.308,254.792,2220.209,242.105,2231.66,235.761L2243.111,229.418" id="my-svg-L_ADM_D_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_ADM_D_0" data-points="W3sieCI6MjA5NS45NTMxMjUsInkiOjEwNzcuNDk5NDc3Mzg2NDc0Nn0seyJ4IjoyMTIwLjk1MzEyNSwieSI6MTA3Ny40OTk0NzczODY0NzQ2fSx7IngiOjIxNzQuNDA2MjUsInkiOjI2Ny40NzkzMTg2MTg3NzQ0fSx7IngiOjIyNDYuNjA5NTcyNzg0ODEsInkiOjIyNy40NzkzMTg2MTg3NzQ0fV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel" transform="translate(320.3671875, 298.4793186187744)"><g class="label" data-id="L_O_G_0" transform="translate(-28.0234375, -12)"><foreignObject width="56.046875" 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>git push</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(320.3671875, 182.4793186187744)"><g class="label" data-id="L_N_G_0" transform="translate(-28.0234375, -12)"><foreignObject width="56.046875" 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>git push</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1342.3203125, 167.4793186187744)"><g class="label" data-id="L_D_G_0" transform="translate(-68.25, -12)"><foreignObject width="136.5" 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>OAuth + git commit</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(917.5, 783.4994773864746)"><g class="label" data-id="L_P_B_0" transform="translate(-62.265625, -12)"><foreignObject width="124.53125" 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>restart on change</p></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B_MD_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><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"></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(612.15625, 319.4793186187744)"><g class="label" data-id="L_G_P_0" transform="translate(-27.125, -12)"><foreignObject width="54.25" 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 git</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1342.3203125, 637.5280609130859)"><g class="label" data-id="L_B_S3_0" transform="translate(-61.3671875, -12)"><foreignObject width="122.734375" 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>shortcode: media</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1342.3203125, 859.4994773864746)"><g class="label" data-id="L_B_CB_0" transform="translate(-43.1171875, -12)"><foreignObject width="86.234375" 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>emits HTML</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1342.3203125, 815.4994773864746)"><g class="label" data-id="L_CB_B_0" transform="translate(-72.9296875, -12)"><foreignObject width="145.859375" 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>reverse_proxy :8600</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1726.78125, 1003.4994773864746)"><g class="label" data-id="L_CB_WWW_0" transform="translate(-17.34375, -12)"><foreignObject width="34.6875" 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>https</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1726.78125, 1077.4994773864746)"><g class="label" data-id="L_CB_ADM_0" transform="translate(-17.34375, -12)"><foreignObject width="34.6875" 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>https</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1562.34375, 783.4994773864746)"><g class="label" data-id="L_WWW_B_0" transform="translate(-28.453125, -12)"><foreignObject width="56.90625" 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>browser</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(2149.57419, 643.78042)"><g class="label" data-id="L_ADM_D_0" transform="translate(-28.453125, -12)"><foreignObject width="56.90625" 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>browser</p></span></div></foreignObject></g></g></g><g class="nodes"><g class="node" id="my-svg-gitea" data-look="classic" transform="translate(150.171875, 40)"><rect class="basic label-container" style="" x="-116" y="-32" width="232" height="64"/><g class="label" style="" transform="translate(-100, -24)"><rect/><foreignObject width="200" height="48"><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>Gitea (192.168.20.35 :3001 Docker)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-O-0" data-look="classic" transform="translate(150.171875, 298.4793186187744)"><rect class="basic label-container" style="" x="-117.171875" y="-39" width="234.34375" height="78"/><g class="label" style="" transform="translate(-87.171875, -24)"><rect/><foreignObject width="174.34375" 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>Obsidian vault<br />/obsidian/kontra_content</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-G-1" data-look="classic" transform="translate(466.7109375, 219.4793186187744)"><path d="M0,14.97242416645776 a93.3203125,14.97242416645776 0,0,0 186.640625,0 a93.3203125,14.97242416645776 0,0,0 -186.640625,0 l0,77.97242416645776 a93.3203125,14.97242416645776 0,0,0 186.640625,0 l0,-77.97242416645776" class="basic label-container outer-path" style="" transform="translate(-93.3203125, -53.958636249686634)"/><g class="label" style="" transform="translate(-85.8203125, -14)"><rect/><foreignObject width="171.640625" 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>sam/kontra-content<br />markdown origin of truth</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-N-2" data-look="classic" transform="translate(150.171875, 182.4793186187744)"><rect class="basic label-container" style="" x="-76.234375" y="-27" width="152.46875" height="54"/><g class="label" style="" transform="translate(-46.234375, -12)"><rect/><foreignObject width="92.46875" 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>Neovim / CLI</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-D-4" data-look="classic" transform="translate(2317.0078125, 188.4793186187744)"><rect class="basic label-container" style="" x="-89.1484375" y="-39" width="178.296875" height="78"/><g class="label" style="" transform="translate(-59.1484375, -24)"><rect/><foreignObject width="118.296875" 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>Decap CMS<br />admin.kontra.lab</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-P-7" data-look="classic" transform="translate(759.7578125, 783.4994773864746)"><rect class="basic label-container" style="" x="-70.4765625" y="-39" width="140.953125" height="78"/><g class="label" style="" transform="translate(-40.4765625, -24)"><rect/><foreignObject width="80.953125" 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>git pull loop<br />every 30s</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-B-8" data-look="classic" transform="translate(1124.578125, 783.4994773864746)"><rect class="basic label-container" style="" x="-119.8125" y="-39" width="239.625" height="78"/><g class="label" style="" transform="translate(-89.8125, -24)"><rect/><foreignObject width="179.625" 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>Go binary<br />templ + htmx + Goldmark</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-MD-11" data-look="classic" transform="translate(1562.34375, 682.1851997375488)"><path d="M0,15.209516350107695 a97.09375,15.209516350107695 0,0,0 194.1875,0 a97.09375,15.209516350107695 0,0,0 -194.1875,0 l0,78.20951635010769 a97.09375,15.209516350107695 0,0,0 194.1875,0 l0,-78.20951635010769" class="basic label-container outer-path" style="" transform="translate(-97.09375, -54.31427452516154)"/><g class="label" style="" transform="translate(-89.59375, -14)"><rect/><foreignObject width="179.1875" 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>Markdown render<br />front-matter + shortcodes</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-S3-12" data-look="classic" transform="translate(1562.34375, 486.41477966308594)"><path d="M0,13.304093567251462 a71.09375,13.304093567251462 0,0,0 142.1875,0 a71.09375,13.304093567251462 0,0,0 -142.1875,0 l0,76.30409356725146 a71.09375,13.304093567251462 0,0,0 142.1875,0 l0,-76.30409356725146" class="basic label-container outer-path" style="" transform="translate(-71.09375, -51.45614035087719)"/><g class="label" style="" transform="translate(-63.59375, -14)"><rect/><foreignObject width="127.1875" 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>Garage S3<br />kontra-day bucket</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-CB-18" data-look="classic" transform="translate(1562.34375, 1063.8423385620117)"><rect class="basic label-container" style="" x="-79.796875" y="-39" width="159.59375" height="78"/><g class="label" style="" transform="translate(-49.796875, -24)"><rect/><foreignObject width="99.59375" 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>Caddy master<br />.35 :80/:443</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-WWW-22" data-look="classic" transform="translate(1932.5390625, 973.4994773864746)"><rect class="basic label-container" style="" x="-139.3984375" y="-27" width="278.796875" height="54"/><g class="label" style="" transform="translate(-109.3984375, -12)"><rect/><foreignObject width="218.796875" height="24"><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>kontra.lab.audasmedia.com.au</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-ADM-24" data-look="classic" transform="translate(1932.5390625, 1077.4994773864746)"><rect class="basic label-container" style="" x="-163.4140625" y="-27" width="326.828125" height="54"/><g class="label" style="" transform="translate(-133.4140625, -12)"><rect/><foreignObject width="266.828125" height="24"><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>admin.kontra.lab.audasmedia.com.au</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="#000000"/></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="#000000"/></filter></defs></svg> |