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/.gitlab-ci.yml b/.gitlab-ci.yml index 3a736f256e427ec44720f5eb30918c4b0fb846e9..92943423b61882b75ac9d82889841b44750c46ca 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 afe792821c287a613000a6d395ceb14ac7c35452..9531fc88676494df4cb9077a931733d92894747a 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,10 @@ - - - - - - - - - +[](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services) +[](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services) +[](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services) +[](https://pypi.org/project/dbrepo/) +[](https://hub.docker.com/u/dbrepo) +[](https://artifacthub.io/packages/helm/dbrepo/dbrepo) +[](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services) <img src="./dbrepo-ui/public/logo.png" width="200" alt="DBRepo — Repository for Data in Databases" /> 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/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.