Skip to content
Snippets Groups Projects
Verified Commit fd699fb3 authored by Martin Weise's avatar Martin Weise
Browse files

Updated docs and re-added statistical stuff

parent 6f4adf24
Branches
Tags
3 merge requests!231CI: Remove build for log-service,!228Better error message handling in the frontend,!223Release of version 1.4.0
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!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="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> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="838px" height="559px" viewBox="-0.5 -0.5 838 559"><defs/><g><path d="M 367.13 90.37 L 367.5 108.5 L 366.5 108.5 L 366.5 125.63" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 367.02 85.12 L 370.66 92.04 L 367.13 90.37 L 363.67 92.19 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 366.5 130.88 L 363 123.88 L 366.5 125.63 L 370 123.88 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 294 L 544 294 L 544 317.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 322.88 L 540.5 315.88 L 544 317.63 L 547.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: 411px;"><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="411" 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="#e6e6e6" stroke="#000000" 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: #000000; " 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<br />(NGINX)</div></div></div></foreignObject><text x="367" y="156" fill="#000000" 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="#e6e6e6" stroke="#000000" 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: #000000; " 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="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Authentication Servic...</text></switch></g><path d="M 615.37 344.12 L 634.5 344.5 L 652.63 344.13" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 610.12 344.02 L 617.19 340.66 L 615.37 344.12 L 617.05 347.66 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 657.88 344.02 L 650.96 347.66 L 652.63 344.13 L 650.81 340.67 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: 345px; 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="348" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><path d="M 544 364 L 544 410.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 544 415.88 L 540.5 408.88 L 544 410.63 L 547.5 408.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><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;">Metadata Service</div></div></div></foreignObject><text x="544" y="348" 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 294 L 369 294 L 369 317.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 1" pointer-events="stroke"/><path d="M 369 322.88 L 365.5 315.88 L 369 317.63 L 372.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: 294px; margin-left: 356px;"><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="356" y="297" 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="#e6e6e6" stroke="#000000" 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: #000000; " 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="#000000" 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 344 L 739 344 L 769 344" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 710.12 344 L 717.12 340.5 L 715.37 344 L 717.12 347.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 659 320.6 C 659 315.85 670.19 312 684 312 C 690.63 312 696.99 312.91 701.68 314.52 C 706.37 316.13 709 318.32 709 320.6 L 709 367.4 C 709 372.15 697.81 376 684 376 C 670.19 376 659 372.15 659 367.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 709 320.6 C 709 325.35 697.81 329.2 684 329.2 C 670.19 329.2 659 325.35 659 320.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="641.5" y="376" 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: 386px; 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="390" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">metadata-db</text></switch></g><path d="M 342.5 413.6 C 342.5 408.85 353.69 405 367.5 405 C 374.13 405 380.49 405.91 385.18 407.52 C 389.87 409.13 392.5 411.32 392.5 413.6 L 392.5 460.4 C 392.5 465.15 381.31 469 367.5 469 C 353.69 469 342.5 465.15 342.5 460.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 392.5 413.6 C 392.5 418.35 381.31 422.2 367.5 422.2 C 353.69 422.2 342.5 418.35 342.5 413.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="326.5" y="467" 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: 477px; 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="481" 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="#e6e6e6" stroke="#000000" 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: #000000; " 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 />(SeaweedFS)</div></div></div></foreignObject><text x="544" y="156" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Storage Service...</text></switch></g><rect x="729.5" y="358" 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: 368px; 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="372" 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="344" 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="313.5" 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: 312px;"><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="368" y="552" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">data-db-data</text></switch></g><path d="M 368 509 L 368 489 L 368 493.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 368 488.12 L 371.5 495.12 L 368 493.37 L 364.5 495.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="368" cy="523" 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 369 364 L 369 384.5 L 367.5 384.5 L 367.5 398.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 367.5 403.88 L 364 396.88 L 367.5 398.63 L 371 396.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: 385px; margin-left: 369px;"><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="369" y="387" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><rect x="304" 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: 305px;"><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="369" y="348" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Data 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 98.5 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 437 L 398.87 437" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 393.62 437 L 400.62 433.5 L 398.87 437 L 400.62 440.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="479" y="417" 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: 437px; 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="441" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Data DB Sidecar</text></switch></g><ellipse cx="281" cy="414.5" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 281 422 L 281 447 M 281 427 L 266 427 M 281 427 L 296 427 M 281 447 L 266 467 M 281 447 L 296 467" 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: 474px; margin-left: 281px;"><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="281" y="486" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Resea...</text></switch></g><path d="M 302.37 437 L 336.13 437" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 297.12 437 L 304.12 433.5 L 302.37 437 L 304.12 440.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 341.38 437 L 334.38 440.5 L 336.13 437 L 334.38 433.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 615.37 152 L 729 152 L 729 245 C 732.9 245 732.9 251 729 251 L 729 251 L 729 341 C 732.9 341 732.9 347 729 347 L 729 347 L 729 437 L 615.37 437" 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 437 L 617.12 433.5 L 615.37 437 L 617.12 440.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: 174px; margin-left: 729px;"><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="729" y="177" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">S3</text></switch></g><rect x="649" y="514" width="30" height="16" fill="#e6e6e6" stroke="rgb(0, 0, 0)" pointer-events="all"/><rect x="686.5" y="514" width="140" height="16" 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 flex-start; width: 138px; height: 1px; padding-top: 522px; margin-left: 689px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><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;">External images</div></div></div></foreignObject><text x="689" y="526" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">External images</text></switch></g><rect x="649" y="534" width="30" height="16" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><rect x="686.5" y="534" width="140" height="16" 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 flex-start; width: 138px; height: 1px; padding-top: 542px; margin-left: 689px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><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;">Maintained images</div></div></div></foreignObject><text x="689" y="546" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Maintained images</text></switch></g><rect x="664" y="514" width="15" height="16" fill="#dae8fc" stroke="#000000" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/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 \ No newline at end of file
<mxfile host="Electron" modified="2024-01-13T19:12:19.025Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/22.1.18 Chrome/120.0.6099.199 Electron/28.1.2 Safari/537.36" etag="-yzVFguE0DyGlaA97o0u" version="22.1.18" type="device" pages="7"> <mxfile host="Electron" modified="2024-01-17T12:11:17.954Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/22.1.18 Chrome/120.0.6099.199 Electron/28.1.2 Safari/537.36" etag="j6PPhzgFbNeUxK9L3AUE" version="22.1.18" type="device" pages="7">
<diagram id="mvBsv1rP8O80Qe3yGnn_" name="docker-compose"> <diagram id="mvBsv1rP8O80Qe3yGnn_" name="docker-compose">
<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"> <mxGraphModel dx="2074" dy="1182" 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> <root>
<mxCell id="0" /> <mxCell id="0" />
<mxCell id="1" parent="0" /> <mxCell id="1" parent="0" />
...@@ -52,8 +52,8 @@ ...@@ -52,8 +52,8 @@
<Array as="points"> <Array as="points">
<mxPoint x="480" y="346" /> <mxPoint x="480" y="346" />
<mxPoint x="538" y="346" /> <mxPoint x="538" y="346" />
<mxPoint x="538" y="540" /> <mxPoint x="538" y="440" />
<mxPoint x="625" y="540" /> <mxPoint x="625" y="440" />
</Array> </Array>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
<mxPoint as="offset" /> <mxPoint as="offset" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="CohMdi7D_fRk0dSxzjYi-1" value="Gateway Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1"> <mxCell id="CohMdi7D_fRk0dSxzjYi-1" value="Gateway Service&lt;br&gt;(NGINX)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E6E6E6;fontColor=#000000;strokeColor=#000000;" parent="1" vertex="1">
<mxGeometry x="382.5" y="278" width="130" height="40" as="geometry" /> <mxGeometry x="382.5" y="278" width="130" height="40" as="geometry" />
</mxCell> </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"> <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">
...@@ -85,12 +85,12 @@ ...@@ -85,12 +85,12 @@
<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"> <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" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </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"> <mxCell id="O_ELZSFbvl3Butg3bv_j-1" value="Authentication Service&lt;br&gt;(Keycloak)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E6E6E6;fontColor=#000000;strokeColor=#000000;" parent="1" vertex="1">
<mxGeometry x="210" y="470" width="130" height="40" as="geometry" /> <mxGeometry x="210" y="470" width="130" height="40" as="geometry" />
</mxCell> </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"> <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"> <mxGeometry relative="1" as="geometry">
<mxPoint x="689.9999999999998" y="586" as="sourcePoint" /> <mxPoint x="689.9999999999998" y="490" as="sourcePoint" />
</mxGeometry> </mxGeometry>
</mxCell> </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"> <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">
...@@ -102,19 +102,19 @@ ...@@ -102,19 +102,19 @@
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="hBEam5F8n4ZBPeoiEcWH-1" value="Metadata Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1"> <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" /> <mxGeometry x="560" y="470" width="130" height="40" as="geometry" />
</mxCell> </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"> <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"> <mxGeometry x="0.54" relative="1" as="geometry">
<Array as="points"> <Array as="points">
<mxPoint x="370" y="394" /> <mxPoint x="370" y="394" />
<mxPoint x="370" y="540" /> <mxPoint x="370" y="440" />
<mxPoint x="449" y="540" /> <mxPoint x="450" y="440" />
</Array> </Array>
<mxPoint as="offset" /> <mxPoint as="offset" />
</mxGeometry> </mxGeometry>
</mxCell> </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"> <mxCell id="AQz-Vj6r_5Wor37pQVs6-1" value="Broker Service&lt;br&gt;(RabbitMQ)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E6E6E6;fontColor=#000000;strokeColor=#000000;" parent="1" vertex="1">
<mxGeometry x="210" y="374" width="130" height="40" as="geometry" /> <mxGeometry x="210" y="374" width="130" height="40" as="geometry" />
</mxCell> </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"> <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">
...@@ -131,20 +131,20 @@ ...@@ -131,20 +131,20 @@
</mxCell> </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"> <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"> <mxGeometry relative="1" as="geometry">
<mxPoint x="850" y="586" as="targetPoint" /> <mxPoint x="850" y="490" as="targetPoint" />
</mxGeometry> </mxGeometry>
</mxCell> </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"> <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" /> <mxGeometry x="740" y="458" width="50" height="64" as="geometry" />
</mxCell> </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"> <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" /> <mxGeometry x="722.5" y="522" width="85" height="20" as="geometry" />
</mxCell> </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"> <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" /> <mxGeometry x="423.5" y="551" width="50" height="64" as="geometry" />
</mxCell> </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"> <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" /> <mxGeometry x="407.5" y="613" width="85" height="20" as="geometry" />
</mxCell> </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"> <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" /> <mxGeometry x="250" y="550" width="50" height="64" as="geometry" />
...@@ -152,22 +152,14 @@ ...@@ -152,22 +152,14 @@
<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"> <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" /> <mxGeometry x="232.5" y="614" width="85" height="20" as="geometry" />
</mxCell> </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"> <mxCell id="V1Wl26Vbpgnno5Lb-wtg-38" value="Storage Service&lt;br&gt;(SeaweedFS)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E6E6E6;fontColor=#000000;strokeColor=#000000;" parent="1" vertex="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="930" y="298" />
<mxPoint x="930" y="694" />
</Array>
</mxGeometry>
</mxCell>
<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" /> <mxGeometry x="560" y="278" width="130" height="40" as="geometry" />
</mxCell> </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"> <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" /> <mxGeometry x="810.5" y="504" width="108" height="20" as="geometry" />
</mxCell> </mxCell>
<mxCell id="A18w2Y2_AVEIFkgUy5Lv-6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1"> <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" /> <mxGeometry x="850.5" y="476" width="28" height="28" as="geometry" />
</mxCell> </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"> <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" /> <mxGeometry x="810.5" y="408" width="108" height="20" as="geometry" />
...@@ -179,13 +171,15 @@ ...@@ -179,13 +171,15 @@
<mxGeometry x="850.5" y="380" width="28" height="28" as="geometry" /> <mxGeometry x="850.5" y="380" width="28" height="28" as="geometry" />
</mxCell> </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"> <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" /> <mxGeometry x="394.5" y="684" width="108" height="20" as="geometry" />
</mxCell> </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"> <mxCell id="A18w2Y2_AVEIFkgUy5Lv-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-11" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry">
<mxPoint x="449" y="633" as="targetPoint" />
</mxGeometry>
</mxCell> </mxCell>
<mxCell id="A18w2Y2_AVEIFkgUy5Lv-11" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1"> <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" /> <mxGeometry x="435" y="655" width="28" height="28" as="geometry" />
</mxCell> </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"> <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" /> <mxGeometry relative="1" as="geometry" />
...@@ -202,27 +196,7 @@ ...@@ -202,27 +196,7 @@
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="YJRAzF6yD4Hh-bAvO1PB-1" value="Data Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1"> <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" /> <mxGeometry x="385" y="470" 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>
<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"> <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" /> <mxGeometry x="722.5" y="437" width="85" height="17" as="geometry" />
...@@ -242,7 +216,41 @@ ...@@ -242,7 +216,41 @@
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="iy0HhJzZLXsiPmpU2ukH-4" value="Data DB Sidecar" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1"> <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" /> <mxGeometry x="560" y="563" width="130" height="40" as="geometry" />
</mxCell>
<mxCell id="ZFea1dL5_0zV0EoV6Noq-2" value="Researcher" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
<mxGeometry x="347" y="553" width="30" height="60" as="geometry" />
</mxCell>
<mxCell id="ZFea1dL5_0zV0EoV6Noq-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#000000;startArrow=classic;startFill=1;dashed=1;entryPerimeter=0;" edge="1" parent="1" source="ZFea1dL5_0zV0EoV6Noq-2" target="V1Wl26Vbpgnno5Lb-wtg-34">
<mxGeometry x="-0.028" relative="1" as="geometry">
<mxPoint x="458" y="240" as="sourcePoint" />
<mxPoint as="offset" />
<mxPoint x="458" y="288" as="targetPoint" />
</mxGeometry>
</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;jumpStyle=arc;" parent="1" source="V1Wl26Vbpgnno5Lb-wtg-38" target="iy0HhJzZLXsiPmpU2ukH-4" edge="1">
<mxGeometry x="-0.4591" relative="1" as="geometry">
<Array as="points">
<mxPoint x="810" y="298" />
<mxPoint x="810" y="583" />
</Array>
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ZFea1dL5_0zV0EoV6Noq-4" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6E6E6;" vertex="1" parent="1">
<mxGeometry x="630" y="760" width="30" height="16" as="geometry" />
</mxCell>
<mxCell id="ZFea1dL5_0zV0EoV6Noq-5" value="External images" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="667.5" y="760" width="140" height="16" as="geometry" />
</mxCell>
<mxCell id="ZFea1dL5_0zV0EoV6Noq-6" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="630" y="780" width="30" height="16" as="geometry" />
</mxCell>
<mxCell id="ZFea1dL5_0zV0EoV6Noq-7" value="Maintained images" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="667.5" y="780" width="140" height="16" as="geometry" />
</mxCell>
<mxCell id="ZFea1dL5_0zV0EoV6Noq-8" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#000000;" vertex="1" parent="1">
<mxGeometry x="645" y="760" width="15" height="16" as="geometry" />
</mxCell> </mxCell>
</root> </root>
</mxGraphModel> </mxGraphModel>
......
...@@ -14,8 +14,8 @@ collection. Challenges revolve around organizing, searching and retrieving conte ...@@ -14,8 +14,8 @@ collection. Challenges revolve around organizing, searching and retrieving conte
constitute a major technical burden as their internal representation greatly differs from static documents most digital constitute a major technical burden as their internal representation greatly differs from static documents most digital
repositories are designed for. repositories are designed for.
[Get Started](/deployment-docker-compose/){ .action-button .md-button .md-button--primary } [System Description](/system){ .action-button .md-button .md-button--secondary }
[Learn More](/system){ .action-button .md-button .md-button--secondary } [How to use](/usage-overview){ .action-button .md-button .md-button--primary }
## Application Areas ## Application Areas
...@@ -26,5 +26,6 @@ evolving, allows reproducing of query results and supports findable-, accessible ...@@ -26,5 +26,6 @@ evolving, allows reproducing of query results and supports findable-, accessible
## More Information ## More Information
- Demonstration instance [https://dbrepo1.ec.tuwien.ac.at](https://dbrepo1.ec.tuwien.ac.at) - Demonstration instance [https://dbrepo1.ec.tuwien.ac.at](https://dbrepo1.ec.tuwien.ac.at)
- Test instance [https://test.tuwien.ac.at](https://test.tuwien.ac.at) -- try it yourself!
- Sandbox instance [https://test.dbrepo.tuwien.ac.at](https://dbrepo2.ec.tuwien.ac.at) - Sandbox instance [https://test.dbrepo.tuwien.ac.at](https://dbrepo2.ec.tuwien.ac.at)
- System description [https://doi.org/10.2218/ijdc.v17i1.825](https://doi.org/10.2218/ijdc.v17i1.825) - System description [https://doi.org/10.2218/ijdc.v17i1.825](https://doi.org/10.2218/ijdc.v17i1.825)
...@@ -30,7 +30,6 @@ build-analyse-service: ...@@ -30,7 +30,6 @@ build-analyse-service:
build-docker: build-docker:
docker build --network=host -t dbrepo-metadata-service:build --target build dbrepo-metadata-service docker build --network=host -t dbrepo-metadata-service:build --target build dbrepo-metadata-service
docker build --network=host -t dbrepo-data-service:build --target build dbrepo-data-service docker build --network=host -t dbrepo-data-service:build --target build dbrepo-data-service
docker build --network=host ./dbrepo-log-service -t dbrepo-log-service
docker compose build --parallel docker compose build --parallel
build-frontend: build-frontend:
...@@ -40,7 +39,7 @@ build-frontend: ...@@ -40,7 +39,7 @@ build-frontend:
build-clients: build-clients:
bash ./.gitlab/swagger/generate.sh bash ./.gitlab/swagger/generate.sh
tag: tag-analyse-service tag-authentication-service tag-metadata-db tag-ui tag-metadata-service tag-data-service tag-log-service tag-search-db tag-search-db-init tag-search-service tag-data-db-sidecar tag: tag-analyse-service tag-authentication-service tag-metadata-db tag-ui tag-metadata-service tag-data-service tag-search-db tag-search-db-init tag-search-service tag-data-db-sidecar
tag-analyse-service: tag-analyse-service:
docker tag dbrepo-analyse-service:latest "${REPOSITORY_1_URL}/analyse-service:${TAG}" docker tag dbrepo-analyse-service:latest "${REPOSITORY_1_URL}/analyse-service:${TAG}"
...@@ -78,10 +77,6 @@ tag-search-db-init: ...@@ -78,10 +77,6 @@ tag-search-db-init:
docker tag dbrepo-search-db-init:latest "${REPOSITORY_1_URL}/search-db-init:${TAG}" docker tag dbrepo-search-db-init:latest "${REPOSITORY_1_URL}/search-db-init:${TAG}"
docker tag dbrepo-search-db-init:latest "${REPOSITORY_2_URL}/search-db-init:${TAG}" docker tag dbrepo-search-db-init:latest "${REPOSITORY_2_URL}/search-db-init:${TAG}"
tag-log-service:
docker tag dbrepo-log-service:latest "${REPOSITORY_1_URL}/log-service:${TAG}"
docker tag dbrepo-log-service:latest "${REPOSITORY_2_URL}/log-service:${TAG}"
tag-search-service: tag-search-service:
docker tag dbrepo-search-service:latest "${REPOSITORY_1_URL}/search-service:${TAG}" docker tag dbrepo-search-service:latest "${REPOSITORY_1_URL}/search-service:${TAG}"
docker tag dbrepo-search-service:latest "${REPOSITORY_2_URL}/search-service:${TAG}" docker tag dbrepo-search-service:latest "${REPOSITORY_2_URL}/search-service:${TAG}"
...@@ -90,7 +85,7 @@ tag-storage-service-init: ...@@ -90,7 +85,7 @@ tag-storage-service-init:
docker tag dbrepo-storage-service-init:latest "${REPOSITORY_1_URL}/storage-service-init:${TAG}" docker tag dbrepo-storage-service-init:latest "${REPOSITORY_1_URL}/storage-service-init:${TAG}"
docker tag dbrepo-storage-service-init:latest "${REPOSITORY_2_URL}/storage-service-init:${TAG}" docker tag dbrepo-storage-service-init:latest "${REPOSITORY_2_URL}/storage-service-init:${TAG}"
release: build-docker tag release-analyse-service release-authentication-service release-metadata-db release-ui release-metadata-service release-data-service release-log-service release-search-db release-search-db-init release-search-service release-data-db-sidecar release: build-docker tag release-analyse-service release-authentication-service release-metadata-db release-ui release-metadata-service release-data-service release-search-db release-search-db-init release-search-service release-data-db-sidecar
release-analyse-service: tag-analyse-service release-analyse-service: tag-analyse-service
docker push "${REPOSITORY_1_URL}/analyse-service:${TAG}" docker push "${REPOSITORY_1_URL}/analyse-service:${TAG}"
...@@ -128,10 +123,6 @@ release-metadata-service: tag-metadata-service ...@@ -128,10 +123,6 @@ release-metadata-service: tag-metadata-service
docker push "${REPOSITORY_1_URL}/metadata-service:${TAG}" docker push "${REPOSITORY_1_URL}/metadata-service:${TAG}"
docker push "${REPOSITORY_2_URL}/metadata-service:${TAG}" docker push "${REPOSITORY_2_URL}/metadata-service:${TAG}"
release-log-service: tag-log-service
docker push "${REPOSITORY_1_URL}/log-service:${TAG}"
docker push "${REPOSITORY_2_URL}/log-service:${TAG}"
release-search-service: tag-search-service release-search-service: tag-search-service
docker push "${REPOSITORY_1_URL}/search-service:${TAG}" docker push "${REPOSITORY_1_URL}/search-service:${TAG}"
docker push "${REPOSITORY_2_URL}/search-service:${TAG}" docker push "${REPOSITORY_2_URL}/search-service:${TAG}"
...@@ -151,7 +142,7 @@ test-metadata-service: build-metadata-service ...@@ -151,7 +142,7 @@ test-metadata-service: build-metadata-service
test-analyse-service: build-analyse-service test-analyse-service: build-analyse-service
bash ./dbrepo-analyse-service/test.sh bash ./dbrepo-analyse-service/test.sh
scan: scan-analyse-service scan-authentication-service scan-broker-service scan-gateway-service scan-metadata-db scan-metadata-service scan-search-db scan-ui scan-data-service scan-data-db scan-log-service scan-search-dashboard scan-search-service scan: scan-analyse-service scan-authentication-service scan-broker-service scan-gateway-service scan-metadata-db scan-metadata-service scan-search-db scan-ui scan-data-service scan-data-db scan-search-dashboard scan-search-service
scan-analyse-service: scan-analyse-service:
trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-analyse-service-report.json dbrepo-analyse-service:latest trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-analyse-service-report.json dbrepo-analyse-service:latest
...@@ -210,13 +201,8 @@ scan-ui: ...@@ -210,13 +201,8 @@ scan-ui:
trivy image --insecure --exit-code 0 dbrepo-ui:latest trivy image --insecure --exit-code 0 dbrepo-ui:latest
trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-ui:latest trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-ui:latest
scan-log-service:
trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-log-service-report.json dbrepo-log-service:latest
trivy image --insecure --exit-code 0 dbrepo-log-service:latest
trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-log-service:latest
scan-search-service: scan-search-service:
trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-log-service-report.json dbrepo-search-service:latest trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-service-report.json dbrepo-search-service:latest
trivy image --insecure --exit-code 0 dbrepo-search-service:latest trivy image --insecure --exit-code 0 dbrepo-search-service:latest
trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-search-service:latest trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-search-service:latest
......
FROM fluentd:v1.16-1
USER root
RUN gem install fluent-plugin-opensearch
RUN fluent-gem install fluent-plugin-rewrite-tag-filter fluent-plugin-multi-format-parser
USER fluent
COPY ./fluent.conf /fluentd/etc/fluent.conf
EXPOSE 24224/tcp
EXPOSE 24224/udp
\ No newline at end of file
# Log Service
## Sink
`24224/tcp` and `24224/udp`
\ No newline at end of file
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<match *.**>
@type copy
<store>
@type opensearch
host search-db
port 9200
user admin
password admin
index_name dbrepo-logs
logstash_format true
logstash_prefix fluentd
logstash_dateformat %Y%m%d
include_tag_key true
tag_key @log_name
flush_interval 1s
</store>
<store>
@type stdout
</store>
</match>
...@@ -105,6 +105,7 @@ public class TableDto { ...@@ -105,6 +105,7 @@ public class TableDto {
private Instant created; private Instant created;
@NotNull(message = "columns are required") @NotNull(message = "columns are required")
@Field(name = "columns", type = FieldType.Object)
private List<ColumnDto> columns; private List<ColumnDto> columns;
@Field(name = "constraints", type = FieldType.Object) @Field(name = "constraints", type = FieldType.Object)
......
...@@ -144,11 +144,9 @@ public class ColumnDto { ...@@ -144,11 +144,9 @@ public class ColumnDto {
@Schema(example = "false") @Schema(example = "false")
private Boolean isNullAllowed; private Boolean isNullAllowed;
@Field(name = "enums", type = FieldType.Object)
@Parameter(description = "enum values, only considered when type = ENUM") @Parameter(description = "enum values, only considered when type = ENUM")
private List<String> enums; private List<String> enums;
@Field(name = "sets", type = FieldType.Object)
@Parameter(description = "enum values, only considered when type = ENUM") @Parameter(description = "enum values, only considered when type = ENUM")
private List<String> sets; private List<String> sets;
......
...@@ -614,6 +614,9 @@ ...@@ -614,6 +614,9 @@
"database_id": { "database_id": {
"type": "long" "type": "long"
}, },
"data_length": {
"type": "long"
},
"description": { "description": {
"type": "text" "type": "text"
}, },
...@@ -647,6 +650,21 @@ ...@@ -647,6 +650,21 @@
} }
} }
}, },
"num_rows": {
"type": "long"
},
"max_data_length": {
"type": "long"
},
"mean": {
"type": "double"
},
"median": {
"type": "double"
},
"std_dev": {
"type": "double"
},
"size": { "size": {
"type": "long" "type": "long"
}, },
...@@ -666,6 +684,12 @@ ...@@ -666,6 +684,12 @@
"type": "keyword" "type": "keyword"
} }
} }
},
"val_min": {
"type": "double"
},
"val_max": {
"type": "double"
} }
} }
}, },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment