diff --git a/.docker/.env b/.docker/.env
new file mode 100644
index 0000000000000000000000000000000000000000..bf2e6ba5baf01f74d92527a1b230071738261355
--- /dev/null
+++ b/.docker/.env
@@ -0,0 +1,13 @@
+# Example values to override for non-test deployments
+
+#BASE_URL=https://example.com
+#ADMIN_EMAIL=noreply@example.com
+#LOG_LEVEL=info
+#IDENTITY_SERVICE_ADMIN_PASSWORD=admin
+#AUTH_SERVICE_ADMIN_PASSWORD=admin
+#METADATA_DB_PASSWORD=dbrepo
+#DATA_DB_PASSWORD=dbrepo
+#AUTH_DB_PASSWORD=dbrepo
+#S3_ACCESS_KEY_ID=seaweedfsadmin
+#S3_SECRET_ACCESS_KEY=seaweedfsadmin
+#SYSTEM_PASSWORD=admin
diff --git a/.docs/api/data-db.md b/.docs/api/data-db.md
index aecabb9736a39bb987c9542b14bbd9b025697d17..f721b2b16454e17ce9446887a38aba7c65fb198b 100644
--- a/.docs/api/data-db.md
+++ b/.docs/api/data-db.md
@@ -19,29 +19,15 @@ author: Martin Weise
 
 The Data Database contains the research data. In the default configuration, only one database of this type is deployed.
 Any number of MariaDB ata databases can be integrated into DBRepo, even non-empty databases. The database needs to be
-registered in the Metadata Database to be visible in the [User Interface](../ui) and usable from e.g. the Python 
+registered in the Metadata Database to be visible in the [User Interface](../ui) and usable from e.g. the Python
 Library.
 
 ## Data
 
-The procedures require the user-generated databases to have the same collation (because of comparison operations).
-Ensure that the Data Database has the character set `utf8mb4` and collation `utf8mb4_general_ci` in your `my.cfg`:
-
-```ini
-[mysqld]
-character_set_server=utf8mb4
-collation_server=utf8mb4_general_ci
-```
-
-We observed this unexpected behavior for
+The procedures requires the in parameter of the `hash_table` stored procedure to have the same collation as the
+`information_schema.columns` table. We observed this unexpected behavior for
 the [MariaDB Galera chart](https://artifacthub.io/packages/helm/bitnami/mariadb-galera) powered by Bitnami and had to
-set extra flags. We could not observe this behavior with
-the [MariaDB Galera container image](https://hub.docker.com/r/bitnami/mariadb-galera) itself.
-
-```yaml
-mariadb-galera:
-  extraFlags: "--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci"
-```
+set extra flags.
 
 ### Backup
 
diff --git a/.docs/images/coverage.svg b/.docs/images/coverage.svg
index 8d22334eb1c46b39dbdbeb37ff93c218c188173d..74b0307350e5b3dfb5fde3fa16d0adaf3a25c742 100644
--- a/.docs/images/coverage.svg
+++ b/.docs/images/coverage.svg
@@ -9,7 +9,7 @@
     </mask>
     <g mask="url(#anybadge_1)">
         <path fill="#555" d="M0 0h65v20H0z"/>
-        <path fill="#A9A9A9" d="M65 0h59v20H65z"/>
+        <path fill="#C0C0C0" d="M65 0h59v20H65z"/>
         <path fill="url(#b)" d="M0 0h124v20H0z"/>
     </g>
     <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
diff --git a/.docs/images/maintainability.svg b/.docs/images/maintainability.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4d684e6d3d210ce7791e85f92ef8c302c54c1905
--- /dev/null
+++ b/.docs/images/maintainability.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="158" height="20">
+    <linearGradient id="b" x2="0" y2="100%">
+        <stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
+        <stop offset="1" stop-opacity=".1"/>
+    </linearGradient>
+    <mask id="anybadge_1">
+        <rect width="158" height="20" rx="3" fill="#fff"/>
+    </mask>
+    <g mask="url(#anybadge_1)">
+        <path fill="#555" d="M0 0h99v20H0z"/>
+        <path fill="#C0C0C0" d="M99 0h59v20H99z"/>
+        <path fill="url(#b)" d="M0 0h158v20H0z"/>
+    </g>
+    <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
+        <text x="50.5" y="15" fill="#010101" fill-opacity=".3">maintainability</text>
+        <text x="49.5" y="14">maintainability</text>
+    </g>
+    <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
+        <text x="129.5" y="15" fill="#010101" fill-opacity=".3">unknown</text>
+        <text x="128.5" y="14">unknown</text>
+    </g>
+</svg>
+
diff --git a/.docs/images/pipeline.svg b/.docs/images/pipeline.svg
index 17f94998918fcb601111626a5436107abeaaa18f..d458c7706123d041bc1b9a341362189b01163481 100644
--- a/.docs/images/pipeline.svg
+++ b/.docs/images/pipeline.svg
@@ -9,7 +9,7 @@
     </mask>
     <g mask="url(#anybadge_1)">
         <path fill="#555" d="M0 0h57v20H0z"/>
-        <path fill="#A9A9A9" d="M57 0h59v20H57z"/>
+        <path fill="#C0C0C0" d="M57 0h59v20H57z"/>
         <path fill="url(#b)" d="M0 0h116v20H0z"/>
     </g>
     <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
diff --git a/.docs/images/security.svg b/.docs/images/security.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2772393142197a97956ab8180570ddcc08a787cc
--- /dev/null
+++ b/.docs/images/security.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="119" height="20">
+    <linearGradient id="b" x2="0" y2="100%">
+        <stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
+        <stop offset="1" stop-opacity=".1"/>
+    </linearGradient>
+    <mask id="anybadge_1">
+        <rect width="119" height="20" rx="3" fill="#fff"/>
+    </mask>
+    <g mask="url(#anybadge_1)">
+        <path fill="#555" d="M0 0h60v20H0z"/>
+        <path fill="#C0C0C0" d="M60 0h59v20H60z"/>
+        <path fill="url(#b)" d="M0 0h119v20H0z"/>
+    </g>
+    <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
+        <text x="31.0" y="15" fill="#010101" fill-opacity=".3">security</text>
+        <text x="30.0" y="14">security</text>
+    </g>
+    <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
+        <text x="90.5" y="15" fill="#010101" fill-opacity=".3">unknown</text>
+        <text x="89.5" y="14">unknown</text>
+    </g>
+</svg>
+
diff --git a/.docs/index.md b/.docs/index.md
index 351edbf44133d096dc93b48676eb27fd2149fe3d..f4cfbcb329d7a1d0dd9c1dbd841458014a1ccfaa 100644
--- a/.docs/index.md
+++ b/.docs/index.md
@@ -11,6 +11,8 @@ author: Martin Weise
 [![Image Pulls](https://img.shields.io/docker/pulls/dbrepo/data-service?style=flat)](https://hub.docker.com/u/dbrepo){ tabindex=-1 }
 [![Helm Chart version](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/dbrepo)](https://artifacthub.io/packages/helm/dbrepo/dbrepo){ tabindex=-1 }
 [![GitLab License](https://img.shields.io/gitlab/license/fair-data-austria-db-repository%2Ffda-services?gitlab_url=https%3A%2F%2Fgitlab.phaidra.org%2F&style=flat&cacheSeconds=3600)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 }
+![Maintainability Rating](./images/maintainability.svg)
+![Security Rating](./images/security.svg)
 
 Documentation for version: [v1.5.0](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/releases).
 
diff --git a/.gitignore b/.gitignore
index ed77b2683eba14e2fdcc88b5e4e1851a87807b4b..ed455a707a3fe0570e1753ee1caaf093329594a4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -61,7 +61,7 @@ ready
 *.p12
 
 # Environment
-.env
+.docker/.env
 
 # X509
 root.crt
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0a9c58518d6a1610fa0e0e7bb88038e5b9dca4f0..ba28ae50d6c7722368cad2fc93ccd9844fe94c4f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -360,9 +360,10 @@ docs-registry:
     refs:
       - /^release-.*/
   before_script:
+    - "pip install pipenv"
+    - "pipenv install --dev --system --deploy"
     - "apt-get update && apt-get install -y sed"
   script:
-    - pip install -r ./requirements.txt
     - python3 .docs/docker/release.py
 
 release-images:
@@ -414,9 +415,9 @@ release-docs:
     refs:
       - /^release-.*/
   before_script:
-    - "apk add --update alpine-sdk bash sed wget openssh jq curl"
+    - "apk add --no-cache alpine-sdk bash sed wget openssh jq curl"
     - "pip install pipenv"
-    - "pip install -r ./requirements.txt"
+    - "pipenv install --dev --system --deploy"
     - "mkdir -p ./final/${DOC_VERSION}/rest"
   script:
     - "make gen-lib-doc gen-docs-doc package-config"
diff --git a/.gitlab/gen-badge.sh b/.gitlab/gen-badge.sh
index 5ef15a3b6cafb7cf5324a8cbfed3383dd80aa4cf..154b22d62d36406440bea8196cdcd6a8dfcfd615 100644
--- a/.gitlab/gen-badge.sh
+++ b/.gitlab/gen-badge.sh
@@ -1,11 +1,14 @@
 #!/bin/bash
 GITLAB_URL="https://gitlab.phaidra.org"
 # if we reached this script, all the tests have passed
-anybadge --label pipeline --value "passed" failed=red passed=green canceled=darkgray > "./final/${APP_VERSION}/images/pipeline.svg"
+anybadge --label pipeline --value "passed" failed=red passed=green canceled=darkgray > "./final/${DOC_VERSION}/images/pipeline.svg"
 PIPELINE_COVERAGE=$(curl -fsSL -H "PRIVATE-TOKEN: ${CI_TOKEN}" "${GITLAB_URL}/api/v4/projects/450/pipelines/latest?ref=${CI_COMMIT_BRANCH}" | jq --raw-output .coverage)
 echo "[INFO] pipeline coverage: ${PIPELINE_COVERAGE}"
 if [ "${PIPELINE_COVERAGE}" != "null" ]; then
-  anybadge --label coverage --value "${PIPELINE_COVERAGE}" coverage > "./final/${APP_VERSION}/images/coverage.svg"
+  anybadge --label coverage --value "${PIPELINE_COVERAGE}" coverage > "./final/${DOC_VERSION}/images/coverage.svg"
 else
   echo "[WARNING] Skipping badge generation, displaying default badge text: unknown"
 fi
+curl "${SONARQUBE_URL}/api/project_badges/measure?project=fair-data-austria-db-repository_fda-services_a57fa043-ab99-4cdd-a721-162d9a916d77&metric=sqale_rating&token=${CI_SONAR_TOKEN}" > "./final/${DOC_VERSION}/images/maintainability.svg"
+curl "${SONARQUBE_URL}/api/project_badges/measure?project=fair-data-austria-db-repository_fda-services_a57fa043-ab99-4cdd-a721-162d9a916d77&metric=security_rating&token=${CI_SONAR_TOKEN}" > "./final/${DOC_VERSION}/images/security.svg"
+echo "[INFO] retrieved SonarQube badges"
\ No newline at end of file
diff --git a/README.md b/README.md
index afe792821c287a613000a6d395ceb14ac7c35452..9531fc88676494df4cb9077a931733d92894747a 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,10 @@
-![Java 21](https://img.shields.io/badge/Java-21-white?style=flat)
-![Python 3.11](https://img.shields.io/badge/Python-3.11-white?style=flat)
-![RabbitMQ 3.12](https://img.shields.io/badge/RabbitMQ-3.12-white?style=flat)
-![MariaDB 11.2](https://img.shields.io/badge/MariaDB-11.2-white?style=flat)
-![OpenSearch 2.10](https://img.shields.io/badge/OpenSearch-2.10-white?style=flat)
-![SeaweedFS 3.59](https://img.shields.io/badge/SeaweedFS-3.59-white?style=flat)
-![OpenLDAP 2.6](https://img.shields.io/badge/OpenLDAP-2.6-white?style=flat)
-![Spark 3.4](https://img.shields.io/badge/Spark-3.4-white?style=flat)
-![Keycloak 24.0](https://img.shields.io/badge/Keycloak-24.0-white?style=flat)
+[![CI/CD Status](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/badges/master/pipeline.svg)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services)
+[![CI/CD Coverage](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/badges/master/coverage.svg)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services)
+[![Latest Release](https://img.shields.io/gitlab/v/release/fair-data-austria-db-repository%2Ffda-services?gitlab_url=https%3A%2F%2Fgitlab.phaidra.org&display_name=release&style=flat)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services)
+[![PyPI Library version](https://img.shields.io/pypi/v/dbrepo)](https://pypi.org/project/dbrepo/)
+[![Image Pulls](https://img.shields.io/docker/pulls/dbrepo/data-service?style=flat)](https://hub.docker.com/u/dbrepo)
+[![Helm Chart version](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/dbrepo)](https://artifacthub.io/packages/helm/dbrepo/dbrepo)
+[![GitLab License](https://img.shields.io/gitlab/license/fair-data-austria-db-repository%2Ffda-services?gitlab_url=https%3A%2F%2Fgitlab.phaidra.org%2F&style=flat&cacheSeconds=3600)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services)
 
 <img src="./dbrepo-ui/public/logo.png" width="200" alt="DBRepo &mdash; Repository for Data in Databases" />
 
diff --git a/dbrepo-analyse-service/api/dto.py b/dbrepo-analyse-service/api/dto.py
index 319b06efa25b030e7638deca8fe6d0c72af065e6..59a387f5be4e4398dc4b60e34408189bb4f47b8e 100644
--- a/dbrepo-analyse-service/api/dto.py
+++ b/dbrepo-analyse-service/api/dto.py
@@ -44,7 +44,6 @@ class ColumnAnalysisDto(BaseModel):
     null_allowed: bool
     size: Optional[int] = None
     d: Optional[int] = None
-    dfid: Optional[int] = None
     enums: Optional[list] = None
     sets: Optional[list] = None
 
diff --git a/dbrepo-analyse-service/determine_dt.py b/dbrepo-analyse-service/determine_dt.py
index 0358929165f20d6c53ed5547525b113dc42964ba..dfc5fe17dde5460ad295616665bdd8024a8d594b 100644
--- a/dbrepo-analyse-service/determine_dt.py
+++ b/dbrepo-analyse-service/determine_dt.py
@@ -74,6 +74,8 @@ def determine_datatypes(filename, enum=False, enum_tol=0.0001, separator=',') ->
                 if pandas.to_numeric(df[name], errors='coerce').notnull().all():
                     logging.debug(f"mapped column {name} from float64 to decimal")
                     col.type = DataTypeDto.DECIMAL
+                    col.size = 40
+                    col.d = 20
                 else:
                     logging.debug(f"mapped column {name} from float64 to text")
                     col.type = DataTypeDto.TEXT
diff --git a/dbrepo-analyse-service/test/test_determine_dt.py b/dbrepo-analyse-service/test/test_determine_dt.py
index 4be9e331d699649dc943bb75b25fdb5c657c93ce..a6e032384b4256b441be05cb94fb14369e8d0baf 100644
--- a/dbrepo-analyse-service/test/test_determine_dt.py
+++ b/dbrepo-analyse-service/test/test_determine_dt.py
@@ -36,6 +36,8 @@ class DetermineDatatypesTest(unittest.TestCase):
             },
             "Wert": {
                 "type": "decimal",
+                "size": 40,
+                "d": 20,
                 "null_allowed": False,
             },
             "Status": {
@@ -81,6 +83,8 @@ class DetermineDatatypesTest(unittest.TestCase):
             },
             "Wert": {
                 "type": "decimal",
+                "size": 40,
+                "d": 20,
                 "null_allowed": False,
             },
             "Status": {
@@ -125,6 +129,8 @@ class DetermineDatatypesTest(unittest.TestCase):
             },
             "Wert": {
                 "type": "decimal",
+                "size": 40,
+                "d": 20,
                 "null_allowed": False,
             },
             "Status": {
@@ -149,6 +155,8 @@ class DetermineDatatypesTest(unittest.TestCase):
             },
             "float": {
                 "type": "decimal",
+                "size": 40,
+                "d": 20,
                 "null_allowed": False,
             },
             "string": {
diff --git a/dbrepo-ui/bun.lockb b/dbrepo-ui/bun.lockb
index 20aecae3f32b90faac1b0e97a01889f10f5c9aa7..b82e45d505fdc0e1f41e246f7d1caefe3e23007c 100755
Binary files a/dbrepo-ui/bun.lockb and b/dbrepo-ui/bun.lockb differ
diff --git a/dbrepo-ui/components/table/TableSchema.vue b/dbrepo-ui/components/table/TableSchema.vue
index 57169a95fa1af760389723064b098d079547d9f4..7fbce1b6ece69fc0da226f75ba4a9cf659c1ee70 100644
--- a/dbrepo-ui/components/table/TableSchema.vue
+++ b/dbrepo-ui/components/table/TableSchema.vue
@@ -4,6 +4,16 @@
       ref="form"
       v-model="valid"
       :disabled="disabled">
+      <v-row
+        v-if="showPrimaryKeyWarning">
+        <v-col md="8">
+          <v-alert
+            border="start"
+            color="warning">
+            {{ $t('pages.table.subpages.import.schema.primary.warn') }}
+          </v-alert>
+        </v-col>
+      </v-row>
       <v-row
         v-for="(c, idx) in columns"
         :key="`r-${idx}`"
@@ -79,7 +89,6 @@
             :min="columnType(c).size_min"
             :max="columnType(c).size_max"
             :step="columnType(c).size_step"
-            :value="columnType(c).size_required === true ? columnType(c).size_default : null"
             :hint="sizeHint(c)"
             :clearable="!columnType(c).size_required"
             persistent-hint
@@ -163,16 +172,6 @@
             @click="addColumn()" />
         </v-col>
       </v-row>
-      <v-row
-        v-if="showPrimaryKeyWarning">
-        <v-col md="8">
-          <v-alert
-            border="start"
-            color="warning">
-            {{ $t('pages.table.subpages.import.schema.primary.warn') }}
-          </v-alert>
-        </v-col>
-      </v-row>
       <v-row>
         <v-col>
           <v-btn
@@ -300,7 +299,7 @@ export default {
       this.columns.splice(idx, 1)
     },
     addColumn (name = '', type = null, null_allowed = true, primary_key = false, unique = false) {
-      this.columns.push({
+      const column = {
         name,
         type,
         null_allowed,
@@ -309,9 +308,10 @@ export default {
         sets_values: null,
         enums: [],
         enums_values: null,
-        size: 0,
         d: 0
-      })
+      }
+      column.size = this.columnType(column).size_required === true ? this.columnType(column).size_default : null
+      this.columns.push()
       this.$refs.form.validate()
     },
     formatValues (column) {
diff --git a/dbrepo-ui/locales/en-US.json b/dbrepo-ui/locales/en-US.json
index 46ab9b93a4466d78671b08dc78ef091a8c267d87..67d8d749e36151e2804ee7ee5f1e770af8799b89 100644
--- a/dbrepo-ui/locales/en-US.json
+++ b/dbrepo-ui/locales/en-US.json
@@ -370,7 +370,7 @@
             "hint": "Required. First line contains only data"
           },
           "storage": {
-            "text": "Dataset from Storage Service"
+            "text": "Uploaded Dataset"
           },
           "quote": {
             "label": "Quote Encoding",
diff --git a/dbrepo-ui/nuxt.config.ts b/dbrepo-ui/nuxt.config.ts
index be6fb2940f66b5ae026427b7a4eae964d05fa714..8b2d381fd799da7b2d7a6513dbdf51a447a84326 100644
--- a/dbrepo-ui/nuxt.config.ts
+++ b/dbrepo-ui/nuxt.config.ts
@@ -1,4 +1,5 @@
 import {transformAssetUrls} from 'vite-plugin-vuetify'
+import vuetify from 'vite-plugin-vuetify'
 
 const proxy: any = {}
 
@@ -117,7 +118,12 @@ export default defineNuxtConfig({
     '@artmizu/nuxt-prometheus',
     '@nuxtjs/i18n',
     '@pinia/nuxt',
-    '@pinia-plugin-persistedstate/nuxt'
+    '@pinia-plugin-persistedstate/nuxt',
+    async (options, nuxt) => {
+      nuxt.hooks.hook('vite:extendConfig', config => config.plugins.push(
+        vuetify()
+      ))
+    },
   ],
 
   pinia: {
diff --git a/dbrepo-ui/package.json b/dbrepo-ui/package.json
index 5af18adf4d6bd4c58e0e1e89fdf02b8937bb05b3..856f56f4f0294cbc555f7d8d0a3d2e931d45ea58 100644
--- a/dbrepo-ui/package.json
+++ b/dbrepo-ui/package.json
@@ -45,7 +45,7 @@
     "@pinia-plugin-persistedstate/nuxt": "^1.2.0",
     "@types/qs": "^6.9.12",
     "sass": "^1.71.0",
-    "vite-plugin-vuetify": "^2.0.1"
+    "vite-plugin-vuetify": "^2.0.4"
   },
   "browserslist": [
     "defaults and fully supports es6-module",
diff --git a/dbrepo-ui/pages/login.vue b/dbrepo-ui/pages/login.vue
index 9a412a0b47c4de9bf642f4a8820f41593ef0f960..8a35efe59da3aa75da3ec5f23e4800fe92ea99ef 100644
--- a/dbrepo-ui/pages/login.vue
+++ b/dbrepo-ui/pages/login.vue
@@ -137,18 +137,12 @@ export default {
             })
             .catch(({code}) => {
               const toast = useToastInstance()
-              if (typeof code !== 'string') {
-                return
-              }
               toast.error(this.$t(code))
             })
         })
         .catch(({code}) => {
           this.loading = false
           const toast = useToastInstance()
-          if (typeof code !== 'string') {
-            return
-          }
           toast.error(this.$t(code))
         })
         .finally(() => {
diff --git a/dbrepo-ui/plugins/vuetify.ts b/dbrepo-ui/plugins/vuetify.ts
index e942e529f50cbb6f7eddd9d63080a751006aaa94..39a5f8c75a34122bf997ccbe8bb9c7144d51c189 100644
--- a/dbrepo-ui/plugins/vuetify.ts
+++ b/dbrepo-ui/plugins/vuetify.ts
@@ -1,10 +1,8 @@
 // plugins/vuetify.js
 import { createVuetify, type ThemeDefinition } from 'vuetify'
 import colors from 'vuetify/util/colors'
-import * as components from 'vuetify/components'
 import * as directives from 'vuetify/directives'
 import '@mdi/font/css/materialdesignicons.css'
-import {rgbParse} from "@kurkle/color";
 
 const tuwThemeLight: ThemeDefinition = {
   dark: false,
@@ -77,7 +75,6 @@ const tuwThemeDarkContrast: ThemeDefinition = {
 export default defineNuxtPlugin(app => {
   const vuetify : any = createVuetify({
     ssr: true,
-    components,
     directives,
     defaults: {
       VSelect: {
diff --git a/dbrepo-ui/utils/index.ts b/dbrepo-ui/utils/index.ts
index 95380474e1ad2608c2862ec3414eca0d8d7f7a67..4f30d8953405445c152dee0b6afd4dc6b44cba3a 100644
--- a/dbrepo-ui/utils/index.ts
+++ b/dbrepo-ui/utils/index.ts
@@ -1056,17 +1056,9 @@ export function axiosErrorToApiError(error: AxiosError): ApiErrorDto {
       message: error.message
     }
     return errorObj
-  } else if (error.code === 'ERR_BAD_REQUEST') {
-    /* timeout */
-    const errorObj: ApiErrorDto = {
-      status: error.code,
-      code: 'error.axios.malformed',
-      message: error.message
-    }
-    return errorObj
   }
-  if (error.response?.data) {
-    const errorObj: ApiErrorDto = (error.response?.data as ApiErrorDto)
+  if ('data' in error.response) {
+    const errorObj: ApiErrorDto = (error.response.data as ApiErrorDto)
     return errorObj
   }
   const errorObj: ApiErrorDto = {
diff --git a/helm/dbrepo/README.md b/helm/dbrepo/README.md
index cc57a2a2214dc4893006dc2e325e1d7a813c4cb5..ac4868af83af8fd9dc6dfc89d50e75fea5f0e64d 100644
--- a/helm/dbrepo/README.md
+++ b/helm/dbrepo/README.md
@@ -49,14 +49,14 @@ The command removes all the Kubernetes components associated with the chart and
 ### Global parameters
 
 | Name                                                  | Description                                                                                                                                                                                                                                                                                                                                                         | Value  |
-|-------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|
+| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
 | `global.compatibility.openshift.adaptSecurityContext` | Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation) | `auto` |
 | `global.storageClass`                                 | Global StorageClass for Persistent Volume(s)                                                                                                                                                                                                                                                                                                                        | `""`   |
 
 ### Common parameters
 
 | Name            | Description           | Value                 |
-|-----------------|-----------------------|-----------------------|
+| --------------- | --------------------- | --------------------- |
 | `hostname`      | The hostname.         | `example.com`         |
 | `gateway`       | The gateway endpoint. | `https://example.com` |
 | `strategyType`  | The image pull        | `RollingUpdate`       |
@@ -64,24 +64,25 @@ The command removes all the Kubernetes components associated with the chart and
 
 ### Metadata Database
 
-| Name                                     | Description                                                      | Value         |
-|------------------------------------------|------------------------------------------------------------------|---------------|
-| `metadatadb.enabled`                     | Enable the Metadata Database.                                    | `true`        |
-| `metadatadb.host`                        | The hostname for the microservices.                              | `metadata-db` |
-| `metadatadb.rootUser.user`               | The root username.                                               | `root`        |
-| `metadatadb.rootUser.password`           | The root user password.                                          | `dbrepo`      |
-| `metadatadb.db.name`                     | The database name.                                               | `dbrepo`      |
-| `metadatadb.galera.mariabackup.user`     | The database backup username.                                    | `backup`      |
-| `metadatadb.galera.mariabackup.password` | The database backup user password                                | `backup`      |
-| `metadatadb.jdbcExtraArgs`               | The extra arguments for JDBC connections in the microservices.   | `""`          |
-| `metadatadb.extraInitDbScripts`          | Additional init.db scripts that are executed on the first start. | `{}`          |
-| `metadatadb.replicaCount`                | The number of cluster nodes, should be uneven i.e. 2n+1          | `3`           |
-| `metadatadb.persistence.enabled`         | Enable persistent storage.                                       | `true`        |
+| Name                                     | Description                                                                                                                            | Value                                                                  |
+| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
+| `metadatadb.enabled`                     | Enable the Metadata datadb.                                                                                                            | `true`                                                                 |
+| `metadatadb.host`                        | The hostname for the microservices.                                                                                                    | `metadata-db`                                                          |
+| `metadatadb.extraFlags`                  | Extra flags to ensure the query store works as intended, ref https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/api/data-db/#data | `--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci` |
+| `metadatadb.rootUser.user`               | The root username.                                                                                                                     | `root`                                                                 |
+| `metadatadb.rootUser.password`           | The root user password.                                                                                                                | `dbrepo`                                                               |
+| `metadatadb.db.name`                     | The database name.                                                                                                                     | `dbrepo`                                                               |
+| `metadatadb.galera.mariabackup.user`     | The database backup username.                                                                                                          | `backup`                                                               |
+| `metadatadb.galera.mariabackup.password` | The database backup user password                                                                                                      | `backup`                                                               |
+| `metadatadb.jdbcExtraArgs`               | The extra arguments for JDBC connections in the microservices.                                                                         | `""`                                                                   |
+| `metadatadb.extraInitDbScripts`          | Additional init.db scripts that are executed on the first start.                                                                       | `{}`                                                                   |
+| `metadatadb.replicaCount`                | The number of cluster nodes, should be uneven i.e. 2n+1                                                                                | `3`                                                                    |
+| `metadatadb.persistence.enabled`         | Enable persistent storage.                                                                                                             | `true`                                                                 |
 
 ### Auth Service
 
 | Name                             | Description                                                  | Value                                                                                                                                                                                                                                                                                                                                                                                                      |
-|----------------------------------|--------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| -------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 | `authservice.enabled`            | Enable the Auth Service.                                     | `true`                                                                                                                                                                                                                                                                                                                                                                                                     |
 | `authservice.image.debug`        | Set the logging level to `trace`. Otherwise, set to `info`.  | `false`                                                                                                                                                                                                                                                                                                                                                                                                    |
 | `authservice.endpoint`           | The hostname for the microservices.                          | `http://auth-service`                                                                                                                                                                                                                                                                                                                                                                                      |
@@ -93,19 +94,24 @@ The command removes all the Kubernetes components associated with the chart and
 
 ### Data Database
 
-| Name                              | Description                                                 | Value         |
-|-----------------------------------|-------------------------------------------------------------|---------------|
-| `datadb.enabled`                  | Enable the Data Database.                                   | `true`        |
-| `datadb.database.image.debug`     | Set the logging level to `trace`. Otherwise, set to `info`. | `false`       |
-| `datadb.auth.rootPassword`        | The root user password.                                     | `dbrepo`      |
-| `datadb.auth.replicationUser`     | The database replication user password                      | `replication` |
-| `datadb.auth.replicationPassword` | The database replication user password                      | `replication` |
+| Name                                 | Description                                                                                                                            | Value                                                                  |
+| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
+| `datadb.host`                        | The hostname for the microservices.                                                                                                    | `data-db`                                                              |
+| `datadb.extraFlags`                  | Extra flags to ensure the query store works as intended, ref https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/api/data-db/#data | `--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci` |
+| `datadb.rootUser.user`               | The root username.                                                                                                                     | `root`                                                                 |
+| `datadb.rootUser.password`           | The root user password.                                                                                                                | `dbrepo`                                                               |
+| `datadb.db.name`                     | The database name.                                                                                                                     | `dbrepo`                                                               |
+| `datadb.galera.mariabackup.user`     | The database backup username.                                                                                                          | `backup`                                                               |
+| `datadb.galera.mariabackup.password` | The database backup user password                                                                                                      | `backup`                                                               |
+| `datadb.jdbcExtraArgs`               | The extra arguments for JDBC connections in the microservices.                                                                         | `""`                                                                   |
+| `datadb.replicaCount`                | The number of cluster nodes, should be uneven i.e. 2n+1                                                                                | `3`                                                                    |
+| `datadb.persistence.enabled`         | Enable persistent storage.                                                                                                             | `true`                                                                 |
 
 ### Search Database
 
 | Name                   | Description                         | Value       |
-|------------------------|-------------------------------------|-------------|
-| `searchdb.enabled`     | Enable the Data Database.           | `true`      |
+| ---------------------- | ----------------------------------- | ----------- |
+| `searchdb.enabled`     | Enable the Data datadb.             | `true`      |
 | `searchdb.host`        | The hostname for the microservices. | `search-db` |
 | `searchdb.port`        | The port for the microservices.     | `9200`      |
 | `searchdb.clusterName` | The cluster name.                   | `search-db` |
@@ -113,61 +119,62 @@ The command removes all the Kubernetes components associated with the chart and
 ### Upload Service
 
 | Name                         | Description                | Value  |
-|------------------------------|----------------------------|--------|
+| ---------------------------- | -------------------------- | ------ |
 | `uploadservice.enabled`      | Enable the Upload Service. | `true` |
 | `uploadservice.replicaCount` | The number of replicas.    | `2`    |
 
 ### Broker Service
 
-| Name                                | Description                                                                                                                      | Value                                                                        |
-|-------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
-| `brokerservice.enabled`             | Enable the Broker Service.                                                                                                       | `true`                                                                       |
-| `brokerservice.image.debug`         | Set the logging level to `trace`. Otherwise, set to `info`.                                                                      | `true`                                                                       |
-| `brokerservice.endpoint`            | The management api endpoint for the microservices.                                                                               | `http://broker-service:15672`                                                |
-| `brokerservice.host`                | The hostname for the microservices.                                                                                              | `broker-service`                                                             |
-| `brokerservice.port`                | The port for the microservices.                                                                                                  | `5672`                                                                       |
-| `brokerservice.virtualHost`         | The default virtual host name.                                                                                                   | `dbrepo`                                                                     |
-| `brokerservice.queueName`           | The default queue name.                                                                                                          | `dbrepo`                                                                     |
-| `brokerservice.exchangeName`        | The default exchange name.                                                                                                       | `dbrepo`                                                                     |
-| `brokerservice.routingKey`          | The default routing key binding from the default queue to the default exchange.                                                  | `dbrepo.#`                                                                   |
-| `brokerservice.connectionTimeout`   | The connection timeout in ms.                                                                                                    | `60000`                                                                      |
-| `brokerservice.ldap.binddn`         | The domain name the broker service should bind to. In many cases this is the admin user from `identityservice.global.adminUser`. | `cn=admin,dc=dbrepo,dc=at`                                                   |
-| `brokerservice.ldap.bindpw`         | The password to bind on the identity service. In many cases this value is equal to `identityservice.global.adminPassword`.       | `admin`                                                                      |
-| `brokerservice.ldap.uidField`       | The field containing the user id.                                                                                                | `uid`                                                                        |
-| `brokerservice.ldap.basedn`         | The base domain name containing the users.                                                                                       | `dc=dbrepo,dc=at`                                                            |
-| `brokerservice.ldap.userDnPattern`  | The pattern to determine the user.                                                                                               | `${username}`                                                                |
-| `brokerservice.extraPlugins`        | The list of plugins to be activated.                                                                                             | `rabbitmq_prometheus rabbitmq_auth_backend_ldap rabbitmq_auth_mechanism_ssl` |
-| `brokerservice.persistence.enabled` | If set to true, a PVC will be created.                                                                                           | `false`                                                                      |
-| `brokerservice.replicaCount`        | The number of replicas.                                                                                                          | `1`                                                                          |
+| Name                                | Description                                                                                                                      | Value                                                                                      |
+| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
+| `brokerservice.enabled`             | Enable the Broker Service.                                                                                                       | `true`                                                                                     |
+| `brokerservice.image.debug`         | Set the logging level to `trace`. Otherwise, set to `info`.                                                                      | `true`                                                                                     |
+| `brokerservice.endpoint`            | The management api endpoint for the microservices.                                                                               | `http://broker-service:15672`                                                              |
+| `brokerservice.host`                | The hostname for the microservices.                                                                                              | `broker-service`                                                                           |
+| `brokerservice.port`                | The port for the microservices.                                                                                                  | `5672`                                                                                     |
+| `brokerservice.virtualHost`         | The default virtual host name.                                                                                                   | `dbrepo`                                                                                   |
+| `brokerservice.queueName`           | The default queue name.                                                                                                          | `dbrepo`                                                                                   |
+| `brokerservice.exchangeName`        | The default exchange name.                                                                                                       | `dbrepo`                                                                                   |
+| `brokerservice.routingKey`          | The default routing key binding from the default queue to the default exchange.                                                  | `dbrepo.#`                                                                                 |
+| `brokerservice.connectionTimeout`   | The connection timeout in ms.                                                                                                    | `60000`                                                                                    |
+| `brokerservice.ldap.binddn`         | The domain name the broker service should bind to. In many cases this is the admin user from `identityservice.global.adminUser`. | `cn=admin,dc=dbrepo,dc=at`                                                                 |
+| `brokerservice.ldap.bindpw`         | The password to bind on the identity service. In many cases this value is equal to `identityservice.global.adminPassword`.       | `admin`                                                                                    |
+| `brokerservice.ldap.uidField`       | The field containing the user id.                                                                                                | `uid`                                                                                      |
+| `brokerservice.ldap.basedn`         | The base domain name containing the users.                                                                                       | `dc=dbrepo,dc=at`                                                                          |
+| `brokerservice.ldap.userDnPattern`  | The pattern to determine the user.                                                                                               | `${username}`                                                                              |
+| `brokerservice.extraPlugins`        | The list of plugins to be activated.                                                                                             | `rabbitmq_prometheus rabbitmq_auth_backend_ldap rabbitmq_auth_mechanism_ssl rabbitmq_mqtt` |
+| `brokerservice.persistence.enabled` | If set to true, a PVC will be created.                                                                                           | `false`                                                                                    |
+| `brokerservice.replicaCount`        | The number of replicas.                                                                                                          | `1`                                                                                        |
 
 ### Analyse Service
 
-| Name                                                               | Description                                                 | Value                            |
-|--------------------------------------------------------------------|-------------------------------------------------------------|----------------------------------|
-| `analyseservice.enabled`                                           | Enable the Broker Service.                                  | `true`                           |
-| `analyseservice.image.debug`                                       | Set the logging level to `trace`. Otherwise, set to `info`. | `false`                          |
-| `analyseservice.podSecurityContext.enabled`                        | Enable pods' Security Context                               | `true`                           |
-| `analyseservice.podSecurityContext.fsGroupChangePolicy`            | Set filesystem group change policy                          | `Always`                         |
-| `analyseservice.podSecurityContext.sysctls`                        | Set kernel settings using the sysctl interface              | `[]`                             |
-| `analyseservice.podSecurityContext.supplementalGroups`             | Set filesystem extra groups                                 | `[]`                             |
-| `analyseservice.podSecurityContext.fsGroup`                        | Set RabbitMQ pod's Security Context fsGroup                 | `1001`                           |
-| `analyseservice.containerSecurityContext.enabled`                  | Enabled containers' Security Context                        | `true`                           |
-| `analyseservice.containerSecurityContext.seLinuxOptions`           | Set SELinux options in container                            | `{}`                             |
-| `analyseservice.containerSecurityContext.runAsUser`                | Set RabbitMQ containers' Security Context runAsUser         | `1001`                           |
-| `analyseservice.containerSecurityContext.runAsGroup`               | Set RabbitMQ containers' Security Context runAsGroup        | `1001`                           |
-| `analyseservice.containerSecurityContext.runAsNonRoot`             | Set RabbitMQ container's Security Context runAsNonRoot      | `true`                           |
-| `analyseservice.containerSecurityContext.allowPrivilegeEscalation` | Set container's privilege escalation                        | `false`                          |
-| `analyseservice.containerSecurityContext.readOnlyRootFilesystem`   | Set container's Security Context readOnlyRootFilesystem     | `false`                          |
-| `analyseservice.containerSecurityContext.capabilities.drop`        | Set container's Security Context runAsNonRoot               | `["ALL"]`                        |
-| `analyseservice.containerSecurityContext.seccompProfile.type`      | Set container's Security Context seccomp profile            | `RuntimeDefault`                 |
-| `analyseservice.endpoint`                                          | The url of the endpoint.                                    | `http://analyse-service`         |
-| `analyseservice.s3.endpoint`                                       | The S3-capable endpoint the microservice connects to.       | `http://storage-service-s3:8333` |
-| `analyseservice.replicaCount`                                      | The number of replicas.                                     | `2`                              |
+| Name                                                               | Description                                                 | Value                     |
+| ------------------------------------------------------------------ | ----------------------------------------------------------- | ------------------------- |
+| `analyseservice.enabled`                                           | Enable the Broker Service.                                  | `true`                    |
+| `analyseservice.image.debug`                                       | Set the logging level to `trace`. Otherwise, set to `info`. | `false`                   |
+| `analyseservice.podSecurityContext.enabled`                        | Enable pods' Security Context                               | `true`                    |
+| `analyseservice.podSecurityContext.fsGroupChangePolicy`            | Set filesystem group change policy                          | `Always`                  |
+| `analyseservice.podSecurityContext.sysctls`                        | Set kernel settings using the sysctl interface              | `[]`                      |
+| `analyseservice.podSecurityContext.supplementalGroups`             | Set filesystem extra groups                                 | `[]`                      |
+| `analyseservice.podSecurityContext.fsGroup`                        | Set RabbitMQ pod's Security Context fsGroup                 | `1001`                    |
+| `analyseservice.containerSecurityContext.enabled`                  | Enabled containers' Security Context                        | `true`                    |
+| `analyseservice.containerSecurityContext.seLinuxOptions`           | Set SELinux options in container                            | `{}`                      |
+| `analyseservice.containerSecurityContext.runAsUser`                | Set RabbitMQ containers' Security Context runAsUser         | `1001`                    |
+| `analyseservice.containerSecurityContext.runAsGroup`               | Set RabbitMQ containers' Security Context runAsGroup        | `1001`                    |
+| `analyseservice.containerSecurityContext.runAsNonRoot`             | Set RabbitMQ container's Security Context runAsNonRoot      | `true`                    |
+| `analyseservice.containerSecurityContext.allowPrivilegeEscalation` | Set container's privilege escalation                        | `false`                   |
+| `analyseservice.containerSecurityContext.readOnlyRootFilesystem`   | Set container's Security Context readOnlyRootFilesystem     | `false`                   |
+| `analyseservice.containerSecurityContext.capabilities.drop`        | Set container's Security Context runAsNonRoot               | `["ALL"]`                 |
+| `analyseservice.containerSecurityContext.seccompProfile.type`      | Set container's Security Context seccomp profile            | `RuntimeDefault`          |
+| `analyseservice.endpoint`                                          | The url of the endpoint.                                    | `http://analyse-service`  |
+| `analyseservice.s3.proto`                                          | The protocol of the storage service endpoint.               | `http`                    |
+| `analyseservice.s3.endpoint`                                       | The hostname and port of the storage service endpoint.      | `storage-service-s3:8333` |
+| `analyseservice.replicaCount`                                      | The number of replicas.                                     | `2`                       |
 
 ### Metadata Service
 
 | Name                                                                | Description                                                                        | Value                            |
-|---------------------------------------------------------------------|------------------------------------------------------------------------------------|----------------------------------|
+| ------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------- |
 | `metadataservice.enabled`                                           | Enable the Broker Service.                                                         | `true`                           |
 | `metadataservice.image.debug`                                       | Set the logging level to `trace`. Otherwise, set to `info`.                        | `false`                          |
 | `metadataservice.podSecurityContext.enabled`                        | Enable pods' Security Context                                                      | `true`                           |
@@ -205,7 +212,7 @@ The command removes all the Kubernetes components associated with the chart and
 ### Data Service
 
 | Name                                                            | Description                                                                                                                                      | Value                                                                                                                       |
-|-----------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|
+| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
 | `dataservice.enabled`                                           | Enable the Broker Service.                                                                                                                       | `true`                                                                                                                      |
 | `dataservice.endpoint`                                          | Absolute URL to the data service in the form of http://host:port                                                                                 | `http://data-service`                                                                                                       |
 | `dataservice.image.debug`                                       | Set the logging level to `trace`. Otherwise, set to `info`.                                                                                      | `false`                                                                                                                     |
@@ -225,9 +232,6 @@ The command removes all the Kubernetes components associated with the chart and
 | `dataservice.containerSecurityContext.seccompProfile.type`      | Set container's Security Context seccomp profile                                                                                                 | `RuntimeDefault`                                                                                                            |
 | `dataservice.grant.read`                                        | The default database permissions for users with read access.                                                                                     | `SELECT`                                                                                                                    |
 | `dataservice.grant.write`                                       | The default database permissions for users with write access.                                                                                    | `SELECT, CREATE, CREATE VIEW, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, INDEX, TRIGGER, INSERT, UPDATE, DELETE` |
-| `dataservice.default.date`                                      | The default date format id for dates. Default: YYYY-MM-dd (e.g. 2024-06-15).                                                                     | `3`                                                                                                                         |
-| `dataservice.default.time`                                      | The default date format id for times. Default: HH:mm:ss (e.g. 14:23:42).                                                                         | `4`                                                                                                                         |
-| `dataservice.default.timestamp`                                 | The default date format id for timestamps. Default: YYYY-MM-dd HH:mm:ss (e.g. 2024-06-15 14:23:42).                                              | `1`                                                                                                                         |
 | `dataservice.rabbitmq.consumerConcurrentMin`                    | The minimal number of RabbitMQ consumers.                                                                                                        | `2`                                                                                                                         |
 | `dataservice.rabbitmq.consumerConcurrentMax`                    | The maximal number of RabbitMQ consumers.                                                                                                        | `6`                                                                                                                         |
 | `dataservice.rabbitmq.requeueRejected`                          | If set to true, rejected tuples will be re-queued.                                                                                               | `false`                                                                                                                     |
@@ -243,7 +247,7 @@ The command removes all the Kubernetes components associated with the chart and
 ### Search Service
 
 | Name                                                              | Description                                                        | Value                   |
-|-------------------------------------------------------------------|--------------------------------------------------------------------|-------------------------|
+| ----------------------------------------------------------------- | ------------------------------------------------------------------ | ----------------------- |
 | `searchservice.enabled`                                           | Enable the Broker Service.                                         | `true`                  |
 | `searchservice.endpoint`                                          | Absolute URL to the search service in the form of http://host:port | `http://search-service` |
 | `searchservice.image.debug`                                       | Set the logging level to `trace`. Otherwise, set to `info`.        | `false`                 |
@@ -266,7 +270,7 @@ The command removes all the Kubernetes components associated with the chart and
 ### Storage Service
 
 | Name                                          | Description                                                                            | Value            |
-|-----------------------------------------------|----------------------------------------------------------------------------------------|------------------|
+| --------------------------------------------- | -------------------------------------------------------------------------------------- | ---------------- |
 | `storageservice.enabled`                      | Enable the Storage Service.                                                            | `true`           |
 | `storageservice.mariadb.auth.rootPassword`    | The user password for the root user.                                                   | `seaweedfsdb`    |
 | `storageservice.filer.enabled`                | Enable the storage service filer which is required for S3.                             | `true`           |
@@ -279,7 +283,7 @@ The command removes all the Kubernetes components associated with the chart and
 ### Identity Service
 
 | Name                                   | Description                                                                                                   | Value             |
-|----------------------------------------|---------------------------------------------------------------------------------------------------------------|-------------------|
+| -------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ----------------- |
 | `identityservice.enabled`              | Enable the Identity Service.                                                                                  | `true`            |
 | `identityservice.global.ldapDomain`    | The LDAP domain name in domain "dbrepo.at" form or explicit in "dc=dbrepo,dc=at" form.                        | `dc=dbrepo,dc=at` |
 | `identityservice.global.adminUser`     | The admin username that is used to bind.                                                                      | `admin`           |
@@ -294,7 +298,7 @@ The command removes all the Kubernetes components associated with the chart and
 ### User Interface
 
 | Name                                                   | Description                                                                                          | Value                   |
-|--------------------------------------------------------|------------------------------------------------------------------------------------------------------|-------------------------|
+| ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | ----------------------- |
 | `ui.enabled`                                           | Enable the Broker Service.                                                                           | `true`                  |
 | `ui.image.debug`                                       | Set the logging level to `trace`. Otherwise, set to `info`.                                          | `false`                 |
 | `ui.podSecurityContext.enabled`                        | Enable pods' Security Context                                                                        | `true`                  |
@@ -331,20 +335,20 @@ The command removes all the Kubernetes components associated with the chart and
 ### Dashboard Service
 
 | Name                                          | Description                                                                                                            | Value  |
-|-----------------------------------------------|------------------------------------------------------------------------------------------------------------------------|--------|
+| --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------ |
 | `dashboardservice.enabled`                    | Enable the Dashboard Service.                                                                                          | `true` |
 | `dashboardservice.dashboardsProvider.enabled` | Enable the default dashboard provisioning provider to routinely import dashboards from /opt/bitnami/grafana/dashboards | `true` |
 
 ### Metric Service
 
 | Name               | Description                | Value  |
-|--------------------|----------------------------|--------|
+| ------------------ | -------------------------- | ------ |
 | `metricdb.enabled` | Enable the Metric Service. | `true` |
 
 ### Ingress
 
 | Name                     | Description                                                                                                     | Value          |
-|--------------------------|-----------------------------------------------------------------------------------------------------------------|----------------|
+| ------------------------ | --------------------------------------------------------------------------------------------------------------- | -------------- |
 | `ingress.enabled`        | Enable the ingress.                                                                                             | `false`        |
 | `ingress.className`      | The ingress class name.                                                                                         | `nginx`        |
 | `ingress.tls.enabled`    | Enable the ingress.                                                                                             | `true`         |
diff --git a/helm/dbrepo/values.schema.json b/helm/dbrepo/values.schema.json
index 6f83a1d170836312b1cc2aaea8428143d4f9154d..2248778af031fe66b223525cb04f628e6bdbe984 100644
--- a/helm/dbrepo/values.schema.json
+++ b/helm/dbrepo/values.schema.json
@@ -123,6 +123,9 @@
                     "properties": {
                         "endpoint": {
                             "type": "string"
+                        },
+                        "proto": {
+                            "type": "string"
                         }
                     },
                     "type": "object"
@@ -514,41 +517,23 @@
         },
         "datadb": {
             "properties": {
-                "database": {
+                "db": {
                     "properties": {
-                        "galera": {
-                            "properties": {
-                                "mariabackup": {
-                                    "properties": {
-                                        "password": {
-                                            "type": "string"
-                                        },
-                                        "user": {
-                                            "type": "string"
-                                        }
-                                    },
-                                    "type": "object"
-                                }
-                            },
-                            "type": "object"
-                        },
-                        "image": {
-                            "properties": {
-                                "debug": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "type": "object"
-                        },
-                        "metrics": {
-                            "properties": {
-                                "enabled": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "type": "object"
-                        },
-                        "rootUser": {
+                        "name": {
+                            "type": "string"
+                        }
+                    },
+                    "type": "object"
+                },
+                "extraFlags": {
+                    "type": "string"
+                },
+                "fullnameOverride": {
+                    "type": "string"
+                },
+                "galera": {
+                    "properties": {
+                        "mariabackup": {
                             "properties": {
                                 "password": {
                                     "type": "string"
@@ -562,11 +547,41 @@
                     },
                     "type": "object"
                 },
-                "enabled": {
-                    "type": "boolean"
+                "host": {
+                    "type": "string"
                 },
-                "fullnameOverride": {
+                "jdbcExtraArgs": {
                     "type": "string"
+                },
+                "metrics": {
+                    "properties": {
+                        "enabled": {
+                            "type": "boolean"
+                        }
+                    },
+                    "type": "object"
+                },
+                "persistence": {
+                    "properties": {
+                        "enabled": {
+                            "type": "boolean"
+                        }
+                    },
+                    "type": "object"
+                },
+                "replicaCount": {
+                    "type": "integer"
+                },
+                "rootUser": {
+                    "properties": {
+                        "password": {
+                            "type": "string"
+                        },
+                        "user": {
+                            "type": "string"
+                        }
+                    },
+                    "type": "object"
                 }
             },
             "type": "object"
@@ -619,20 +634,6 @@
                     },
                     "type": "object"
                 },
-                "default": {
-                    "properties": {
-                        "date": {
-                            "type": "integer"
-                        },
-                        "time": {
-                            "type": "integer"
-                        },
-                        "timestamp": {
-                            "type": "integer"
-                        }
-                    },
-                    "type": "object"
-                },
                 "enabled": {
                     "type": "boolean"
                 },
@@ -769,6 +770,14 @@
         },
         "identityservice": {
             "properties": {
+                "containerSecurityContext": {
+                    "properties": {
+                        "enabled": {
+                            "type": "boolean"
+                        }
+                    },
+                    "type": "object"
+                },
                 "customSchemaFiles": {
                     "properties": {
                         "00-memberof.ldif": {
@@ -946,6 +955,9 @@
                 "enabled": {
                     "type": "boolean"
                 },
+                "extraFlags": {
+                    "type": "string"
+                },
                 "extraInitDbScripts": {
                     "properties": {},
                     "type": "object"
diff --git a/helm/dbrepo/values.yaml b/helm/dbrepo/values.yaml
index 5c76e6f8e68790c4cb73d95497c92a9ebfd44897..15ee11102bdec582f229af779d9b2be429f21d55 100644
--- a/helm/dbrepo/values.yaml
+++ b/helm/dbrepo/values.yaml
@@ -33,6 +33,8 @@ metadatadb:
   fullnameOverride: metadata-db
   ## @param metadatadb.host The hostname for the microservices.
   host: metadata-db
+  ## @param metadatadb.extraFlags Extra flags to ensure the query store works as intended, ref https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/api/data-db/#data
+  extraFlags: "--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci"
   rootUser:
     ## @param metadatadb.rootUser.user The root username.
     user: root
@@ -126,6 +128,8 @@ datadb:
   fullnameOverride: data-db
   ## @param datadb.host The hostname for the microservices.
   host: data-db
+  ## @param datadb.extraFlags Extra flags to ensure the query store works as intended, ref https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/api/data-db/#data
+  extraFlags: "--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci"
   rootUser:
     ## @param datadb.rootUser.user The root username.
     user: root
@@ -772,7 +776,7 @@ ui:
       ## @param ui.public.broker.extra Extra metadata displayed.
       extra: ""
     database:
-      ## @param ui.public.datadb.extra Extra metadata displayed.
+      ## @param ui.public.database.extra Extra metadata displayed.
       extra: ""
     ## @skip ui.public.links
     links:
diff --git a/make/build.mk b/make/build.mk
index 06e49be88844fac41e68c1c022c5f04877c7fe58..b71a9140cb4e5d3b3d8cf2e8e172e4cf7bf39dea 100644
--- a/make/build.mk
+++ b/make/build.mk
@@ -32,8 +32,6 @@ build-lib: ## Build the Python Library.
 .PHONY: build-helm
 build-helm: ## Build the DBRepo and DBRepo MariaDB Galera Helm Charts.
 	./.scripts/check-helm.sh
-	helm package ./helm/dbrepo-mariadb-galera --destination ./build
-	helm schema -input ./helm/dbrepo-mariadb-galera/values.yaml -output ./helm/dbrepo-mariadb-galera/values.schema.json
 	helm dependency update ./helm/dbrepo
 	helm package ./helm/dbrepo --destination ./build
 	helm schema -input ./helm/dbrepo/values.yaml -output ./helm/dbrepo/values.schema.json
diff --git a/make/dev.mk b/make/dev.mk
index e95dee62fe4c0f3bd933dd8058e4329c49d5bb1e..ce7b88e7de04f531a2d4edb65ad75e68e1f74312 100644
--- a/make/dev.mk
+++ b/make/dev.mk
@@ -13,6 +13,7 @@ stop-dev: ## Stop the development deployment and remove all data.
 
 .PHONY: package-config
 package-config: ## Package the config files
+	mkdir -p ./.docker/config/{dashboards,provisioning}
 	cp ./dbrepo-auth-service/dbrepo-realm.json ./.docker/config
 	cp ./dbrepo-auth-service/import-realms.sh ./.docker/config
 	cp ./dbrepo-auth-service/master-realm.json ./.docker/config
diff --git a/make/gen.mk b/make/gen.mk
index 322bc6625941b33eb72912212f3034e6cf259dd4..5875f1a73700c3760aeb79a03a4773a2d22fe24b 100644
--- a/make/gen.mk
+++ b/make/gen.mk
@@ -9,7 +9,7 @@ gen-swagger-doc: build-images ## Generate Swagger documentation and fetch.
 
 .PHONY: gen-helm-doc
 gen-helm-doc: build-helm ## Generate Helm documentation and schema
-	readme-generator-for-helm --readme ./helm/dbrepo/README.md --values ./helm/dbrepo/values.yaml
+	readme-generator --readme ./helm/dbrepo/README.md --values ./helm/dbrepo/values.yaml
 
 .PHONY: gen-dbrepo-doc
 gen-docs-doc: ## Generate DBRepo documentation.
diff --git a/make/rel.mk b/make/rel.mk
index f32f34dc22b0e2f1497e59e739b01377a556265b..6a24d75a90a3abe6a887262b285262135c1688ce 100644
--- a/make/rel.mk
+++ b/make/rel.mk
@@ -8,7 +8,6 @@ tag-images: build-images ## Tag the docker images.
 	docker tag dbrepo-data-service:latest "${REPOSITORY_URL}/data-service:${APP_VERSION}"
 	docker tag dbrepo-metadata-service:latest "${REPOSITORY_URL}/metadata-service:${APP_VERSION}"
 	docker tag dbrepo-search-db:latest "${REPOSITORY_URL}/search-db:${APP_VERSION}"
-	docker tag dbrepo-data-db-sidecar:latest "${REPOSITORY_URL}/data-db-sidecar:${APP_VERSION}"
 	docker tag dbrepo-search-service:latest "${REPOSITORY_URL}/search-service:${APP_VERSION}"
 	docker tag dbrepo-search-service-init:latest "${REPOSITORY_URL}/search-service-init:${APP_VERSION}"
 	docker tag dbrepo-storage-service-init:latest "${REPOSITORY_URL}/storage-service-init:${APP_VERSION}"
@@ -20,7 +19,6 @@ release-images: tag-images ## Release the docker images.
 	docker push "${REPOSITORY_URL}/ui:${APP_VERSION}"
 	docker push "${REPOSITORY_URL}/data-service:${APP_VERSION}"
 	docker push "${REPOSITORY_URL}/search-db:${APP_VERSION}"
-	docker push "${REPOSITORY_URL}/data-db-sidecar:${APP_VERSION}"
 	docker push "${REPOSITORY_URL}/metadata-service:${APP_VERSION}"
 	docker push "${REPOSITORY_URL}/search-service:${APP_VERSION}"
 	docker push "${REPOSITORY_URL}/search-service-init:${APP_VERSION}"