From 97d447e264ee0026a54c97ed68cd42daaa4b302a Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Wed, 6 Nov 2024 13:33:10 +0100
Subject: [PATCH] Updated helm chart values

---
 .docs/api/data-db.md           |  22 +----
 .gitlab-ci.yml                 |   2 +-
 README.md                      |  16 ++--
 helm/dbrepo/README.md          | 162 +++++++++++++++++----------------
 helm/dbrepo/values.schema.json | 114 ++++++++++++-----------
 helm/dbrepo/values.yaml        |   6 +-
 make/build.mk                  |   2 -
 make/gen.mk                    |   2 +-
 8 files changed, 164 insertions(+), 162 deletions(-)

diff --git a/.docs/api/data-db.md b/.docs/api/data-db.md
index aecabb9736..f721b2b164 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/.gitlab-ci.yml b/.gitlab-ci.yml
index 3a736f256e..92943423b6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -415,9 +415,9 @@ release-docs:
     refs:
       - /^release-.*/
   before_script:
+    - "apk add --no-cache alpine-sdk bash sed wget openssh jq curl gcc"
     - "pip install pipenv"
     - "pipenv install --dev --system --deploy"
-    - "apk add --no-cache alpine-sdk bash sed wget openssh jq curl gcc"
     - "mkdir -p ./final/${DOC_VERSION}/rest"
   script:
     - "make gen-lib-doc gen-docs-doc package-config"
diff --git a/README.md b/README.md
index afe792821c..9531fc8867 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/helm/dbrepo/README.md b/helm/dbrepo/README.md
index cc57a2a221..ac4868af83 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 6f83a1d170..2248778af0 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 5c76e6f8e6..15ee11102b 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 06e49be888..b71a9140cb 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/gen.mk b/make/gen.mk
index 322bc66259..5875f1a737 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.
-- 
GitLab