diff --git a/.docs/images/architecture-data-db.svg b/.docs/images/architecture-data-db.svg
new file mode 100644
index 0000000000000000000000000000000000000000..696f4ed091f46505bc905c613978c305d9352cf3
--- /dev/null
+++ b/.docs/images/architecture-data-db.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="426px" height="168px" viewBox="-0.5 -0.5 426 168" style="background-color: rgb(255, 255, 255);"><defs/><g><rect x="0" y="37" width="248" height="130" rx="3.9" ry="3.9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 246px; height: 1px; padding-top: 164px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-style: italic; white-space: normal; overflow-wrap: normal;">shared filesystem<br />/tmp</div></div></div></foreignObject><text x="124" y="164" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-style="italic">shared filesystem...</text></switch></g><path d="M 47.5 47.63 L 47.49 30.49 L 47.71 7" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 47.5 52.88 L 44 45.88 L 47.5 47.63 L 51 45.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 22px; margin-left: 48px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">jdbc</div></div></div></foreignObject><text x="48" y="25" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">jdbc</text></switch></g><path d="M 22.5 62.6 C 22.5 57.85 33.69 54 47.5 54 C 54.13 54 60.49 54.91 65.18 56.52 C 69.87 58.13 72.5 60.32 72.5 62.6 L 72.5 109.4 C 72.5 114.15 61.31 118 47.5 118 C 33.69 118 22.5 114.15 22.5 109.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 72.5 62.6 C 72.5 67.35 61.31 71.2 47.5 71.2 C 33.69 71.2 22.5 67.35 22.5 62.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="6.5" y="116" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 126px; margin-left: 5px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">data-db</div></div></div></foreignObject><text x="49" y="130" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">data-db</text></switch></g><path d="M 160 59.63 L 160 36.49 L 160.1 7" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 160 64.88 L 156.5 57.88 L 160 59.63 L 163.5 57.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 23px; margin-left: 160px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">http</div></div></div></foreignObject><text x="160" y="26" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">http</text></switch></g><path d="M 231.37 86 L 288.63 86" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 226.12 86 L 233.12 82.5 L 231.37 86 L 233.12 89.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 293.88 86 L 286.88 89.5 L 288.63 86 L 286.88 82.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 86px; margin-left: 260px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">S3</div></div></div></foreignObject><text x="260" y="89" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">S3</text></switch></g><rect x="95" y="66" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 86px; margin-left: 96px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Data DB Sidecar</div></div></div></foreignObject><text x="160" y="90" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Data DB Sidecar</text></switch></g><rect x="295" y="66" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 86px; margin-left: 296px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Storage Service<br />(minIO)</div></div></div></foreignObject><text x="360" y="90" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Storage Service...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file
diff --git a/.docs/images/architecture-docker-compose.png b/.docs/images/architecture-docker-compose.png
deleted file mode 100644
index 8b33fabc84573842188eb757045daa354fd4ac88..0000000000000000000000000000000000000000
Binary files a/.docs/images/architecture-docker-compose.png and /dev/null differ
diff --git a/.docs/images/architecture-docker-compose.svg b/.docs/images/architecture-docker-compose.svg
index 8054dce967d44a7383f8253cfc603a532bcde2e6..f4761f7ae450d88f225de62948d8b838ed3fcd08 100644
--- a/.docs/images/architecture-docker-compose.svg
+++ b/.docs/images/architecture-docker-compose.svg
@@ -1,3 +1,3 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!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" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="839px" height="669px" viewBox="-0.5 -0.5 839 669"><defs/><g><path d="M 367.01 90.37 L 367.03 108.03 L 366.64 125.63" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 367 85.12 L 370.51 92.11 L 367.01 90.37 L 363.51 92.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 366.52 130.88 L 363.18 123.81 L 366.64 125.63 L 370.18 123.96 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="367.5" cy="7.5" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 367.5 15 L 367.5 40 M 367.5 20 L 352.5 20 M 367.5 20 L 382.5 20 M 367.5 40 L 352.5 60 M 367.5 40 L 382.5 60" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 67px; margin-left: 368px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Researcher</div></div></div></foreignObject><text x="368" y="79" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Resea...</text></switch></g><path d="M 295.13 152 L 265.37 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 300.38 152 L 293.38 155.5 L 295.13 152 L 293.38 148.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 260.12 152 L 267.12 148.5 L 265.37 152 L 267.12 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 152px; margin-left: 280px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="280" y="155" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 334 172 L 334 200.03 L 194 200.03 L 194 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 194 226.88 L 190.5 219.88 L 194 221.63 L 197.5 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 399 172 L 399.03 200.03 L 544 200.03 L 544 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 544 226.88 L 540.5 219.88 L 544 221.63 L 547.5 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 366.5 178.37 L 366.5 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 366.5 173.12 L 370 180.12 L 366.5 178.37 L 363 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 366.5 226.88 L 363 219.88 L 366.5 221.63 L 370 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 200px; margin-left: 367px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="367" y="203" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 334 178.37 L 334 200.03 L 281.03 200.03 L 281.03 294.03 L 194 294.03 L 194 317.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 334 173.12 L 337.5 180.12 L 334 178.37 L 330.5 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 194 322.88 L 190.5 315.88 L 194 317.63 L 197.5 315.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 200px; margin-left: 310px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="310" y="203" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 437.87 152 L 472.63 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 432.62 152 L 439.62 148.5 L 437.87 152 L 439.62 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 477.88 152 L 470.88 155.5 L 472.63 152 L 470.88 148.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 152px; margin-left: 456px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">TUSD</div></div></div></foreignObject><text x="456" y="155" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">TUSD</text></switch></g><path d="M 399.01 178.37 L 399.03 200.03 L 457.03 200.03 L 457.03 394.03 L 544 394.03 L 544 413.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 399 173.12 L 402.51 180.11 L 399.01 178.37 L 395.51 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 544 418.88 L 540.5 411.88 L 544 413.63 L 547.5 411.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 199px; margin-left: 423px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="423" y="202" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><rect x="301.5" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 303px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Gateway Service</div></div></div></foreignObject><text x="367" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Gateway Service</text></switch></g><rect x="301.5" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 303px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Analyse Service</div></div></div></foreignObject><text x="367" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Analyse Service</text></switch></g><path d="M 194 370.37 L 194 397.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 194 365.12 L 197.5 372.12 L 194 370.37 L 190.5 372.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 194 402.88 L 190.5 395.88 L 194 397.63 L 197.5 395.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="129" y="324" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 344px; margin-left: 130px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Authentication Service<br />(Keycloak)</div></div></div></foreignObject><text x="194" y="348" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Authentication Servic...</text></switch></g><path d="M 544 466.37 L 544 507.63" fill="none" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 544 461.12 L 547.5 468.12 L 544 466.37 L 540.5 468.12 Z" fill="#b3b3b3" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="all"/><path d="M 544 512.88 L 540.5 505.88 L 544 507.63 L 547.5 505.88 Z" fill="#b3b3b3" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="all"/><path d="M 615.37 440 L 652.63 440" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 610.12 440 L 617.12 436.5 L 615.37 440 L 617.12 443.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 657.88 440 L 650.88 443.5 L 652.63 440 L 650.88 436.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 440px; margin-left: 633px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">JDBC</div></div></div></foreignObject><text x="633" y="443" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><rect x="479" y="420" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 440px; margin-left: 480px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Metadata Service</div></div></div></foreignObject><text x="544" y="444" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Metadata Service</text></switch></g><path d="M 259 248 L 278.03 248.02 C 278.03 244.12 284.03 244.12 284.03 248.02 L 284.03 248.02 L 289.03 248.03 L 289.03 394.03 L 367.49 394.03 L 367.5 413.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 1" pointer-events="stroke"/><path d="M 367.5 418.88 L 364 411.88 L 367.5 413.63 L 371 411.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 394px; margin-left: 329px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Spring AMQP</div></div></div></foreignObject><text x="329" y="397" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">Spring AMQP</text></switch></g><rect x="129" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 130px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Broker Service<br />(RabbitMQ)</div></div></div></foreignObject><text x="194" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Broker Service...</text></switch></g><path d="M 615.37 248 L 652.63 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 610.12 248 L 617.12 244.5 L 615.37 248 L 617.12 251.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 657.88 248 L 650.88 251.5 L 652.63 248 L 650.88 244.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 248px; margin-left: 634px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="634" y="251" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><rect x="479" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 480px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Search Service</div></div></div></foreignObject><text x="544" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Search Service</text></switch></g><rect x="129" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 130px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">UI</div></div></div></foreignObject><text x="194" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">UI</text></switch></g><path d="M 659 224.6 C 659 219.85 670.19 216 684 216 C 690.63 216 696.99 216.91 701.68 218.52 C 706.37 220.13 709 222.32 709 224.6 L 709 271.4 C 709 276.15 697.81 280 684 280 C 670.19 280 659 276.15 659 271.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 709 224.6 C 709 229.35 697.81 233.2 684 233.2 C 670.19 233.2 659 229.35 659 224.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 715.37 440 L 769 440" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 710.12 440 L 717.12 436.5 L 715.37 440 L 717.12 443.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 659 416.6 C 659 411.85 670.19 408 684 408 C 690.63 408 696.99 408.91 701.68 410.52 C 706.37 412.13 709 414.32 709 416.6 L 709 463.4 C 709 468.15 697.81 472 684 472 C 670.19 472 659 468.15 659 463.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 709 416.6 C 709 421.35 697.81 425.2 684 425.2 C 670.19 425.2 659 421.35 659 416.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="641.5" y="472" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 482px; margin-left: 640px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">metadata-db</div></div></div></foreignObject><text x="684" y="486" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">metadata-db</text></switch></g><path d="M 519 522.6 C 519 517.85 530.19 514 544 514 C 550.63 514 556.99 514.91 561.68 516.52 C 566.37 518.13 569 520.32 569 522.6 L 569 569.4 C 569 574.15 557.81 578 544 578 C 530.19 578 519 574.15 519 569.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 569 522.6 C 569 527.35 557.81 531.2 544 531.2 C 530.19 531.2 519 527.35 519 522.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="501.5" y="578" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 588px; margin-left: 500px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">data-db</div></div></div></foreignObject><text x="544" y="592" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">data-db</text></switch></g><path d="M 169 412.6 C 169 407.85 180.19 404 194 404 C 200.63 404 206.99 404.91 211.68 406.52 C 216.37 408.13 219 410.32 219 412.6 L 219 459.4 C 219 464.15 207.81 468 194 468 C 180.19 468 169 464.15 169 459.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 219 412.6 C 219 417.35 207.81 421.2 194 421.2 C 180.19 421.2 169 417.35 169 412.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="151.5" y="468" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 478px; margin-left: 150px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">auth-db</div></div></div></foreignObject><text x="194" y="482" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">auth-db</text></switch></g><rect x="479" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 480px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Upload Service<br />(tusd)</div></div></div></foreignObject><text x="544" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Upload Service...</text></switch></g><rect x="729.5" y="454" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 464px; margin-left: 728px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">metadata-db-data</div></div></div></foreignObject><text x="784" y="468" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">metadata-db-data</text></switch></g><ellipse cx="783.5" cy="440" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="729.5" y="262" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 272px; margin-left: 728px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">search-db-data</div></div></div></foreignObject><text x="784" y="276" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">search-db-data</text></switch></g><path d="M 769.5 248 L 715.37 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 710.12 248 L 717.12 244.5 L 715.37 248 L 717.12 251.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="783.5" cy="248" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="490" y="648" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 658px; margin-left: 488px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">data-db-data</div></div></div></foreignObject><text x="544" y="662" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">data-db-data</text></switch></g><path d="M 544 620 L 544 600.03 L 544 618.03 L 544 604.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 544 599.12 L 547.5 606.12 L 544 604.37 L 540.5 606.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="544" cy="634" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><path d="M 194 510 L 194 494.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 194 489.12 L 197.5 496.12 L 194 494.37 L 190.5 496.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="194" cy="524" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="140" y="538" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 548px; margin-left: 138px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">auth-db-data</div></div></div></foreignObject><text x="194" y="552" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">auth-db-data</text></switch></g><path d="M 670 152 L 615.37 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 610.12 152 L 617.12 148.5 L 615.37 152 L 617.12 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="684" cy="152" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="630" y="166" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 176px; margin-left: 628px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">upload-service-data</div></div></div></foreignObject><text x="684" y="180" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">upload-service-data</text></switch></g><path d="M 367.49 460 L 367.49 546.03 L 512.63 546" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 517.88 546 L 510.88 549.5 L 512.63 546 L 510.88 542.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 546px; margin-left: 400px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">JDBC</div></div></div></foreignObject><text x="400" y="549" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><rect x="302.5" y="420" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 440px; margin-left: 304px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Data Service</div></div></div></foreignObject><text x="368" y="444" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Service</text></switch></g><path d="M 609 344.03 L 684 344.03 L 684 286.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 684 281.12 L 687.5 288.12 L 684 286.37 L 680.5 288.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 323px; margin-left: 685px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="685" y="326" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 609 344 L 684 344.03 L 684 401.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 684 406.88 L 680.5 399.88 L 684 401.63 L 687.5 399.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 374px; margin-left: 683px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">JDBC</div></div></div></foreignObject><text x="683" y="377" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><rect x="479" y="324" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 344px; margin-left: 480px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Mirror Service</div></div></div></foreignObject><text x="544" y="348" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Mirror Service</text></switch></g><rect x="641.5" y="291" width="85" height="17" fill="rgb(255, 255, 255)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 300px; margin-left: 640px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">search-db</div></div></div></foreignObject><text x="684" y="303" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">search-db</text></switch></g><path d="M 68 248 L 122.63 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 127.88 248 L 120.88 251.5 L 122.63 248 L 120.88 244.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="54" cy="248" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="0" y="262" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 272px; margin-left: -2px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">broker-service-data</div></div></div></foreignObject><text x="54" y="276" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">broker-service-data</text></switch></g><rect x="549" y="483" width="60" height="10" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 488px; margin-left: 550px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font color="#b3b3b3">deprecated</font></div></div></div></foreignObject><text x="579" y="492" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">deprecated</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="859px" height="669px" viewBox="-0.5 -0.5 859 669" style="background-color: rgb(255, 255, 255);"><defs/><g><path d="M 367 90.37 L 367 108 L 366.63 125.63" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 367 85.12 L 370.5 92.12 L 367 90.37 L 363.5 92.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 366.52 130.88 L 363.17 123.81 L 366.63 125.63 L 370.17 123.96 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="367.5" cy="7.5" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 367.5 15 L 367.5 40 M 367.5 20 L 352.5 20 M 367.5 20 L 382.5 20 M 367.5 40 L 352.5 60 M 367.5 40 L 382.5 60" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 67px; margin-left: 368px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Researcher</div></div></div></foreignObject><text x="368" y="79" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Resea...</text></switch></g><path d="M 295.13 152 L 265.37 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 300.38 152 L 293.38 155.5 L 295.13 152 L 293.38 148.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 260.12 152 L 267.12 148.5 L 265.37 152 L 267.12 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 152px; margin-left: 281px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="281" y="155" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 334 172 L 334 200 L 194 200 L 194 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 194 226.88 L 190.5 219.88 L 194 221.63 L 197.5 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 399 172 L 399 200 L 544 200 L 544 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 544 226.88 L 540.5 219.88 L 544 221.63 L 547.5 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 366.5 178.37 L 366.5 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 366.5 173.12 L 370 180.12 L 366.5 178.37 L 363 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 366.5 226.88 L 363 219.88 L 366.5 221.63 L 370 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 200px; margin-left: 367px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="367" y="203" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 334 178.37 L 334 200 L 281 200 L 281 294 L 194 294 L 194 317.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 334 173.12 L 337.5 180.12 L 334 178.37 L 330.5 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 194 322.88 L 190.5 315.88 L 194 317.63 L 197.5 315.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 201px; margin-left: 310px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="310" y="203" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 437.87 152 L 472.63 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 432.62 152 L 439.62 148.5 L 437.87 152 L 439.62 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 477.88 152 L 470.88 155.5 L 472.63 152 L 470.88 148.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 152px; margin-left: 456px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">S3</div></div></div></foreignObject><text x="456" y="155" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">S3</text></switch></g><path d="M 399 178.37 L 399 200 L 457 200 L 457 394 L 544 394 L 544 413.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 399 173.12 L 402.5 180.12 L 399 178.37 L 395.5 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 544 418.88 L 540.5 411.88 L 544 413.63 L 547.5 411.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 200px; margin-left: 424px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="424" y="202" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><rect x="301.5" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 303px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Gateway Service</div></div></div></foreignObject><text x="367" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Gateway Service</text></switch></g><path d="M 431.5 248 L 445 248 L 445 203 C 448.9 203 448.9 197 445 197 L 445 197 L 445 189 L 544 189 L 544 178.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 544 173.12 L 547.5 180.12 L 544 178.37 L 540.5 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 190px; margin-left: 473px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">S3</div></div></div></foreignObject><text x="473" y="193" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">S3</text></switch></g><rect x="301.5" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 303px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Analyse Service</div></div></div></foreignObject><text x="367" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Analyse Service</text></switch></g><path d="M 194 370.37 L 194 397.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 194 365.12 L 197.5 372.12 L 194 370.37 L 190.5 372.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 194 402.88 L 190.5 395.88 L 194 397.63 L 197.5 395.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="129" y="324" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 344px; margin-left: 130px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Authentication Service<br />(Keycloak)</div></div></div></foreignObject><text x="194" y="348" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Authentication Servic...</text></switch></g><path d="M 615.37 440 L 652.63 440" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 610.12 440 L 617.12 436.5 L 615.37 440 L 617.12 443.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 657.88 440 L 650.88 443.5 L 652.63 440 L 650.88 436.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 441px; margin-left: 634px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">JDBC</div></div></div></foreignObject><text x="634" y="443" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><path d="M 544 460 L 544 521.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 544 526.88 L 540.5 519.88 L 544 521.63 L 547.5 519.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="479" y="420" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 440px; margin-left: 480px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Metadata Service</div></div></div></foreignObject><text x="544" y="444" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Metadata Service</text></switch></g><path d="M 259 248 L 278 248 C 278 244.1 284 244.1 284 248 L 284 248 L 289 248 L 289 394 L 367.5 394 L 367.5 413.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 1" pointer-events="stroke"/><path d="M 367.5 418.88 L 364 411.88 L 367.5 413.63 L 371 411.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 394px; margin-left: 329px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Spring AMQP</div></div></div></foreignObject><text x="329" y="397" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">Spring AMQP</text></switch></g><rect x="129" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 130px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Broker Service<br />(RabbitMQ)</div></div></div></foreignObject><text x="194" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Broker Service...</text></switch></g><path d="M 615.37 248 L 652.63 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 610.12 248 L 617.12 244.5 L 615.37 248 L 617.12 251.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 657.88 248 L 650.88 251.5 L 652.63 248 L 650.88 244.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 248px; margin-left: 634px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="634" y="251" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><rect x="479" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 480px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Search Service</div></div></div></foreignObject><text x="544" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Search Service</text></switch></g><rect x="129" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 130px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">UI</div></div></div></foreignObject><text x="194" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">UI</text></switch></g><path d="M 659 224.6 C 659 219.85 670.19 216 684 216 C 690.63 216 696.99 216.91 701.68 218.52 C 706.37 220.13 709 222.32 709 224.6 L 709 271.4 C 709 276.15 697.81 280 684 280 C 670.19 280 659 276.15 659 271.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 709 224.6 C 709 229.35 697.81 233.2 684 233.2 C 670.19 233.2 659 229.35 659 224.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 715.37 440 L 769 440" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 710.12 440 L 717.12 436.5 L 715.37 440 L 717.12 443.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 659 416.6 C 659 411.85 670.19 408 684 408 C 690.63 408 696.99 408.91 701.68 410.52 C 706.37 412.13 709 414.32 709 416.6 L 709 463.4 C 709 468.15 697.81 472 684 472 C 670.19 472 659 468.15 659 463.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 709 416.6 C 709 421.35 697.81 425.2 684 425.2 C 670.19 425.2 659 421.35 659 416.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="641.5" y="472" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 482px; margin-left: 640px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">metadata-db</div></div></div></foreignObject><text x="684" y="486" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">metadata-db</text></switch></g><path d="M 342.5 524.6 C 342.5 519.85 353.69 516 367.5 516 C 374.13 516 380.49 516.91 385.18 518.52 C 389.87 520.13 392.5 522.32 392.5 524.6 L 392.5 571.4 C 392.5 576.15 381.31 580 367.5 580 C 353.69 580 342.5 576.15 342.5 571.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 392.5 524.6 C 392.5 529.35 381.31 533.2 367.5 533.2 C 353.69 533.2 342.5 529.35 342.5 524.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="326.5" y="578" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 588px; margin-left: 325px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">data-db</div></div></div></foreignObject><text x="369" y="592" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">data-db</text></switch></g><path d="M 169 412.6 C 169 407.85 180.19 404 194 404 C 200.63 404 206.99 404.91 211.68 406.52 C 216.37 408.13 219 410.32 219 412.6 L 219 459.4 C 219 464.15 207.81 468 194 468 C 180.19 468 169 464.15 169 459.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 219 412.6 C 219 417.35 207.81 421.2 194 421.2 C 180.19 421.2 169 417.35 169 412.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="151.5" y="468" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 478px; margin-left: 150px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">auth-db</div></div></div></foreignObject><text x="194" y="482" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">auth-db</text></switch></g><path d="M 615.37 152 L 849 152 L 849 548 L 615.37 548" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 610.12 152 L 617.12 148.5 L 615.37 152 L 617.12 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 610.12 548 L 617.12 544.5 L 615.37 548 L 617.12 551.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 350px; margin-left: 849px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">S3</div></div></div></foreignObject><text x="849" y="353" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">S3</text></switch></g><rect x="479" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 480px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Storage Service<br />(minIO)</div></div></div></foreignObject><text x="544" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Storage Service...</text></switch></g><rect x="729.5" y="454" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 464px; margin-left: 728px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">metadata-db-data</div></div></div></foreignObject><text x="784" y="468" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">metadata-db-data</text></switch></g><ellipse cx="783.5" cy="440" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="729.5" y="262" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 272px; margin-left: 728px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">search-db-data</div></div></div></foreignObject><text x="784" y="276" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">search-db-data</text></switch></g><path d="M 769.5 248 L 715.37 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 710.12 248 L 717.12 244.5 L 715.37 248 L 717.12 251.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="783.5" cy="248" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="315" y="648" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 658px; margin-left: 313px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">data-db-data</div></div></div></foreignObject><text x="369" y="662" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">data-db-data</text></switch></g><path d="M 369 620 L 369 600 L 369 618 L 369 604.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 369 599.12 L 372.5 606.12 L 369 604.37 L 365.5 606.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="369" cy="634" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><path d="M 194 510 L 194 494.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 194 489.12 L 197.5 496.12 L 194 494.37 L 190.5 496.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="194" cy="524" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="140" y="538" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 548px; margin-left: 138px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">auth-db-data</div></div></div></foreignObject><text x="194" y="552" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">auth-db-data</text></switch></g><path d="M 367.5 460 L 367.5 509.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 367.5 514.88 L 364 507.88 L 367.5 509.63 L 371 507.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 488px; margin-left: 368px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">JDBC</div></div></div></foreignObject><text x="368" y="491" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><rect x="302.5" y="420" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 440px; margin-left: 304px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Data Service</div></div></div></foreignObject><text x="368" y="444" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Service</text></switch></g><path d="M 609 344 L 684 344 L 684 286.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 684 281.12 L 687.5 288.12 L 684 286.37 L 680.5 288.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 324px; margin-left: 686px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="686" y="326" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 609 344 L 684 344 L 684 401.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 684 406.88 L 680.5 399.88 L 684 401.63 L 687.5 399.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 374px; margin-left: 683px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">JDBC</div></div></div></foreignObject><text x="683" y="377" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><rect x="479" y="324" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 344px; margin-left: 480px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Mirror Service</div></div></div></foreignObject><text x="544" y="348" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Mirror Service</text></switch></g><rect x="641.5" y="291" width="85" height="17" fill="rgb(255, 255, 255)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 300px; margin-left: 640px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">search-db</div></div></div></foreignObject><text x="684" y="303" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">search-db</text></switch></g><path d="M 68 248 L 122.63 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 127.88 248 L 120.88 251.5 L 122.63 248 L 120.88 244.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="54" cy="248" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="0" y="262" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 272px; margin-left: -2px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">broker-service-data</div></div></div></foreignObject><text x="54" y="276" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">broker-service-data</text></switch></g><path d="M 479 548 L 398.87 548" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 393.62 548 L 400.62 544.5 L 398.87 548 L 400.62 551.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="479" y="528" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 548px; margin-left: 480px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Data DB Sidecar</div></div></div></foreignObject><text x="544" y="552" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Data DB Sidecar</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file
diff --git a/.docs/images/architecture.drawio b/.docs/images/architecture.drawio
index 79fd38bdc8fd994279c3e6b0f240f6dd6a0f5986..ff24e74e84ab219896bbff012e141df72f7f5140 100644
--- a/.docs/images/architecture.drawio
+++ b/.docs/images/architecture.drawio
@@ -1,6 +1,6 @@
-<mxfile host="Electron" modified="2023-10-31T09:54:19.412Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="-iYg4L0G093xrXXeyfdB" version="21.1.2" type="device" pages="8">
+<mxfile host="Electron" modified="2023-11-17T11:53:24.549Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="BtfeOmnXFlr2YLKq2VZ0" version="21.1.2" type="device" pages="7">
   <diagram id="mvBsv1rP8O80Qe3yGnn_" name="docker-compose">
-    <mxGraphModel dx="1185" dy="675" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
+    <mxGraphModel dx="1434" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
       <root>
         <mxCell id="0" />
         <mxCell id="1" parent="0" />
@@ -42,2154 +42,295 @@
             <mxPoint x="-3" as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-44" value="TUSD" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="V1Wl26Vbpgnno5Lb-wtg-38" edge="1">
-          <mxGeometry x="0.0034" relative="1" as="geometry">
-            <mxPoint as="offset" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="hBEam5F8n4ZBPeoiEcWH-1" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="480" y="346" />
-              <mxPoint x="538" y="346" />
-              <mxPoint x="538" y="540" />
-              <mxPoint x="625" y="540" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-18" value="HTTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" parent="V1Wl26Vbpgnno5Lb-wtg-45" vertex="1" connectable="0">
-          <mxGeometry x="-0.7352" y="1" relative="1" as="geometry">
-            <mxPoint as="offset" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="CohMdi7D_fRk0dSxzjYi-1" value="Gateway Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="382.5" y="278" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="13tBXMPt0xomx7MP2VuM-1" value="Analyse Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="382.5" y="374" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" source="O_ELZSFbvl3Butg3bv_j-1" target="V1Wl26Vbpgnno5Lb-wtg-36" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="O_ELZSFbvl3Butg3bv_j-1" value="Authentication Service&lt;br&gt;(Keycloak)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="210" y="470" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;fillColor=#f5f5f5;strokeColor=#B3B3B3;" parent="1" source="hBEam5F8n4ZBPeoiEcWH-1" target="V1Wl26Vbpgnno5Lb-wtg-34" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" target="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="689.9999999999998" y="586" as="sourcePoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-16" value="JDBC" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" parent="V1Wl26Vbpgnno5Lb-wtg-48" vertex="1" connectable="0">
-          <mxGeometry x="-0.2851" y="-2" relative="1" as="geometry">
-            <mxPoint x="6" y="-2" as="offset" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="hBEam5F8n4ZBPeoiEcWH-1" value="Metadata Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="560" y="566" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-15" value="Spring AMQP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;jumpStyle=arc;dashed=1;strokeWidth=1;dashPattern=1 1;fontSize=9;" parent="1" source="AQz-Vj6r_5Wor37pQVs6-1" target="YJRAzF6yD4Hh-bAvO1PB-1" edge="1">
-          <mxGeometry x="0.54" relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="370" y="394" />
-              <mxPoint x="370" y="540" />
-              <mxPoint x="449" y="540" />
-            </Array>
-            <mxPoint as="offset" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="AQz-Vj6r_5Wor37pQVs6-1" value="Broker Service&lt;br&gt;(RabbitMQ)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="210" y="374" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-49" value="HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="SsHHCok0RUWS7ODwTELy-4" target="V1Wl26Vbpgnno5Lb-wtg-26" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="SsHHCok0RUWS7ODwTELy-4" value="Search Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="560" y="374" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="S3Av5TdVFqS_SrXukbwN-1" value="UI" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="210" y="278" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-26" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="740" y="362" width="50" height="64" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="850" y="586" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-32" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="740" y="554" width="50" height="64" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-33" value="metadata-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="722.5" y="618" width="85" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-34" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="600" y="660" width="50" height="64" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-35" value="data-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="582.5" y="724" width="85" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-36" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="250" y="550" width="50" height="64" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-37" value="auth-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="232.5" y="614" width="85" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-38" value="Upload Service&lt;br&gt;(tusd)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="560" y="278" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-3" value="metadata-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="810.5" y="600" width="108" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="850.5" y="572" width="28" height="28" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-7" value="search-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="810.5" y="408" width="108" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-8" target="V1Wl26Vbpgnno5Lb-wtg-26" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-8" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="850.5" y="380" width="28" height="28" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-10" value="data-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="571" y="794" width="108" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-11" target="V1Wl26Vbpgnno5Lb-wtg-35" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-11" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="611" y="766" width="28" height="28" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-15" target="V1Wl26Vbpgnno5Lb-wtg-37" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-15" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="261" y="656" width="28" height="28" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-16" value="auth-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="221" y="684" width="108" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-36" target="V1Wl26Vbpgnno5Lb-wtg-38" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-36" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="751" y="284" width="28" height="28" as="geometry" />
-        </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-39" value="upload-service-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="711" y="312" width="108" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-2" value="JDBC" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=9;" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-1" target="V1Wl26Vbpgnno5Lb-wtg-34" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="448" y="582" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-1" value="Data Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="383.5" y="566" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-12" target="V1Wl26Vbpgnno5Lb-wtg-26" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="765" y="490" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-17" value="HTTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" parent="YJRAzF6yD4Hh-bAvO1PB-13" vertex="1" connectable="0">
-          <mxGeometry x="0.3792" y="-1" relative="1" as="geometry">
-            <mxPoint as="offset" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-14" value="JDBC" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=9;" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-12" target="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
-          <mxGeometry x="0.5121" y="-1" relative="1" as="geometry">
-            <mxPoint as="offset" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-12" value="Mirror Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="560" y="470" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-27" value="search-db" style="text;html=1;strokeColor=none;fillColor=default;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="722.5" y="437" width="85" height="17" as="geometry" />
-        </mxCell>
-        <mxCell id="OiuNRKl362wFz-YGv0-T-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="OiuNRKl362wFz-YGv0-T-7">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="210" y="394" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="OiuNRKl362wFz-YGv0-T-7" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" vertex="1" parent="1">
-          <mxGeometry x="121" y="380" width="28" height="28" as="geometry" />
-        </mxCell>
-        <mxCell id="OiuNRKl362wFz-YGv0-T-8" value="broker-service-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" vertex="1" parent="1">
-          <mxGeometry x="81" y="408" width="108" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="OiuNRKl362wFz-YGv0-T-10" value="&lt;font color=&quot;#b3b3b3&quot;&gt;deprecated&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
-          <mxGeometry x="630" y="629" width="60" height="10" as="geometry" />
-        </mxCell>
-      </root>
-    </mxGraphModel>
-  </diagram>
-  <diagram name="Frontend" id="GYXS_N4ymJ7hX3zLKvDC">
-    <mxGraphModel dx="1434" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="583" pageHeight="413" math="0" shadow="0">
-      <root>
-        <mxCell id="ihsuRJ9dWuDPEHVUeUyY-0" />
-        <mxCell id="ihsuRJ9dWuDPEHVUeUyY-1" parent="ihsuRJ9dWuDPEHVUeUyY-0" />
-        <mxCell id="IRxpwOfG2jHF0YoYJLJK-1" value="" style="rounded=1;whiteSpace=wrap;html=1;arcSize=2;fillColor=#dae8fc;strokeColor=#000000;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="17" y="232" width="320" height="136" as="geometry" />
-        </mxCell>
-        <mxCell id="IRxpwOfG2jHF0YoYJLJK-0" value="" style="rounded=1;whiteSpace=wrap;html=1;arcSize=2;fillColor=#d5e8d4;strokeColor=#000000;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="17" y="20" width="320" height="204" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-0" value="UI" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="187" y="30" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-1" target="kLNLoM7m2o6o68vp3Wb9-0" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-1" value="Vue.js" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="187" y="100" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-3" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-1" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-1" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-10" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-2" value="Vuex&lt;br&gt;(state)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="187" y="170" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-3" target="kLNLoM7m2o6o68vp3Wb9-4" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-3" value="Vuex Persist&lt;br&gt;Plugin" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="27" y="170" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-4" value="Local Storage" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#FFF2CC;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="62" y="60" width="60" height="80" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-10" target="kLNLoM7m2o6o68vp3Wb9-12" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-10" value="Node.js&lt;br&gt;(api client)" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="187" y="248" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-12" target="kLNLoM7m2o6o68vp3Wb9-13" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-13" target="kLNLoM7m2o6o68vp3Wb9-18" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-20" value="refresh_token" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="kLNLoM7m2o6o68vp3Wb9-19" vertex="1" connectable="0">
-          <mxGeometry x="0.5604" y="1" relative="1" as="geometry">
-            <mxPoint x="-21" y="34" as="offset" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-12" value="Axios&lt;br&gt;(+request interceptor)" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="187" y="318" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-13" value="Gateway Service" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B3B3B3;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="437" y="318" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="kLNLoM7m2o6o68vp3Wb9-18" value="Authentication Service" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B3B3B3;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="437" y="170" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="4DtipyiVSSVc0IyAwunU-1" value="client-side" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="23" y="27" width="60" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="4DtipyiVSSVc0IyAwunU-2" value="server-side&lt;br&gt;(nuxt.js)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="24" y="243" width="64" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="4DtipyiVSSVc0IyAwunU-4" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Google_Chrome_icon_%28February_2022%29.svg/2048px-Google_Chrome_icon_%28February_2022%29.svg.png;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="88" y="27" width="20" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="4DtipyiVSSVc0IyAwunU-6" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Firefox_logo%2C_2019.svg/1200px-Firefox_logo%2C_2019.svg.png;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="113" y="26.599999999999966" width="20" height="20.8" as="geometry" />
-        </mxCell>
-        <mxCell id="4DtipyiVSSVc0IyAwunU-7" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Nuxt_logo.svg/2560px-Nuxt_logo.svg.png;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
-          <mxGeometry x="92" y="243.15999999999997" width="28" height="20.84" as="geometry" />
-        </mxCell>
-      </root>
-    </mxGraphModel>
-  </diagram>
-  <diagram id="L1JzLK7pEtbSKg_GzwHe" name="kubernetes">
-    <mxGraphModel dx="3772" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="1654" math="0" shadow="0">
-      <root>
-        <mxCell id="0" />
-        <mxCell id="1" parent="0" />
-        <mxCell id="uhuFqILdIqehBGa5AEh--359" value="" style="rounded=1;whiteSpace=wrap;html=1;arcSize=1;fillColor=none;dashed=1;" parent="1" vertex="1">
-          <mxGeometry x="-2194" y="90" width="1680" height="1480" as="geometry" />
-        </mxCell>
-        <mxCell id="o9QcCpmXlEoI0WZEIRtM-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="DhPzZC-KKjUQxFcC_TA6-2" target="OuYeyKodJbVhl-kyN8L6-1" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="OuYeyKodJbVhl-kyN8L6-1" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;Researcher&lt;/span&gt;" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
-          <mxGeometry x="-2319" y="967" width="30" height="60" as="geometry" />
-        </mxCell>
-        <mxCell id="_Pozg8uFO5aD6k6oWX_S-1" value="dbrepo" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ns" parent="1" vertex="1">
-          <mxGeometry x="-2154" y="66" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--242" value="dbrepo-shared-claim&lt;br&gt;(ReadWriteMany)" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="1" vertex="1">
-          <mxGeometry x="-1084" y="790" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--313" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-2060" y="1200" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--287" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
-          <mxGeometry width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--288" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--313" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="99" as="sourcePoint" />
-            <mxPoint x="121" y="99" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--289" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--313" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="153" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="153" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--290" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
-          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--291" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--313" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="45" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="45" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--292" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
-          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--293" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--313" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="94" as="sourcePoint" />
-            <mxPoint x="249" y="38" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--294" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--313" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="105" as="sourcePoint" />
-            <mxPoint x="252" y="155" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--295" value="broker-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
-          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--296" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
-          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--297" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
-          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--314" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-2060" y="690" width="390" height="110" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--298" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--314" vertex="1">
-          <mxGeometry width="390" height="110" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--299" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--314" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="39" as="sourcePoint" />
-            <mxPoint x="121" y="39" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--310" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="uhuFqILdIqehBGa5AEh--314" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="212" y="39" as="targetPoint" />
-            <mxPoint x="122" y="39" as="sourcePoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--303" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--314" vertex="1">
-          <mxGeometry x="120" y="15" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--305" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;exitX=0.44;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="uhuFqILdIqehBGa5AEh--314" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="326" y="39" as="sourcePoint" />
-            <mxPoint x="257" y="39" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--306" value="search-sync-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--314" vertex="1">
-          <mxGeometry x="307" y="15" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--309" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--314" vertex="1">
-          <mxGeometry x="210" y="15" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--312" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=cronjob" parent="uhuFqILdIqehBGa5AEh--314" vertex="1">
-          <mxGeometry x="30" y="15" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--315" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-1554" y="120" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--276" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
-          <mxGeometry width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--277" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--315" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="99" as="sourcePoint" />
-            <mxPoint x="121" y="99" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--278" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--315" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="153" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="153" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--279" value="upload-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
-          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--280" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--315" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="45" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="45" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--281" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
-          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--282" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--315" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="94" as="sourcePoint" />
-            <mxPoint x="249" y="38" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--283" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--315" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="105" as="sourcePoint" />
-            <mxPoint x="252" y="155" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--284" value="upload-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
-          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--285" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
-          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--286" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
-          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--316" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-948" y="877" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--265" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
-          <mxGeometry width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--266" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--316" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="99" as="sourcePoint" />
-            <mxPoint x="121" y="99" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--267" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--316" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="153" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="153" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--268" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
-          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--269" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--316" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="45" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="45" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--270" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
-          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--271" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--316" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="94" as="sourcePoint" />
-            <mxPoint x="249" y="38" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--272" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--316" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="105" as="sourcePoint" />
-            <mxPoint x="252" y="155" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--273" value="auth-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
-          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--274" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
-          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--275" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
-          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--317" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-2060" y="434" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--254" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
-          <mxGeometry width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--255" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--317" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="99" as="sourcePoint" />
-            <mxPoint x="121" y="99" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--256" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--317" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="153" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="153" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--257" value="semantic-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
-          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--258" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--317" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="45" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="45" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--259" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
-          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--260" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--317" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="94" as="sourcePoint" />
-            <mxPoint x="249" y="38" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--261" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--317" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="105" as="sourcePoint" />
-            <mxPoint x="252" y="155" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--262" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
-          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--263" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
-          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--264" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
-          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--318" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-2060" y="877" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--243" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
-          <mxGeometry y="1" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--244" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--318" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="99" as="sourcePoint" />
-            <mxPoint x="121" y="99" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--245" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--318" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="153" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="153" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--246" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
-          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--247" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--318" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="45" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="45" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--248" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
-          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--249" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--318" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="94" as="sourcePoint" />
-            <mxPoint x="249" y="38" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--250" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--318" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="105" as="sourcePoint" />
-            <mxPoint x="252" y="155" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--251" value="ui-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
-          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--252" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;ui&lt;/span&gt;" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
-          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--253" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
-          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--321" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-949" y="1200" width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--67" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
-          <mxGeometry width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--68" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
-          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--76" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="210" as="sourcePoint" />
-            <mxPoint x="121" y="210" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--78" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="264" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="264" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--79" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="79" y="47" as="sourcePoint" />
-            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--80" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="47" as="sourcePoint" />
-            <mxPoint x="222" y="47" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--81" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
-          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--70" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
-          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--143" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="156" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="156" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--224" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--321" source="uhuFqILdIqehBGa5AEh--71" target="uhuFqILdIqehBGa5AEh--81" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--71" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
-          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--144" value="data-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
-          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--145" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
-            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--159" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="325" y="145" as="sourcePoint" />
-            <mxPoint x="245" y="48" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--160" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="323" y="156" as="sourcePoint" />
-            <mxPoint x="252" y="156" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--161" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="320" y="173" as="sourcePoint" />
-            <mxPoint x="248" y="265" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--146" value="data-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
-          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--72" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
-          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--142" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
-          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--69" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
-          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--322" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-1554" y="1200" width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--202" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
-          <mxGeometry width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--205" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="210" as="sourcePoint" />
-            <mxPoint x="121" y="210" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--206" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="264" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="264" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--210" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
-          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--211" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="156" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="156" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--212" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
-          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--216" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="320" y="56" as="sourcePoint" />
-            <mxPoint x="252" y="156" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--228" value="search-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
-          <mxGeometry x="307" y="133" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--229" value="search-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
-          <mxGeometry x="307" y="240" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--230" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="268" y="264.0999999999999" as="sourcePoint" />
-            <mxPoint x="308" y="263.8599999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--231" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="268" y="156.0999999999999" as="sourcePoint" />
-            <mxPoint x="308" y="155.8599999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--220" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
-          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--217" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;jumpStyle=none;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="319" y="58" as="sourcePoint" />
-            <mxPoint x="248" y="265" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--226" value="search-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
-          <mxGeometry x="307" y="25" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--219" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
-          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--323" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-1554" y="441" width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--182" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
-          <mxGeometry width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--183" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
-          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--184" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="210" as="sourcePoint" />
-            <mxPoint x="121" y="210" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--185" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="264" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="264" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--186" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="79" y="47" as="sourcePoint" />
-            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--187" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="47" as="sourcePoint" />
-            <mxPoint x="222" y="47" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--188" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
-          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--201" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="uhuFqILdIqehBGa5AEh--323" source="uhuFqILdIqehBGa5AEh--183" target="uhuFqILdIqehBGa5AEh--188" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--189" value="metadata-db-&lt;br&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
-          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--190" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="156" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="156" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--225" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;dashed=1;" parent="uhuFqILdIqehBGa5AEh--323" source="uhuFqILdIqehBGa5AEh--191" target="uhuFqILdIqehBGa5AEh--188" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--191" value="metadata-db-&lt;br&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
-          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--192" value="metadata-db-&lt;br&gt;claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
-          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--193" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
-            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--194" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="325" y="145" as="sourcePoint" />
-            <mxPoint x="245" y="48" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--195" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="323" y="156" as="sourcePoint" />
-            <mxPoint x="252" y="156" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--196" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="320" y="173" as="sourcePoint" />
-            <mxPoint x="248" y="265" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--197" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
-          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--198" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
-          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--199" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
-          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--200" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
-          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--324" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-2239" y="812" width="90" height="370" as="geometry" />
-        </mxCell>
-        <mxCell id="DhPzZC-KKjUQxFcC_TA6-2" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--324" vertex="1">
-          <mxGeometry width="90" height="370" as="geometry" />
-        </mxCell>
-        <mxCell id="DhPzZC-KKjUQxFcC_TA6-1" value="ingress" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="uhuFqILdIqehBGa5AEh--324" vertex="1">
-          <mxGeometry x="20" y="18" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="DhPzZC-KKjUQxFcC_TA6-3" value="ingress-pid" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="uhuFqILdIqehBGa5AEh--324" vertex="1">
-          <mxGeometry x="20" y="107" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="o9QcCpmXlEoI0WZEIRtM-1" value="ingress-root" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="uhuFqILdIqehBGa5AEh--324" vertex="1">
-          <mxGeometry x="20" y="198" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="o9QcCpmXlEoI0WZEIRtM-2" value="ingress-api" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="uhuFqILdIqehBGa5AEh--324" vertex="1">
-          <mxGeometry x="20" y="288" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--325" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-948" y="445" width="390" height="326" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--232" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--325" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="237" y="3" as="sourcePoint" />
-            <mxPoint x="281" y="3" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--233" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--325" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="327" y="3" as="sourcePoint" />
-            <mxPoint x="380" y="57" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="355" y="3" />
-              <mxPoint x="355" y="57" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--320" value="" style="group" parent="uhuFqILdIqehBGa5AEh--325" vertex="1" connectable="0">
-          <mxGeometry width="390" height="326" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--162" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
-          <mxGeometry width="390" height="326" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--163" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
-          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--164" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="210" as="sourcePoint" />
-            <mxPoint x="121" y="210" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--165" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="264" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="264" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--166" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="79" y="47" as="sourcePoint" />
-            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--167" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="47" as="sourcePoint" />
-            <mxPoint x="222" y="47" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--168" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
-          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--169" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
-          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--170" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="156" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="156" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--223" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;dashed=1;" parent="uhuFqILdIqehBGa5AEh--320" source="uhuFqILdIqehBGa5AEh--171" target="uhuFqILdIqehBGa5AEh--168" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--171" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
-          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--172" value="auth-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
-          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--173" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
-            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--174" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="325" y="145" as="sourcePoint" />
-            <mxPoint x="245" y="48" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--175" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="323" y="156" as="sourcePoint" />
-            <mxPoint x="252" y="156" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--176" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="320" y="173" as="sourcePoint" />
-            <mxPoint x="248" y="265" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--177" value="auth-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
-          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--178" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
-          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--179" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
-          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--180" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
-          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--327" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--182" target="uhuFqILdIqehBGa5AEh--21" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--328" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--265" target="uhuFqILdIqehBGa5AEh--162" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--329" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--21" target="uhuFqILdIqehBGa5AEh--265" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--330" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;exitX=1;exitY=0.75;exitDx=0;exitDy=0;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--21" target="uhuFqILdIqehBGa5AEh--67" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="-1104" y="1044" />
-              <mxPoint x="-1104" y="1365" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--331" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--21" target="uhuFqILdIqehBGa5AEh--202" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--334" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;strokeWidth=3;" parent="1" source="uhuFqILdIqehBGa5AEh--243" target="uhuFqILdIqehBGa5AEh--287" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--335" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="1" source="uhuFqILdIqehBGa5AEh--254" target="uhuFqILdIqehBGa5AEh--21" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="-1614" y="600" />
-              <mxPoint x="-1614" y="931" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--336" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--254" target="uhuFqILdIqehBGa5AEh--182" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--338" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;strokeWidth=3;entryX=1;entryY=0.75;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--21" target="uhuFqILdIqehBGa5AEh--276" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="-274" y="400" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="-1124" y="931" />
-              <mxPoint x="-1124" y="286" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--340" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--243" target="uhuFqILdIqehBGa5AEh--21" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--341" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;strokeWidth=3;" parent="1" source="uhuFqILdIqehBGa5AEh--298" target="uhuFqILdIqehBGa5AEh--21" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="-1624" y="745" />
-              <mxPoint x="-1624" y="988" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--342" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;jumpStyle=arc;" parent="1" source="uhuFqILdIqehBGa5AEh--298" target="uhuFqILdIqehBGa5AEh--202" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="-1624" y="745" />
-              <mxPoint x="-1624" y="1365" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--343" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;jumpStyle=arc;" parent="1" source="uhuFqILdIqehBGa5AEh--287" target="uhuFqILdIqehBGa5AEh--21" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="-1634" y="1255" />
-              <mxPoint x="-1634" y="1150" />
-              <mxPoint x="-1456" y="1150" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--349" value="" style="group" parent="1" vertex="1" connectable="0">
-          <mxGeometry x="-1554" y="875" width="390" height="225" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--21" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
-          <mxGeometry width="390" height="225" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--234" value="metadata-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
-          <mxGeometry x="30" y="79" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--235" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--349" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="103" as="sourcePoint" />
-            <mxPoint x="220" y="49" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="103" />
-              <mxPoint x="195" y="49" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--236" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
-          <mxGeometry x="120" y="79" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--240" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--349" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="98" as="sourcePoint" />
-            <mxPoint x="249" y="42" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--241" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--349" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="109" as="sourcePoint" />
-            <mxPoint x="252" y="159" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--239" value="metadata-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
-          <mxGeometry x="307" y="79" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--237" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
-          <mxGeometry x="220" y="133" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--238" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
-          <mxGeometry x="220" y="25" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--347" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--349" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="78" y="103" as="sourcePoint" />
-            <mxPoint x="122" y="103" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--348" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--349" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="168" y="103" as="sourcePoint" />
-            <mxPoint x="221" y="157" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="196" y="103" />
-              <mxPoint x="196" y="157" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--356" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--276" target="uhuFqILdIqehBGa5AEh--242" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--357" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=0.995;entryY=0.63;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;jumpStyle=arc;" parent="1" source="uhuFqILdIqehBGa5AEh--67" target="uhuFqILdIqehBGa5AEh--242" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="uhuFqILdIqehBGa5AEh--358" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.005;entryY=0.63;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;jumpStyle=arc;" parent="1" source="uhuFqILdIqehBGa5AEh--21" target="uhuFqILdIqehBGa5AEh--242" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="XQle7S94-AV5mvv9U2em-1" value="&lt;b&gt;Cluster&lt;/b&gt; aks-dbrepo (Kubernetes 1.24.10, Standard_B4ms 4vCPUs 16GB RAM)&lt;br&gt;&lt;b&gt;ResourceGroup&lt;/b&gt; dbrepo" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
-          <mxGeometry x="-2320" y="11" width="590" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="43mXpWcvjyxaWf1V1qYn-1" value="Namespace" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ns;fontStyle=2" parent="1" vertex="1">
-          <mxGeometry x="-86" y="29" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="43mXpWcvjyxaWf1V1qYn-2" value="&lt;i&gt;Ingress&lt;/i&gt;" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="1" vertex="1">
-          <mxGeometry x="-86" y="139" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="43mXpWcvjyxaWf1V1qYn-3" value="Deployment" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;fontStyle=2" parent="1" vertex="1">
-          <mxGeometry x="-86" y="249" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="43mXpWcvjyxaWf1V1qYn-4" value="Service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc;flipH=0;fontStyle=2" parent="1" vertex="1">
-          <mxGeometry x="-86" y="360" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="43mXpWcvjyxaWf1V1qYn-5" value="Pod" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod;flipH=0;fontStyle=2" parent="1" vertex="1">
-          <mxGeometry x="-86" y="470" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="43mXpWcvjyxaWf1V1qYn-7" value="Persistent Volume&lt;br&gt;Claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc;fontStyle=2" parent="1" vertex="1">
-          <mxGeometry x="-86" y="580" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="43mXpWcvjyxaWf1V1qYn-8" value="Secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret;fontStyle=2" parent="1" vertex="1">
-          <mxGeometry x="-86" y="690" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="RQzdi1eE1gEFqANnGBYO-1" value="&lt;b&gt;Helm Charts&lt;/b&gt;&lt;br&gt;&lt;br&gt;dbrepo.azurecr.io/helm/dbrepo-core (generic open-source)&lt;br&gt;dbrepo.azure.io/helm/dbrepo-azure (uses dbrepo-core for Azure specific deployment)&lt;br&gt;&lt;br&gt;&lt;b&gt;Docker Images&lt;/b&gt;&lt;br&gt;&lt;br&gt;dbrepo.azurecr.io/dbrepo/* (placeholder for service names)" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
-          <mxGeometry x="-460" y="1460" width="430" height="148.5" as="geometry" />
-        </mxCell>
-        <mxCell id="ZitV3d0DDrJxuNcBGxlc-1" value="dbrepo.azurecr.io&#xa;(Standard)" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://sysadminas.eu/assets/images/post16/ACR.png;" parent="1" vertex="1">
-          <mxGeometry x="-136.76999999999998" y="1341.5" width="89.53" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="ZitV3d0DDrJxuNcBGxlc-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="ZitV3d0DDrJxuNcBGxlc-4" target="ZitV3d0DDrJxuNcBGxlc-1" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="ZitV3d0DDrJxuNcBGxlc-3" value="Images, Helm Charts" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ZitV3d0DDrJxuNcBGxlc-2" vertex="1" connectable="0">
-          <mxGeometry x="0.2037" y="-1" relative="1" as="geometry">
-            <mxPoint x="-28" y="-1" as="offset" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="ZitV3d0DDrJxuNcBGxlc-4" value="gitlab.phaidra.org&#xa;(Sourcecode, CI/CD)" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAAQQAAAA9CAYAAABLChfbAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAAldEVYdENyZWF0aW9uIFRpbWUARnIgMTEgQXVnIDIwMjMgMTM6MTU6NDTPh1bqAAAboUlEQVR4nO2deXwTZf7HP0naHDRNQtM2tKWUutACPUBBRLYI6nJ0cUUEF36CInhSUTxwFRBBFLorrCsrFkUOXQE5ihyLSFsQsaXYWhB6AK1HuVqalkCSTkjSJjO/P9KUppmZJJOkx5r369U/mmfmmW+SyWee7/f5fp+HR1EUhQABAgQAwO9sAwIECNB1CAhCgAABWgkIQoAAAVoJCEKAAAFa8VgQLHU1qMuYhrqMabD+dtYfNnmEsbgAtVNG4to7r4E0GjrbnAABujU8T2cZ6jKmoan0hO1koQSx31b6xTB3sNTVoGZsb/AjEkARDZDOXoiwua91mj0BAnR3PBohWOpqYM7fCZ5YCp5YCopogLG4wF+2uYTI2Q+epCfAF4AnjYBh9+bAKCFAAC/wSBD0e7aBJ4+99YJQCkPOPl/b5Damou/Ak0bY/uELQOnrcLOosNPs6eqUlVWgrKwCBBEQzQD0eCQIxOZM8MTS1v95QgmMx77ulKeypa4GTSV5AF9w60WhFIb9X3a4LV2dj9d9Ch6Ph9TUZKSmJiM0VIp3l2d2tlkBuiBB7h5I6xq0PJXNZT9BMjzNl3a5hMjZDwilDq/xxFKY8jbDei0TgnBVh9rjDgRhgNVigcFwE41EI5qamqEMC0NISA8AgFwh9/k1X3j+JazNWoMIRRz4Apv+k1YSS5YuwoWLF7Fh48c+v2aA7ovbQUX1K3NgLj7sMEIAAMpEoMfDTyH8lbf8YiATdRnT0Hz+tOMIocUe2dMLoZg1t0PtYaKsrALHCwpRUnISJcWncaa8iOFIJSam34MRI+7EpMkPIj6+L6TSEK+vnZqaDJUynrZdralGQX4h/ph2t1fX4QLbCMVkMiPj+WcRHRPVgRZ1Hv9cvQbGmzdp20wmM95Y9JrX94K7uCUI1mtq1Dx0p5MYAABIKwQ9lei1JQ98SccYbamrQe2DKeDJetHaA74AsYc7b0qUIAzI3vUV1n+8CSeKvwMggQihEImDIAkR0Z5DWkmYTc3QmwgAegxKGIrJUx7AY7MeRWJiAic7Pl73KeZmzIdKSfM5AVBrNFi9ajleXTCfU//ewOOxjYb0OH++kvP77m7E9hqAK+pLAIJpWvXQ3tD6ZfRIh1suA3E0B2giADpB4AtguXweTVXnIB48zNf20WLIP8Lc2OLGmM6UdJg9bdm9ey9eev4NXFFXQyYOZ3w6t4cv4EMSImoRDCUa6q9hRea/sCLzbczLmI/Mf6zg+JSwsrYyPZn8Tbi8JwBAEOQcxlJr9B1tTqcik0sRborsEp+FW4Jg2Lv1VjSfDqEUxJGDHScIbtjTmP2fDhUEnVaH9PEP4UTxdwiXx0GljPGqP76AD5VSCdLaE2uzNmNt1noU5B/xaHj/x7SRAJpYjtDj3vvGuOwnL/cwGho0EImdRzdmkxkTJ07osCdYAP/iUhBMZ0pg+flH+uF5CzyhBE3HD4Gc+6rf3QZLXQ2aS3PBVw1ktcd0PAfWa+oOCS7afPXREEHg9ojAXW4JA4m0USOxLms9npv7tFvnpqQkYfHCpViR+bZTULFBexHzMua7JTAbPv0cO7O3MLaXlpYjJSAI/xO4nHYkjhx0iuY79yJAc9UJNFWd85VdjBjyj9iSkVzYQxENNlfHzxwvOIHU1DshE4ugUPpPDG3CEI+5Gc94NGX47splWL3qA1CULYio1lSDooB33l6JDz/6wK0+QmUhECESKmW80x8g4fiOAnRFWEcIpNEA48Ht4Aldf+k8eSxuFh71+zDdpbtgt0caAePRryF/5HG/2VJWVoG0URMQLqf3/9pieyrfAMDkE0ogE/dkDDraUSnjsWTpIvSO7Y0nZj/mlp2vLpiPZ597CnqdHo1EI2JiYjosah2ge8F6F98sKgSlr3Oa2qODJ5SA2Pqhzwyjw1JXA8vPP7plD/gCNJXk+a0AiyAMGHvvXyATS1nFgLSSUGuqYTY1452330BBfiHOn6+E9oYWFEVBe0OL0tJybN70CW4flgS1phpaDXuil0oZj9lzHkdlZZXb9kqlIYiOiUJiYkJADAIwwioIxM4Nbj2NbT0JQOkuw3SmxBd20cI6u0CHUApdztd+sWXh64uh1mhYn+jXNQREIjGys/dAZ6zBm28txB/T7kZiYkJrEE6ukCMlJQlPzH4M3+XnouZKLSZNHQe1ppr1+jJxNGY//qxP31OAAIyCYC9kcutp3AJPHmuLOfgJd92FVnuEEr8UPJWVVWBt1hqolErGY9QaDcalp6Ho5FFMmfKQ231Hx0Rhx64vsC5rPasoSEJEOFH8HXbv3uuR7QECsMEoCETOfsdCJjfgCSUwHtzutVF0WOpqYLl4ziOBapta7UteyHgZMnE0Y7tao8fE9Ptx4OBXnLPtnpv7tEtRkImj8eEHWZz69yVCIV1CTYDuCGNQUf9pplvBRAf4AlAmArovN0MQ1dtb2xwwnTrB7UShFPrtm3xWa3G84ASOFeQxTi8aDWYMTu6HAwe/8vpaz819GiUlJ7FxUzZUSplTuyREhGMFeSgrq0BKShKjvWy0n3asrKzCtQaNw2t1V+shEjPdKj1wsuQnp3OY+u9u1NZcRUVFBUpLK3Du3Dk06g0wGGwjzl5RkRg4cCBSU5OQlJTU4anWbdPiG/U2myIjlRg6bCj69+/H6bOn/ZaNxQXMmYku4Iml0H201Ha+LxFK6VOn3bDHlwVP/16TBREiGdv1plp8sS3X6+vYWb58KTZuygZpJVvzCByRYd+e/YyCkDZqJEvvMmhvXHJIKtq1YzeWLF3keJQ4mjFWolLKMGPmM6CbPRmcfBcKThzpdkFMgjBg/74DeO/v/2pTeyJDMETgg9cqjmaTBWZ8Cft7H5QwFK+9MR9TH3nYr+/5eMEJPPPkCzhbdRKABMGQgg+ezSZYAawHYAQAzMuYj4WLXndbrGgFQb99k+vcAxZ4YiknMfEXPHksiLyDkP/fbK/6qa25ikMHvoVMQT9yUms0WLxwKeOPkwvRMVGYlzETa7PWIBj08ZODX+fizbcWMvSgRIRC6iQmpJWESCR2OlrSowcAGWt8pD22Yx2PNxrMUCicRzVdnW1bd2DOzBdhRj1k4mjWRDObSIbA/t7r1dcwe87jmD3ncWzdsh2Pzpjmc/veXZ6JJUsXubDN9rmTVhJrs7ZgbdYarF71gVs1K06CYL2mtlU1euoudGF4Qgn0G1d5LQhlZeXQm2qhCnH+IkgrCRHEyHje95H/eS9mwGgyQSJ2/gEDgNFkAkEYut2TuCuh0+rwzNPzsDN7S0tWp+cZp4IgW/IYaSUxY+Z07Nt7ADt2feEzG+2l7J7Ux6iUMpBWKRa89hKKi0qwcfPHrPeJkyAQeQc5uwtdFh8VPB3479do/yS0o9caMWnqOL/4kYmJCYF1C/wIQRha6lBO+ST13J5VujN7J0KfDPH6uxMEBeGzzV94JAb09uwGAFaRchIE6dltkI6IAGCFqZEHnZoHaxPPYyO6AgIhBbmKgjiUAiwSkDkfAoM/59QXQRhQVnoWMpoCHwAwox5/nT7FG3O7EHoYDbceCCJxMEP8wobRYHbuwWRGU1OzX6zzNU/Ofq5FDJjdJKPB3FqafgsZZGIpS3wlBhs3fYJhw4a6XX/ijBLV1Rcwe848RCjiWl8lrSQoCmgy2z5joSjYZbasStkLO7O3IGX5IEYX00EQLHU14NUeBkJsdejiUNuPydTIg9kAGK53j20cQsJIyHu1W+YhSApeXSlIo4FTAZZep8exggJEKJgCihIkJw/y3NguhlIZhtFpYyENvSUI1b9eQkP9NVpRsFpI3D4syeF4O72iIru8G/PZ5i+wM3sL66yR3lSL0Wlj8ZdJE5GcPAhSqRQ3bxpQWlqB3bv24kRxISIUUbSfT4QiDnMzFuDBBx/gNHpUKWWYPnUWIhQ9wRfwYbWQuKa7ASAYg5P7oXesbfr7yuVanCk/ByCYdkbqVn+21Pd77xtDOwvhsECKNX8P8NnDrYLQnq4+YqAVgrYYqoDFFRDc5vkPt7KyCgMGJNLeOKSVhF5rhIlSe9yvv+HxwlmDiuXni1yWLj/15HPYsmkPbfGWWlOH8+dPe7yYSYSiLwCm9RCqO2SBFIIwIDRU6lAJ6miHHncPT8Gqf65kncLbtnUHZsyczbIQTQ3WZa1lHCUkJQ5Dvfoa4xPePsNkNJghFAXjjTdfxgN/SXf6fCorq/DF59uwIjOTUaAAm8glpSagsOioU5vDGeTlnwERc8KNOJSCqh+JsFiS8ZjOQCCkEBbrQgy85EL1RcY2igIGJPu27Lk70V1cg/bs33cAAGA2NYO0Ot7TWo0BE9PvQe6RAy7n8x+dMQ2rV2VCraHPxRBBgaPffs/ZTrsY9O4ThYKiXLy6YD6tWCYmJuDdlctw6JsDaNASTu/Jjj3LlS5HxVFCDNfdMlAcSiF6kBUCYefvJB8SRkLVj7TFCdyAd6OO03WuXq0DU6lvo86IxAH9OfUboPMQiUWYlzEftw9LQoP2Ymt5uFpTDTOsWP/pR267PLYpPfpKVplCgm/z8r1a/l5vqsVX+7e5NWoaP2EsDn3zJRq0zA+xYERg82bneJpjUDEkzCMjVf1I6Op4nRZbCIt1XwjsUD2ZF3phw2QysbZHRro/b9+W2pqrnM5rT0hIj8CqRR4yZcpDDnUmOq0O5eVnUae2uX6e+vyj08bip5IKpyAjX8CHWlMNq8XCyU6by7HeIxdq/ISxmJcxH2uzttDGFBSKHjiwLxe6f+oc7htHQWCJJDMh70VBFELi+uWOEwWB0Oa6dDz0OfskuI+Upj78aMtCrN7hbuJJAGbkCrlXqdb9Em7DDwVnGGcd6tRqj0XbNuwP5TRLMe/FDKzN2kyb5WoXqfLysw7v2UEQrAPGgJ/7GhDkWTDH7kKof+H7PeDoMnDIBkt8xD3ofWU+eDC6GEEwEabsyZoa7A5qjaZ1b4cAnceJghLGLFaAW6ylQUvgnbdf5WRPYmICJqbfj/yjRQz3lww//FDsIAgOshGk8i6pRtWPREiY/57c3gYOKXEkpxkGABAzZAkCgEgc1FpcEuD3hU6rw/GCE5j2yGM4W3WBNV+DGxrcNeJOzmdPfWQy9KYbtG3BEOFCtWM1rcMIIahXDJr6TIJA/SMQxC1T0R8uhE9cBAsBKmUy59OFQiHYljS/fOkK574DdG1qa66iuvoCbt40oKFBg7MV5/Dzz7+i8vzPqLtaD7WmumXNSf/UbiQlca+N6d+/H+yFTu2RiINRXX3J4TWnTEXBfbOAz/Z57Da0xZcuhFcuQlvMteDfz319xbi4PmBa0lwkDsZvvzJHdAN0L/JyD6Pohx9xOO8ojhXktWsVAgiFTCyCUBQMHg8+X2nbDmklES6Pg0zOXWjCI5iD3SJxMKp/veRQB+MkCLxh40Dt8k1CiLezEFxmEWixELD2mQQhR3cBAOLj+7K2qzV61NZc9TgyTTQS0JtqoTexfenBkIlFLHGG7pkH0JXQaXX48sudWLJwBa7pLsKeluyvH7s7UBQQE8ttVsxOLxV7yX+9+prD/06CwJeEwPrI31kzFj2BiwvhUIPgC8y1EDy20qsuQkJ6QCaOZozYAhpUV1/wWBC2bXevtiI39zBmz5nHmG/PFuMIwM6t3bYqEaGI4yQCthRns0/dBh4PaG7iNlVph21WwzbTUOcwHUr7KxWMmgxrn0mAxTeLnHiSyORpopFLDFUgx63iHEy0I1fIMereu2A2MT2NbRFbT4mOiXLrL1QWCoBpJsPY0h7AU95dnompUyfDZDJBpYx3GRQkrSSMBjPUGj3UmrrWRKak1ASsXrXE51uv6XXe/QbZkqFsU5rBEATdGhcwvvugv20FJY70mSgArmchfJ5+bCFAJj6O4GkLfNLdkCGp0JucK/sAQCaWYvcu/y14+tPJ0wCYf/SuhoYBnNm9ey+WLF0ElTKetY5AqzG0/vAbtBcR3y8WixfOw+ZNn6AgvxCNjQQKi47iqaeeAECfvsyVBvUNzglNgK0ojw37Hpt2GNdU5EtCQC06BKyZCWjOcp51aA+dC+GXRCNDFcgh8xD8gu/2ikj/83isyHwb9hVp2tI2P9wf6wh+vmk7wuXM38H/QqVlR0IQBsyY+qxDSXF77G7Ak3Om4pFHpiAlJZnVJTQYfLtxLl/Ahxn1MBhucs5Cra6+wNhGF6NgHR8JwlXgLdoLcuDDtkpBH9HWhfCbGIxb5VMxAGw/ut6qRMaiEREi8e81vl8FubKyClfUlbRPMaPBjLuHjwmkLXtITk4ezKhndBGuawgkpSbg/PlCbNj4McZPGNvhi6jaKSsr53yuLQ1bSNvWZG5G4oD+DvUaLiN9fEmI7Yf1xFc+FQUACB9FInyUD8Wgxb3hZRzxmZvQFrlCjoemTECDlt6NUihDsDN7C3IOtZ+q8o5V773PuJ6i3mTGffeP9un1fg98c/AQ42K5VguJQcm34ZucvX4vwXaNEj8Wc9/8aOf23RBBQdumN5nRv/8fHF5zO/QvGDUZWFwBKqiHT+IKZCIgiLX9kYledwcYqmBV3Qm89T34Q+/zQYf0PPPc02DzEyMUcZiQ/n8+K1ravXsvNm76BGFKJndBg/Q/j/fJtX5P/FL1G+PS8td09Xjplec9HnVprrtXLewJEQopli/9F6dza2uuYl92Lks6tQaDkhx3UfcoQUBw2yAEvf+TVy6EVQRgOMBv81nz5QCZ2tLGhRYXQbh0r9+3f09JScJfp85k3H+RL+BDJhYhpvcAr0WhrKwCU6fOQric3s81GswYnTa2k/c+YM7e7L4YMXTYHR6fdbygEL7eDZsv4KMZDdi2dYfH527a+BnMMLHOnIwZc4/j9Ty+CnDLhbAQHo0WrFGAYDB9G19sa7N64qa1XLv5xR/94iIwsfzdJTCjnrFdEiKCTCxFTO8UlxulMLFt6w6kpiYjXN6TMQKuN9XihZcyOPXvO5pcRrK7I3VXPRfz119ZxrLEHnciFHGYMXO6Rw+YsrIKLFm6DBGKnrTtRoMZE9MnO8VFOBccCEZNBhbkAcpBbomC3UVw2a+7LoShCmTfPwFvfe/3Lejbk5iYgHfeXuly78VwuRRpo0bihedfQllZhct+CcLQWigzY+Z0RCjiGMXAPjrwZN9IrkjEYpYSbyW+OZjjdxt8Dd0akLdQ4th3BR719+aiZdCbCD8UN9lGCSJE4tHps6DT6lweX1lZhelTZ0EmDme0R2+qpd03wmFNRS6QRgOsW94B/4d/0GY2WkXMowLWfk0AVQkI6Kb97bMIHTgqaA9BGDDu/gdwqvgs7VqDbbmuIdCMBoxOG4u0USNx+9AhrXkDdWo1LlRfxLlz51BSfBpnyosgQqTLPtWaapSWlrvcFMYXayq+uWgZVmSupc3CI60kGrQEtm75CA9OeqA1Yu1qnwj2NRU1WL1qOaKivEvbtdPU1IQnZj/m8JptjwP6xUPsa2Qeyd/rljtm2zxlGVTKGMZj2L4vV2sq2rmuITAo+Tb8Y9U7GD9hLO0x27buwPznX0eTuZkx1d1qISEWi3Hul5NO35HXgtB6EfsCraLo1pwFa5R7owLWfi8DAvtIyUIA5lrOC6X6mtqaq+jbezAk4mC31jOwz2s7BiWFAMQQQYxQucTlTQHYbi53dwbyhSDkHMrDhPRxjCm9NlGoR29VH/yhfx80NTXjRHERSkt/ZBQsNkEA0LI+Ibc1JpxpQmMj4XDz5+UexrjxYxnfk31143VZqzHzsUdpxS0v9zCWLlmBE8VFUCl7sWy3x10Q7J+tfQFX2z10DYMSUnDfn9LQNz4eN67fwOnTpThz6iyuqKtZF1i127J503+cRBLwoSAAtl2fqJUTwDPVg0ySOgQOvYHUAfxTVSATH4fghSxOy6j7i8rKKoz+4wRoNQaXT3Vvsd0cFz1aHckXgqDT6tCv72DweGC90Ugr2ZrarTddw+pV7zHa6UoQfIlaU+0kCARhQL++KbBaSNYsxQZtPQAjBiffhd6x0SAaCfz68yVcUVcCuLXvpX0RVKbl6rkIAmklEd27F/72xsuYMXO6g3hZLSR0uptohhn24jdX+2cAtlHGyLQh+C6ffv9Rn34bgnCVbRZi4hPg9/BdzgK/RxXIJzYg+G+fdykxAGzxhFNnjuOO4YOg1tT47TpGgxkN2otYl7W+w5dKkyvkeOPNl1kX7QRsYiEJsVVliqDAuXPnOshCz5FKQ/DRJ++3VDbSY9vxqBdUynhU/3IZ+UeL8FNJBcxmW92DShnfKgZJqQl4f00mGrS+mW6209xkwaMzpuHJOc86rOosCOIjTCmFSqmESimDJETkUgy0GgNUqjDs++8uxmP8Is/BE1eAuuMroNl7USBNAMb8gOBRT3pvmJ+IjolCYdFRLF64EGpNNe1ORlwhrSTUmhrI5KEoyC/0Ygcg73h1wXzcPXwMrmvcm1UKlUtQUnzaq5WG/c2UKQ9hXsZ81uCwHbvQtf/h2Xd0yv5qW8sr9GtmcEWvI0AQBmzY+DEGJw/kXDyl1ujxh4RYFJ08yl4BydVQVwQNngwq/QpIfgw3YWiuAtnjbghmnIIg/i7fG+gH3l25DAX5hbh9WFJLMYyeMc3ZFVaLTQhsLsJ7OPfLyU7ONwC+ydmL/gl9oNZUu3xfgiA+zpQXdfkpyQ8/+gCLFy7lJORqjQZCUTBKSwsRHRMFwuB78ZO1qV85lp+D0Wl3uCVgdmz3UTUmpt+DvG//6zr9muoAmnbPoiybQFm+SHDvbxOopu83dIRpfqO0tJxavHApBcgoABQgo0SIpGTiaCpcHuf0JxNHU4Cy5VhQ4fI4al3WeqqxkfDKDnt/9H8ySntD61F/jY0EtXrVBxQgoQBQwYigZOJohz8RIlvfd3b2Hg52+f7P1edYkF9IDUoY2nK8kpKJo6kIRZzDX7g8ruW9CSkA1LyM+Q79ZmfvYbWhtLSc9trh8jjGc0SIdLLddl/dam9/T7W9l8LlcVRuTp7b369Pg4psWM7sAe/Uw0Awe244aQL49/+n24wK3KGsrAK5OYdRXFSCy5euQKdtdGgPFgahd2w0hgxJxe1DhyAhob/L6UR3yTmUBz6feRm7seP+xLnvvNzD2LEjG3VX63FdY1vIM0zZE72iIjFw4ECMGDEcg4ekMkboOwqSpBin6dpzvOAEvjmYg2+PHMPli1db9+MQi8VQRiiQOKA/Jj30AMaMucfpaVtbcxVlZeW0nzdJUhgxYjjtcN3VZ0H3Hem0Ohw+chQ7t+/G5UtXcPOmsXUxlYjIMKSNGon0P4/3eFTZYYIAANbfzoL8YR745qPOwtBcBVI+C4L0j7pc4NDXtPeru/qGqL9XdFpda0lzd9gIx35feXM/daggAC2JTN+uBL9+5S1RaK4C2W9Dlw4cBgjwe6DDBcGO3YUgRfeCf3fm/5SLECBAd6XTBCFAgABdj/8HaTLFvi3/FOQAAAAASUVORK5CYII=;" parent="1" vertex="1">
-          <mxGeometry x="-460" y="1349.5" width="132.13" height="31" as="geometry" />
-        </mxCell>
-      </root>
-    </mxGraphModel>
-  </diagram>
-  <diagram name="kubernetes-core" id="zCL3C3PTpr-oPp3sT7_2">
-    <mxGraphModel dx="3772" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="1654" math="0" shadow="0">
-      <root>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-0" />
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-1" parent="9zPUeIaJexzoN4Df6JNy-0" />
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-2" value="" style="rounded=1;whiteSpace=wrap;html=1;arcSize=1;fillColor=none;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-2024" y="90" width="1680" height="1480" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-4" value="Researcher" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-2150" y="967" width="30" height="60" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-5" value="dbrepo" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ns" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-1984" y="66" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-6" value="dbrepo-shared-claim&lt;br&gt;(ReadWriteMany)" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-914" y="790" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-7" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-1890" y="1200" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-8" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
-          <mxGeometry width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-9" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-7" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="99" as="sourcePoint" />
-            <mxPoint x="121" y="99" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-10" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-7" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="153" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="153" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-11" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
-          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-12" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-7" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="45" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="45" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-13" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
-          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-14" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-7" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="94" as="sourcePoint" />
-            <mxPoint x="249" y="38" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-15" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-7" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="105" as="sourcePoint" />
-            <mxPoint x="252" y="155" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-16" value="broker-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
-          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-17" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
-          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-18" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
-          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-19" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-1890" y="690" width="390" height="110" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-20" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-19" vertex="1">
-          <mxGeometry width="390" height="110" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-21" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-19" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="39" as="sourcePoint" />
-            <mxPoint x="121" y="39" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="9zPUeIaJexzoN4Df6JNy-19" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="212" y="39" as="targetPoint" />
-            <mxPoint x="122" y="39" as="sourcePoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-23" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-19" vertex="1">
-          <mxGeometry x="120" y="15" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-24" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;exitX=0.44;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="9zPUeIaJexzoN4Df6JNy-19" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="326" y="39" as="sourcePoint" />
-            <mxPoint x="257" y="39" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-25" value="search-sync-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-19" vertex="1">
-          <mxGeometry x="307" y="15" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-26" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-19" vertex="1">
-          <mxGeometry x="210" y="15" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-27" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=cronjob" parent="9zPUeIaJexzoN4Df6JNy-19" vertex="1">
-          <mxGeometry x="30" y="15" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-28" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-1384" y="120" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-29" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
-          <mxGeometry width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-30" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-28" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="99" as="sourcePoint" />
-            <mxPoint x="121" y="99" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-31" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-28" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="153" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="153" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-32" value="upload-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
-          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-33" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-28" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="45" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="45" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-34" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
-          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-35" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-28" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="94" as="sourcePoint" />
-            <mxPoint x="249" y="38" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-36" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-28" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="105" as="sourcePoint" />
-            <mxPoint x="252" y="155" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-37" value="upload-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
-          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-38" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
-          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-39" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
-          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-40" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-778" y="877" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-41" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
-          <mxGeometry width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-42" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-40" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="99" as="sourcePoint" />
-            <mxPoint x="121" y="99" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-43" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-40" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="153" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="153" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-44" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
-          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-45" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-40" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="45" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="45" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-46" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
-          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-47" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-40" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="94" as="sourcePoint" />
-            <mxPoint x="249" y="38" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-48" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-40" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="105" as="sourcePoint" />
-            <mxPoint x="252" y="155" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-49" value="auth-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
-          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-50" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
-          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-51" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
-          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-52" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-1890" y="434" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-53" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
-          <mxGeometry width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-54" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-52" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="99" as="sourcePoint" />
-            <mxPoint x="121" y="99" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-55" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-52" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="153" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="153" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-56" value="semantic-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
-          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-57" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-52" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="45" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="45" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-58" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
-          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-59" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-52" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="94" as="sourcePoint" />
-            <mxPoint x="249" y="38" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-60" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-52" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="105" as="sourcePoint" />
-            <mxPoint x="252" y="155" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-61" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
-          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-62" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
-          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-63" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
-          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-64" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-1890" y="877" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-65" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
-          <mxGeometry y="1" width="390" height="221" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-66" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-64" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="99" as="sourcePoint" />
-            <mxPoint x="121" y="99" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-67" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-64" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="153" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="153" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-68" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
-          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-69" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-64" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="99" as="sourcePoint" />
-            <mxPoint x="220" y="45" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="99" />
-              <mxPoint x="195" y="45" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-70" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
-          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-71" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-64" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="94" as="sourcePoint" />
-            <mxPoint x="249" y="38" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-72" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-64" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="105" as="sourcePoint" />
-            <mxPoint x="252" y="155" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-73" value="ui-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
-          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-74" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;ui&lt;/span&gt;" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
-          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-75" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
-          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-76" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-779" y="1200" width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-77" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
-          <mxGeometry width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-78" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
-          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-79" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="210" as="sourcePoint" />
-            <mxPoint x="121" y="210" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-80" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="264" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="264" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-81" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="79" y="47" as="sourcePoint" />
-            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-82" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="47" as="sourcePoint" />
-            <mxPoint x="222" y="47" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-83" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
-          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-84" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
-          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-85" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="156" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="156" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-86" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-76" source="9zPUeIaJexzoN4Df6JNy-87" target="9zPUeIaJexzoN4Df6JNy-83" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-87" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
-          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-88" value="data-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
-          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-89" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
-            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-90" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="325" y="145" as="sourcePoint" />
-            <mxPoint x="245" y="48" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-91" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="323" y="156" as="sourcePoint" />
-            <mxPoint x="252" y="156" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-92" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="320" y="173" as="sourcePoint" />
-            <mxPoint x="248" y="265" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-93" value="data-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
-          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-94" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
-          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-95" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
-          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-96" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
-          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-97" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-1384" y="1200" width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-98" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
-          <mxGeometry width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-99" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="210" as="sourcePoint" />
-            <mxPoint x="121" y="210" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-100" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="264" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="264" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-101" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
-          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-102" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="156" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="156" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-103" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
-          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-104" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="320" y="56" as="sourcePoint" />
-            <mxPoint x="252" y="156" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-105" value="search-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
-          <mxGeometry x="307" y="133" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-106" value="search-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
-          <mxGeometry x="307" y="240" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-107" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="268" y="264.0999999999999" as="sourcePoint" />
-            <mxPoint x="308" y="263.8599999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-108" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="268" y="156.0999999999999" as="sourcePoint" />
-            <mxPoint x="308" y="155.8599999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-109" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
-          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-110" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;jumpStyle=none;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="319" y="58" as="sourcePoint" />
-            <mxPoint x="248" y="265" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-111" value="search-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
-          <mxGeometry x="307" y="25" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-112" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
-          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-113" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-1384" y="441" width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-114" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
-          <mxGeometry width="390" height="330" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-115" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
-          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-116" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="210" as="sourcePoint" />
-            <mxPoint x="121" y="210" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-117" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="264" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="264" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-118" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="79" y="47" as="sourcePoint" />
-            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-119" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="47" as="sourcePoint" />
-            <mxPoint x="222" y="47" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-120" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
-          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-121" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="9zPUeIaJexzoN4Df6JNy-113" source="9zPUeIaJexzoN4Df6JNy-115" target="9zPUeIaJexzoN4Df6JNy-120" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-122" value="metadata-db-&lt;br&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
-          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-123" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="156" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="156" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-124" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-113" source="9zPUeIaJexzoN4Df6JNy-125" target="9zPUeIaJexzoN4Df6JNy-120" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-125" value="metadata-db-&lt;br&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
-          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-126" value="metadata-db-&lt;br&gt;claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
-          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-127" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
-            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-128" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="325" y="145" as="sourcePoint" />
-            <mxPoint x="245" y="48" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-129" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="323" y="156" as="sourcePoint" />
-            <mxPoint x="252" y="156" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-130" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="320" y="173" as="sourcePoint" />
-            <mxPoint x="248" y="265" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-131" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
-          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-132" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
-          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-133" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
-          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-134" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
-          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-135" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-2069" y="812" width="90" height="370" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-136" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-135" vertex="1">
-          <mxGeometry width="90" height="370" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-137" value="ingress" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="9zPUeIaJexzoN4Df6JNy-135" vertex="1">
-          <mxGeometry x="20" y="18" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-138" value="ingress-pid" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="9zPUeIaJexzoN4Df6JNy-135" vertex="1">
-          <mxGeometry x="20" y="107" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-139" value="ingress-root" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="9zPUeIaJexzoN4Df6JNy-135" vertex="1">
-          <mxGeometry x="20" y="198" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-140" value="ingress-api" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="9zPUeIaJexzoN4Df6JNy-135" vertex="1">
-          <mxGeometry x="20" y="288" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-141" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-778" y="445" width="390" height="326" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-142" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-141" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="237" y="3" as="sourcePoint" />
-            <mxPoint x="281" y="3" as="targetPoint" />
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-44" value="S3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="V1Wl26Vbpgnno5Lb-wtg-38" edge="1">
+          <mxGeometry x="0.0034" relative="1" as="geometry">
+            <mxPoint as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-143" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-141" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="327" y="3" as="sourcePoint" />
-            <mxPoint x="380" y="57" as="targetPoint" />
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="hBEam5F8n4ZBPeoiEcWH-1" edge="1">
+          <mxGeometry relative="1" as="geometry">
             <Array as="points">
-              <mxPoint x="355" y="3" />
-              <mxPoint x="355" y="57" />
+              <mxPoint x="480" y="346" />
+              <mxPoint x="538" y="346" />
+              <mxPoint x="538" y="540" />
+              <mxPoint x="625" y="540" />
             </Array>
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-144" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-141" vertex="1" connectable="0">
-          <mxGeometry width="390" height="326" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-145" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
-          <mxGeometry width="390" height="326" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-146" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
-          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-147" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="77" y="210" as="sourcePoint" />
-            <mxPoint x="121" y="210" as="targetPoint" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-18" value="HTTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" parent="V1Wl26Vbpgnno5Lb-wtg-45" vertex="1" connectable="0">
+          <mxGeometry x="-0.7352" y="1" relative="1" as="geometry">
+            <mxPoint as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-148" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="264" as="targetPoint" />
+        <mxCell id="CohMdi7D_fRk0dSxzjYi-1" value="Gateway Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="382.5" y="278" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="iy0HhJzZLXsiPmpU2ukH-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;jumpStyle=arc;" parent="1" source="13tBXMPt0xomx7MP2VuM-1" target="V1Wl26Vbpgnno5Lb-wtg-38" edge="1">
+          <mxGeometry relative="1" as="geometry">
             <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="264" />
+              <mxPoint x="526" y="394" />
+              <mxPoint x="526" y="335" />
+              <mxPoint x="625" y="335" />
             </Array>
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-149" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="79" y="47" as="sourcePoint" />
-            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
+        <mxCell id="iy0HhJzZLXsiPmpU2ukH-10" value="S3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="iy0HhJzZLXsiPmpU2ukH-9" vertex="1" connectable="0">
+          <mxGeometry x="0.0562" y="3" relative="1" as="geometry">
+            <mxPoint y="3" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="13tBXMPt0xomx7MP2VuM-1" value="Analyse Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="382.5" y="374" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" source="O_ELZSFbvl3Butg3bv_j-1" target="V1Wl26Vbpgnno5Lb-wtg-36" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="O_ELZSFbvl3Butg3bv_j-1" value="Authentication Service&lt;br&gt;(Keycloak)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="210" y="470" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" target="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="689.9999999999998" y="586" as="sourcePoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-150" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="47" as="sourcePoint" />
-            <mxPoint x="222" y="47" as="targetPoint" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-16" value="JDBC" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" parent="V1Wl26Vbpgnno5Lb-wtg-48" vertex="1" connectable="0">
+          <mxGeometry x="-0.2851" y="-2" relative="1" as="geometry">
+            <mxPoint x="6" y="-2" as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-151" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
-          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
+        <mxCell id="iy0HhJzZLXsiPmpU2ukH-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="hBEam5F8n4ZBPeoiEcWH-1" target="iy0HhJzZLXsiPmpU2ukH-4" edge="1">
+          <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-152" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
-          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
+        <mxCell id="hBEam5F8n4ZBPeoiEcWH-1" value="Metadata Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="560" y="566" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-153" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="210" as="sourcePoint" />
-            <mxPoint x="220" y="156" as="targetPoint" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-15" value="Spring AMQP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;jumpStyle=arc;dashed=1;strokeWidth=1;dashPattern=1 1;fontSize=9;" parent="1" source="AQz-Vj6r_5Wor37pQVs6-1" target="YJRAzF6yD4Hh-bAvO1PB-1" edge="1">
+          <mxGeometry x="0.54" relative="1" as="geometry">
             <Array as="points">
-              <mxPoint x="195" y="210" />
-              <mxPoint x="195" y="156" />
+              <mxPoint x="370" y="394" />
+              <mxPoint x="370" y="540" />
+              <mxPoint x="449" y="540" />
             </Array>
+            <mxPoint as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-154" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-144" source="9zPUeIaJexzoN4Df6JNy-155" target="9zPUeIaJexzoN4Df6JNy-151" edge="1">
+        <mxCell id="AQz-Vj6r_5Wor37pQVs6-1" value="Broker Service&lt;br&gt;(RabbitMQ)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="210" y="374" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-49" value="HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="SsHHCok0RUWS7ODwTELy-4" target="V1Wl26Vbpgnno5Lb-wtg-26" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-155" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
-          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
+        <mxCell id="SsHHCok0RUWS7ODwTELy-4" value="Search Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="560" y="374" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-156" value="auth-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
-          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
+        <mxCell id="S3Av5TdVFqS_SrXukbwN-1" value="UI" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="210" y="278" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-157" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
-            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
-          </mxGeometry>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-26" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="740" y="362" width="50" height="64" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-158" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
           <mxGeometry relative="1" as="geometry">
-            <mxPoint x="325" y="145" as="sourcePoint" />
-            <mxPoint x="245" y="48" as="targetPoint" />
+            <mxPoint x="850" y="586" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-159" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="323" y="156" as="sourcePoint" />
-            <mxPoint x="252" y="156" as="targetPoint" />
-          </mxGeometry>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-32" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="740" y="554" width="50" height="64" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-33" value="metadata-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="722.5" y="618" width="85" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-160" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-34" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="423.5" y="662" width="50" height="64" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-35" value="data-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="407.5" y="724" width="85" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-36" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="250" y="550" width="50" height="64" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-37" value="auth-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="232.5" y="614" width="85" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="iy0HhJzZLXsiPmpU2ukH-8" value="S3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="V1Wl26Vbpgnno5Lb-wtg-38" target="iy0HhJzZLXsiPmpU2ukH-4" edge="1">
           <mxGeometry relative="1" as="geometry">
-            <mxPoint x="320" y="173" as="sourcePoint" />
-            <mxPoint x="248" y="265" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="930" y="298" />
+              <mxPoint x="930" y="694" />
+            </Array>
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-161" value="auth-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
-          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-38" value="Storage Service&lt;br&gt;(minIO)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="560" y="278" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-162" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
-          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-3" value="metadata-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="810.5" y="600" width="108" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-163" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
-          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="850.5" y="572" width="28" height="28" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-164" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
-          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-7" value="search-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="810.5" y="408" width="108" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-165" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-114" target="9zPUeIaJexzoN4Df6JNy-179" edge="1">
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-8" target="V1Wl26Vbpgnno5Lb-wtg-26" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-166" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-41" target="9zPUeIaJexzoN4Df6JNy-145" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-8" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="850.5" y="380" width="28" height="28" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-10" value="data-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="396" y="794" width="108" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-167" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-179" target="9zPUeIaJexzoN4Df6JNy-41" edge="1">
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-11" target="V1Wl26Vbpgnno5Lb-wtg-35" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-168" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;exitX=1;exitY=0.75;exitDx=0;exitDy=0;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-179" target="9zPUeIaJexzoN4Df6JNy-77" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="-934" y="1044" />
-              <mxPoint x="-934" y="1365" />
-            </Array>
-          </mxGeometry>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-11" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="436" y="766" width="28" height="28" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-169" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-179" target="9zPUeIaJexzoN4Df6JNy-98" edge="1">
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-15" target="V1Wl26Vbpgnno5Lb-wtg-37" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-170" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;strokeWidth=3;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-65" target="9zPUeIaJexzoN4Df6JNy-8" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-15" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="261" y="656" width="28" height="28" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-16" value="auth-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="221" y="684" width="108" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-171" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-53" target="9zPUeIaJexzoN4Df6JNy-179" edge="1">
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-2" value="JDBC" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=9;" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-1" target="V1Wl26Vbpgnno5Lb-wtg-34" edge="1">
           <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="-1444" y="600" />
-              <mxPoint x="-1444" y="931" />
-            </Array>
+            <Array as="points" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-172" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-53" target="9zPUeIaJexzoN4Df6JNy-114" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-1" value="Data Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="383.5" y="566" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-173" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;strokeWidth=3;entryX=1;entryY=0.75;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-179" target="9zPUeIaJexzoN4Df6JNy-29" edge="1">
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-12" target="V1Wl26Vbpgnno5Lb-wtg-26" edge="1">
           <mxGeometry relative="1" as="geometry">
-            <mxPoint x="-104" y="400" as="targetPoint" />
             <Array as="points">
-              <mxPoint x="-954" y="931" />
-              <mxPoint x="-954" y="286" />
+              <mxPoint x="765" y="490" />
             </Array>
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-174" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-65" target="9zPUeIaJexzoN4Df6JNy-179" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-175" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;strokeWidth=3;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-20" target="9zPUeIaJexzoN4Df6JNy-179" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="-1454" y="745" />
-              <mxPoint x="-1454" y="988" />
-            </Array>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-17" value="HTTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" parent="YJRAzF6yD4Hh-bAvO1PB-13" vertex="1" connectable="0">
+          <mxGeometry x="0.3792" y="-1" relative="1" as="geometry">
+            <mxPoint as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-176" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;jumpStyle=arc;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-20" target="9zPUeIaJexzoN4Df6JNy-98" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="-1454" y="745" />
-              <mxPoint x="-1454" y="1365" />
-            </Array>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-14" value="JDBC" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=9;" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-12" target="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
+          <mxGeometry x="0.5121" y="-1" relative="1" as="geometry">
+            <mxPoint as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-177" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;jumpStyle=arc;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-8" target="9zPUeIaJexzoN4Df6JNy-179" edge="1">
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-12" value="Mirror Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="560" y="470" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-27" value="search-db" style="text;html=1;strokeColor=none;fillColor=default;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="722.5" y="437" width="85" height="17" as="geometry" />
+        </mxCell>
+        <mxCell id="OiuNRKl362wFz-YGv0-T-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="OiuNRKl362wFz-YGv0-T-7" edge="1">
           <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="-1464" y="1255" />
-              <mxPoint x="-1464" y="1150" />
-              <mxPoint x="-1286" y="1150" />
-            </Array>
+            <mxPoint x="210" y="394" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-178" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
-          <mxGeometry x="-1384" y="875" width="390" height="225" as="geometry" />
+        <mxCell id="OiuNRKl362wFz-YGv0-T-7" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="121" y="380" width="28" height="28" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-179" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
-          <mxGeometry width="390" height="225" as="geometry" />
+        <mxCell id="OiuNRKl362wFz-YGv0-T-8" value="broker-service-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="81" y="408" width="108" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-180" value="metadata-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
-          <mxGeometry x="30" y="79" width="50" height="48" as="geometry" />
+        <mxCell id="iy0HhJzZLXsiPmpU2ukH-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="iy0HhJzZLXsiPmpU2ukH-4" target="V1Wl26Vbpgnno5Lb-wtg-34" edge="1">
+          <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-181" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-178" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="167" y="103" as="sourcePoint" />
-            <mxPoint x="220" y="49" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="195" y="103" />
-              <mxPoint x="195" y="49" />
-            </Array>
-          </mxGeometry>
+        <mxCell id="iy0HhJzZLXsiPmpU2ukH-4" value="Data DB Sidecar" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="560" y="674" width="130" height="40" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram name="Frontend" id="GYXS_N4ymJ7hX3zLKvDC">
+    <mxGraphModel dx="1434" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="583" pageHeight="413" math="0" shadow="0">
+      <root>
+        <mxCell id="ihsuRJ9dWuDPEHVUeUyY-0" />
+        <mxCell id="ihsuRJ9dWuDPEHVUeUyY-1" parent="ihsuRJ9dWuDPEHVUeUyY-0" />
+        <mxCell id="IRxpwOfG2jHF0YoYJLJK-1" value="" style="rounded=1;whiteSpace=wrap;html=1;arcSize=2;fillColor=#dae8fc;strokeColor=#000000;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="17" y="232" width="320" height="136" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-182" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
-          <mxGeometry x="120" y="79" width="50" height="48" as="geometry" />
+        <mxCell id="IRxpwOfG2jHF0YoYJLJK-0" value="" style="rounded=1;whiteSpace=wrap;html=1;arcSize=2;fillColor=#d5e8d4;strokeColor=#000000;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="17" y="20" width="320" height="204" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-183" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-178" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="321" y="98" as="sourcePoint" />
-            <mxPoint x="249" y="42" as="targetPoint" />
-          </mxGeometry>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-0" value="UI" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="187" y="30" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-184" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-178" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="329" y="109" as="sourcePoint" />
-            <mxPoint x="252" y="159" as="targetPoint" />
-          </mxGeometry>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-1" target="kLNLoM7m2o6o68vp3Wb9-0" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-1" value="Vue.js" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="187" y="100" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-185" value="metadata-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
-          <mxGeometry x="307" y="79" width="50" height="48" as="geometry" />
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-3" edge="1">
+          <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-186" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
-          <mxGeometry x="220" y="133" width="50" height="48" as="geometry" />
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-187" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
-          <mxGeometry x="220" y="25" width="50" height="48" as="geometry" />
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-188" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-178" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="78" y="103" as="sourcePoint" />
-            <mxPoint x="122" y="103" as="targetPoint" />
-          </mxGeometry>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-10" edge="1">
+          <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-189" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-178" edge="1">
-          <mxGeometry width="50" height="50" relative="1" as="geometry">
-            <mxPoint x="168" y="103" as="sourcePoint" />
-            <mxPoint x="221" y="157" as="targetPoint" />
-            <Array as="points">
-              <mxPoint x="196" y="103" />
-              <mxPoint x="196" y="157" />
-            </Array>
-          </mxGeometry>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-2" value="Vuex&lt;br&gt;(state)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="187" y="170" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-190" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-29" target="9zPUeIaJexzoN4Df6JNy-6" edge="1">
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-3" target="kLNLoM7m2o6o68vp3Wb9-4" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-3" value="Vuex Persist&lt;br&gt;Plugin" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="27" y="170" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-4" value="Local Storage" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#FFF2CC;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="62" y="60" width="60" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-10" target="kLNLoM7m2o6o68vp3Wb9-12" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-191" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=0.995;entryY=0.63;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;jumpStyle=arc;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-77" target="9zPUeIaJexzoN4Df6JNy-6" edge="1">
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-10" value="Node.js&lt;br&gt;(api client)" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="187" y="248" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-12" target="kLNLoM7m2o6o68vp3Wb9-13" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-192" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.005;entryY=0.63;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;jumpStyle=arc;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-179" target="9zPUeIaJexzoN4Df6JNy-6" edge="1">
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-13" target="kLNLoM7m2o6o68vp3Wb9-18" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-194" value="Namespace" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ns;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-280" y="90" width="50" height="48" as="geometry" />
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-20" value="refresh_token" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="kLNLoM7m2o6o68vp3Wb9-19" vertex="1" connectable="0">
+          <mxGeometry x="0.5604" y="1" relative="1" as="geometry">
+            <mxPoint x="-21" y="34" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-12" value="Axios&lt;br&gt;(+request interceptor)" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="187" y="318" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-195" value="&lt;i&gt;Ingress&lt;/i&gt;" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-280" y="200" width="50" height="48" as="geometry" />
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-13" value="Gateway Service" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B3B3B3;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="437" y="318" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-196" value="Deployment" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-280" y="310" width="50" height="48" as="geometry" />
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-18" value="Authentication Service" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B3B3B3;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="437" y="170" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-197" value="Service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc;flipH=0;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-280" y="421" width="50" height="48" as="geometry" />
+        <mxCell id="4DtipyiVSSVc0IyAwunU-1" value="client-side" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="23" y="27" width="60" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-198" value="Pod" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod;flipH=0;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-280" y="531" width="50" height="48" as="geometry" />
+        <mxCell id="4DtipyiVSSVc0IyAwunU-2" value="server-side&lt;br&gt;(nuxt.js)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="24" y="243" width="64" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-199" value="Persistent Volume&lt;br&gt;Claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-280" y="641" width="50" height="48" as="geometry" />
+        <mxCell id="4DtipyiVSSVc0IyAwunU-4" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Google_Chrome_icon_%28February_2022%29.svg/2048px-Google_Chrome_icon_%28February_2022%29.svg.png;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="88" y="27" width="20" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="9zPUeIaJexzoN4Df6JNy-200" value="Secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
-          <mxGeometry x="-280" y="751" width="50" height="48" as="geometry" />
+        <mxCell id="4DtipyiVSSVc0IyAwunU-6" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Firefox_logo%2C_2019.svg/1200px-Firefox_logo%2C_2019.svg.png;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="113" y="26.599999999999966" width="20" height="20.8" as="geometry" />
         </mxCell>
-        <mxCell id="pu2ujC6uqX3OPgaOAFM2-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="9zPUeIaJexzoN4Df6JNy-1" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="-2070" y="997" as="targetPoint" />
-            <mxPoint x="-2120" y="997" as="sourcePoint" />
-          </mxGeometry>
+        <mxCell id="4DtipyiVSSVc0IyAwunU-7" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Nuxt_logo.svg/2560px-Nuxt_logo.svg.png;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="92" y="243.15999999999997" width="28" height="20.84" as="geometry" />
         </mxCell>
       </root>
     </mxGraphModel>
@@ -2464,6 +605,19 @@
             <mxPoint as="offset" />
           </mxGeometry>
         </mxCell>
+        <mxCell id="8uG5b6AFywpmQrgs9zUp-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="0VJCIkSjTVNNat6pGbHc-3" target="JkB3rZmVi6YrdEwAjtGV-5" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="415" y="340" />
+              <mxPoint x="285" y="340" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="8uG5b6AFywpmQrgs9zUp-2" value="9000/tcp" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="8uG5b6AFywpmQrgs9zUp-1" vertex="1" connectable="0">
+          <mxGeometry x="0.6408" y="-2" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
         <mxCell id="0VJCIkSjTVNNat6pGbHc-3" value="Gateway Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="382.5" y="278" width="130" height="40" as="geometry" />
         </mxCell>
@@ -2477,14 +631,6 @@
             <mxPoint x="600" y="250" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="SPLHNWc1rHttcZ-O3PPf-2" value="&lt;font color=&quot;#b3b3b3&quot;&gt;(not used in&lt;br&gt;the default&lt;br&gt;config)&lt;/font&gt;" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=cross;endFill=0;dashed=1;strokeColor=#B3B3B3;" parent="1" source="0VJCIkSjTVNNat6pGbHc-9" target="JkB3rZmVi6YrdEwAjtGV-5" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="217" y="200" />
-              <mxPoint x="217" y="414" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
         <mxCell id="0VJCIkSjTVNNat6pGbHc-9" value="&lt;b&gt;API&lt;/b&gt;" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
           <mxGeometry x="280" y="170" width="30" height="60" as="geometry" />
         </mxCell>
@@ -2534,30 +680,17 @@
         <mxCell id="0VJCIkSjTVNNat6pGbHc-33" value="Metadata Service&lt;br&gt;(Spring AMQP)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="316" y="480" width="96" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="JkB3rZmVi6YrdEwAjtGV-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.107;entryY=0.991;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="JkB3rZmVi6YrdEwAjtGV-5" target="0VJCIkSjTVNNat6pGbHc-3" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="285" y="330" />
-              <mxPoint x="396" y="330" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="JkB3rZmVi6YrdEwAjtGV-7" value="80/tcp" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="JkB3rZmVi6YrdEwAjtGV-6" vertex="1" connectable="0">
-          <mxGeometry x="-0.5492" y="-2" relative="1" as="geometry">
-            <mxPoint as="offset" />
-          </mxGeometry>
-        </mxCell>
         <mxCell id="SPLHNWc1rHttcZ-O3PPf-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="JkB3rZmVi6YrdEwAjtGV-5" target="0VJCIkSjTVNNat6pGbHc-33" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="JkB3rZmVi6YrdEwAjtGV-5" value="Upload Service&lt;br&gt;(TUS)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+        <mxCell id="JkB3rZmVi6YrdEwAjtGV-5" value="Storage Service&lt;br&gt;(minIO)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="237" y="394" width="96" height="40" as="geometry" />
         </mxCell>
       </root>
     </mxGraphModel>
   </diagram>
   <diagram id="0gRvLy_AUZ0Xau8SBKI8" name="Gitlab Runner">
-    <mxGraphModel dx="735" dy="422" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
+    <mxGraphModel dx="1434" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
       <root>
         <mxCell id="0" />
         <mxCell id="1" parent="0" />
@@ -2658,10 +791,48 @@
         <mxCell id="r9iJ3a_E54lvpWGN0BaG-29" value="•&amp;nbsp;&amp;nbsp;•&amp;nbsp;&amp;nbsp;•&amp;nbsp; •&amp;nbsp;&amp;nbsp;•" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
           <mxGeometry x="734" y="193" width="60" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="vhbaQO3R_VC2zLA3inCI-4" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://miro.medium.com/v2/resize:fit:400/0*KzqL3xqmXzV5PPjX.png;" vertex="1" parent="1">
+        <mxCell id="vhbaQO3R_VC2zLA3inCI-4" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://miro.medium.com/v2/resize:fit:400/0*KzqL3xqmXzV5PPjX.png;" parent="1" vertex="1">
           <mxGeometry x="290" y="50" width="25.78" height="25" as="geometry" />
         </mxCell>
       </root>
     </mxGraphModel>
   </diagram>
+  <diagram id="n3Gsc6DDUkQ8nNTTz0wk" name="data-db">
+    <mxGraphModel dx="819" dy="-180" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1019" pageHeight="650" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="S8wz9ZtwZs3Sd4maCRdY-9" value="shared filesystem&lt;br&gt;/tmp" style="rounded=1;whiteSpace=wrap;html=1;arcSize=3;verticalAlign=bottom;fontStyle=2" vertex="1" parent="1">
+          <mxGeometry x="425" y="840" width="248" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="S8wz9ZtwZs3Sd4maCRdY-11" value="jdbc" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;endArrow=none;endFill=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="S8wz9ZtwZs3Sd4maCRdY-1">
+          <mxGeometry x="0.3769" relative="1" as="geometry">
+            <mxPoint x="472.71428571428555" y="810" as="targetPoint" />
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="S8wz9ZtwZs3Sd4maCRdY-1" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="447.5" y="857" width="50" height="64" as="geometry" />
+        </mxCell>
+        <mxCell id="S8wz9ZtwZs3Sd4maCRdY-2" value="data-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" vertex="1" parent="1">
+          <mxGeometry x="431.5" y="919" width="85" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="S8wz9ZtwZs3Sd4maCRdY-12" value="http" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" edge="1" parent="1" source="S8wz9ZtwZs3Sd4maCRdY-7">
+          <mxGeometry x="0.4743" relative="1" as="geometry">
+            <mxPoint x="585.0952380952381" y="810" as="targetPoint" />
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="m0IQrUpga-DAo2afT193-3" value="S3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="S8wz9ZtwZs3Sd4maCRdY-7" target="m0IQrUpga-DAo2afT193-1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="S8wz9ZtwZs3Sd4maCRdY-7" value="Data DB Sidecar" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="520" y="869" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="m0IQrUpga-DAo2afT193-1" value="Storage Service&lt;br&gt;(minIO)" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="720" y="869" width="130" height="40" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
 </mxfile>
diff --git a/.docs/images/minio-download.png b/.docs/images/minio-download.png
new file mode 100644
index 0000000000000000000000000000000000000000..41eddd3dcd3c5728ae52e7a3a7846846cf0e4e09
Binary files /dev/null and b/.docs/images/minio-download.png differ
diff --git a/.docs/images/minio-upload.png b/.docs/images/minio-upload.png
new file mode 100644
index 0000000000000000000000000000000000000000..29554e65e749cfe370f6d6c0d05df461bb03bbad
Binary files /dev/null and b/.docs/images/minio-upload.png differ
diff --git a/.docs/system-databases-data.md b/.docs/system-databases-data.md
index 035c030b0ac196f1a2ebb8a5e48e7ad0b67d3e9b..c71c57cd9122391479ae12af78fe892dc6c2c727 100644
--- a/.docs/system-databases-data.md
+++ b/.docs/system-databases-data.md
@@ -26,6 +26,18 @@ curl \
    -d '{"name": "Data Database 2", "imageId": 1, "host": "example.com", "port": 3306, "privilegedUsername": "root", "privilegedPassword": "s3cr3t" }'
 ```
 
+### Sidecar
+
+We deploy a sidecar that handles the CSV-file upload/download operations between 
+the [Storage Service](../system-services-storage) and the Data Database using a Python Flask application and 
+the [`boto3`](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) client until MariaDB supports S3
+natively.
+
+<figure markdown>
+![Sidecar architecture detailed](images/architecture-data-db.svg)
+<figcaption>Sidecar that handles the CSV-file upload/download.</figcaption>
+</figure>
+
 ### Backup
 
 Export all databases with `--skip-lock-tables` option for MariaDB Galera clusters as it is not supported currently by
diff --git a/.docs/system-other-ui.md b/.docs/system-other-ui.md
index abe0e22b2413e8835b3701aaf582d4761722ff68..0e8c72ad228c0bda6ee568c4e672af2a03e2f2ab 100644
--- a/.docs/system-other-ui.md
+++ b/.docs/system-other-ui.md
@@ -2,7 +2,7 @@
 author: Martin Weise
 ---
 
-# UI
+# User Interface
 
 ## tl;dr
 
@@ -28,6 +28,39 @@ It provides a *user interface* (UI) for a researcher to interact with the databa
 <figcaption>Architecture of the UI microservice</figcaption>
 </figure>
 
+### Example
+
+Upload a file to the `dbrepo-upload` bucket in the [Storage Service](../system-services-storage/) using the Node.js
+middleware. The request must be sent with the `Content-Type: multipart/form-data` header and the file must be placed
+in the `file` field of the form. For example:
+
+```shell
+curl -X POST \
+  -F "file=@path/to/file/gps.csv" \
+  http://<hostname>/server-middleware/upload
+```
+
+The response looks like this:
+
+```json
+{
+  "fieldname": "file",
+  "originalname": "gps.csv",
+  "encoding": "7bit",
+  "mimetype": "text/csv",
+  "buffer": {
+    "type": "Buffer",
+    "data": [
+      34,
+      73,
+      ...
+    ]
+  },
+  "size": 130279,
+  "etag": "9d23e73f4ed9f7e5afc80e696db69ebb"
+}
+```
+
 ## Limitations
 
 (none)
diff --git a/.docs/system-services-analyse.md b/.docs/system-services-analyse.md
index 04f2a533d74aa24b3150fb67e1d33168a6e3ae4c..add62db0e279ae2e2deb8e3cd1f127f963129f58 100644
--- a/.docs/system-services-analyse.md
+++ b/.docs/system-services-analyse.md
@@ -17,14 +17,55 @@ author: Martin Weise
 
 ## Overview
 
-It suggests data types for the FAIR Portal when creating a table from a *comma separated values* (CSV) file. It
-recommends enumerations for columns and returns e.g. a list of potential primary key candidates. The researcher is able
-to confirm these suggestions manually. Moreover, the *Analyze Service* determines basic statistical properties of
-numerical columns.
+It suggests data types for the [User Interface](../system-other-ui) when creating a table from a 
+*comma separated values* (CSV) -file. It recommends enumerations for columns and returns e.g. a list of potential 
+primary key candidates. The researcher is able to confirm these suggestions manually. Moreover, the Analyse Service
+determines basic statistical properties of numerical columns.
 
-## Limitations
+### Analysis
+
+After [uploading](../system-services-storage/#buckets) the CSV-file into the `dbrepo-upload` bucket of 
+the [Storage Service](../system-services-storage), analysis for data types and primary keys follows the flow:
+ 
+1. Retrieve the CSV-file from the `dbrepo-upload` bucket of the Storage Service as data stream (=nothing is stored in 
+   the service) with the [`boto3`](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) client.
+2. When no separator is known, the Analyse Service tries to guess the separator from the first line 
+   with [`csv.Sniff().sniff(...)`](https://docs.python.org/3/library/csv.html#csv.Sniffer). This step is optional when
+   the separator was provided via HTTP-payload: `{"separator": ";", ...}`
+3. With the separator known (either from step 2 or via HTTP-payload), 
+   the [`messytables.CSVTableSet(...)`](https://messytables.readthedocs.io/en/latest/#csv-support) guesses the headers
+   and column types and enums, if the HTTP-payload contains `{"enum": true, ...}`.
+
+### Examples
+
+Given a [CSV-file](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-datasets/-/raw/master/gps.csv) 
+containing GPS-data `gps.csv` already uploaded in the `dbrepo-upload` bucket of the Storage Service with key `gps.csv`:
 
-* No support for authentication
+```shell
+curl -X POST \
+  -d '{"filename":"gps.csv","separator":","}'
+  http://<hostname>:5000/api/analyse/determinedt
+```
+
+This results in the response:
+
+```json
+{
+    "columns": {
+        "ID": "bigint",
+        "KEY": "varchar",
+        "OBJECTID": "bigint",
+        "LBEZEICHNUNG": "varchar",
+        "LTYP": "bigint",
+        "LTYPTXT": "varchar",
+        "LAT": "decimal",
+        "LNG": "decimal"
+    },
+    "separator": ","
+}
+```
+
+## Limitations
 
 !!! question "Do you miss functionality? Do these limitations affect you?"
 
@@ -34,4 +75,4 @@ numerical columns.
 
 ## Security
 
-1. Since authentication is not supported, use IP-based ingress rules to limit access to the upload endpoint.
+1. Credentials for the [Storage Service](../system-services-storage) are stored in plaintext environment variables.
diff --git a/.docs/system-services-storage.md b/.docs/system-services-storage.md
new file mode 100644
index 0000000000000000000000000000000000000000..37c469898af6043f676d4e683ae65f9ffd4bc8ef
--- /dev/null
+++ b/.docs/system-services-storage.md
@@ -0,0 +1,77 @@
+---
+author: Martin Weise
+---
+
+# Storage Service
+
+## tl;dr
+
+!!! debug "Debug Information"
+
+    Image: [`bitnami/minio:2023-debian-11`](https://hub.docker.com/r/bitnami/minio)
+
+    * Ports: 9000/tcp, 9001/tcp
+    * Console: `http://<hostname>/admin/storage`
+
+## Overview
+
+We use [minIO](https://min.io) as a high-performance, S3 compatible object store packaged by Bitnami (VMware) for easy
+cloud-ready deployments that by default support replication and monitoring.
+
+### Users
+
+The default configuration creates one user `minioadmin` with password `minioadmin`.
+
+### Buckets
+
+The default configuration creates two buckets `dbrepo-upload`, `dbrepo-download`:
+
+* `dbrepo-upload` for CSV-file upload (for import of data, analysis, etc.) from the User Interface
+* `dbrepo-download` for CSV-file download (exporting data, metadata, etc.)
+
+### Metrics Collection
+
+By default, Prometheus metrics are not enabled as they require a running Prometheus server in the background. You can
+enable the metrics endpoint by setting the following environment variables in the `docker-compose.yml` (deployment with 
+[Docker Compose](../deployment-docker-compose)) or `values.yml` (deployment with [Helm](../deployment-helm/)) according 
+to the [minIO documentation](https://min.io/docs/minio/linux/operations/monitoring/collect-minio-metrics-using-prometheus.html).
+
+### Examples
+
+Upload a CSV-file into the `dbrepo-upload` bucket with the console 
+via `http://<hostname>/admin/storage/browser/dbrepo-upload`.
+
+<figure markdown>
+   ![Data ingest](images/minio-upload.png){ .img-border }
+   <figcaption>Uploading a file with the minIO console storage browser.</figcaption>
+</figure>
+
+Alternatively, you can use the middleware of the [User Interface](../system-other-ui/) to upload files.
+
+Download a CSV-file from the `dbrepo-download` bucket with the console
+via `http://<hostname>/admin/storage/browser/dbrepo-download`.
+
+<figure markdown>
+   ![Data ingest](images/minio-download.png){ .img-border }
+   <figcaption>Downloading a file with the minIO console storage browser.</figcaption>
+</figure>
+
+Alternatively, you can use a S3-compatible client:
+
+* [minIO Client](https://min.io/docs/minio/linux/reference/minio-mc.html) (most generic implementation of S3)
+* [boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) (generic Python implementation of S3)
+* AWS SDK (tailored towards Amazon S3)
+
+## Limitations
+
+* Prometheus metrics are not enabled by default (they require a running Prometheus server).
+
+!!! question "Do you miss functionality? Do these limitations affect you?"
+
+    We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
+    in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming 
+    experience!
+
+## Security
+
+1. For public deployments, change the default credentials.
diff --git a/.docs/system-services-upload.md b/.docs/system-services-upload.md
deleted file mode 100644
index ab5c8f991482acb6b3fc6d323bdefcf6133a3b2a..0000000000000000000000000000000000000000
--- a/.docs/system-services-upload.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-author: Martin Weise
----
-
-# Upload Service
-
-## tl;dr
-
-!!! debug "Debug Information"
-
-    Image: [`dbrepo/upload-service:latest`](https://hub.docker.com/r/dbrepo/upload-service)
-
-    * Ports: 1080/tcp
-    * TUS: `http://<hostname>:1080/api/upload/files`
-    * Prometheus: `http://<hostname>:1080/metrics`
-    * Swagger UI: <a href="../swagger/upload" target="_blank">:fontawesome-solid-square-up-right: view online</a>
-
-## Overview
-
-Upload files using one of the official the TUSd clients:
-
-* [NodeJS / JavaScript](https://github.com/tus/tus-js-client)
-* [Java](https://github.com/tus/tus-java-client)
-* [Python](https://github.com/tus/tus-py-client)
-
-The [TUS](https://tus.io/) protocol allows for flexible file uploads that, when interrupted, can be resumed at a later
-point. It is based on the open HTTP protocol and uploading a new file is a sequence of `HEAD`, `POST` and `PATCH`
-requests for large files.
-
-For more information, see the [official Docker image](https://hub.docker.com/r/tusproject/tusd).
-
-## Limitations
-
-* No support for authentication
-
-!!! question "Do you miss functionality? Do these limitations affect you?"
-
-    We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
-    in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming 
-    experience!
-
-## Security
-
-1. Since authentication is not supported, use IP-based ingress rules to limit access to the upload endpoint.
diff --git a/mkdocs.yml b/mkdocs.yml
index fe275809f94544448c69ad6392918675bb63d53f..9549ef62010176bf27a797f447ed6c6d97c96304 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -22,7 +22,7 @@ nav:
       - Data Service: system-services-data.md
       - Metadata Service: system-services-metadata.md
       - Mirror Service: system-services-mirror.md
-      - Upload Service: system-services-upload.md
+      - Storage Service: system-services-storage.md
     - Databases:
       - Auth Database: system-databases-auth.md
       - Data Database: system-databases-data.md