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

Merge branch 'dev'

parents 818758d5 25410932
No related branches found
No related tags found
3 merge requests!237Resolve "Proxy settings",!235Master,!233Master
Showing
with 209 additions and 108 deletions
.docs/images/screenshots/ui-config-step-1.png

160 KiB

File moved
...@@ -16,16 +16,67 @@ author: Martin Weise ...@@ -16,16 +16,67 @@ author: Martin Weise
## Overview ## Overview
It provides a *user interface* (UI) for a researcher to interact with the database repository's API. It provides a graphical interface for a researcher to interact with the API (c.f. Figure 1).
<figure markdown> <figure markdown>
![Data ingest](images/ui.png){ .img-border } ![User Interface](images/screenshots/ui.png){ .img-border }
<figcaption>User Interface</figcaption> <figcaption>Figure 1: User Interface</figcaption>
</figure> </figure>
For examples on how to use the User Interface, visit the [Usage Overview](../usage-overview/) to find out how to create
users, databases and how to import your data.
### Settings
The User Interface can be configured extensively with
the [`dbrepo.config.json`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/dbrepo-ui/dbrepo.config.json)
configuration file, mounted directly into the container with e.g. docker compose. As a small example, you can configure
the logo :material-numeric-1-circle-outline: in Figure 2. Make sure you mount the logo as image as well, in this example
we want to mount a custom logo `my_logo.png` into the container and specify the name.
<figure markdown>
![Architecture of the UI microservice](images/screenshots/ui-config-step-1.png){ .img-border }
<figcaption>Figure 2: Architecture of the UI microservice</figcaption>
</figure>
Text values like the version :material-numeric-2-circle-outline: and title :material-numeric-3-circle-outline: can be
configured as well via the `dbrepo.config.json` values file. The important links section
:material-numeric-4-circle-outline: can be modified or removed entirely by setting `page.information.links` to `[]`.
```json title="dbrepo.config.json"
{
"title": "Database Repository",
"version": "$TAG_DOCKER-COMPOSE",
"logo": {
"path": "/my_logo.png"
},
"page": {
"information": {
"links": []
}
},
...
}
```
To work, you need to mount the `my_logo.png` file into the `dbrepo-ui` container via the `docker-compose.yml` file (or
if you use a Kubernetes deployment via ConfigMap and Volumes).
```yaml title="docker-compose.yml"
services:
dbrepo-ui:
image: docker.io/dbrepo/ui:$TAG
volumes:
- ./my_logo.png:/app/static/my_logo.png
- ./dbrepo.conf.json:/app/dbrepo.conf.json
...
```
### Architecture
<figure markdown> <figure markdown>
![UI microservice architecture detailed](images/architecture-ui.svg) ![Architecture of the UI microservice](images/architecture-ui.svg)
<figcaption>Architecture of the UI microservice</figcaption> <figcaption>Figure 3: Architecture of the UI microservice</figcaption>
</figure> </figure>
### Example ### Example
......
...@@ -10,12 +10,33 @@ author: Martin Weise ...@@ -10,12 +10,33 @@ author: Martin Weise
Image: [`nginx:1.25-alpine-slim`](https://hub.docker.com/r/nginx) Image: [`nginx:1.25-alpine-slim`](https://hub.docker.com/r/nginx)
* Ports: 80/tcp, 443/tcp * Ports: 80/tcp
## Overview ## Overview
Provides a single point of access to the *application programming interface* (API) and configures a Provides a single point of access to the *application programming interface* (API) and configures a
standard [NGINX](https://www.nginx.com/) reverse proxy for load balancing, SSL/TLS configuration. standard [NGINX](https://www.nginx.com/) reverse proxy for load balancing. This component is optional if you already have a load balancer
or reverse proxy running.
### Settings
To setup SSL/TLS encryption, mount your TLS certificate and TLS private key into the container directly into the
`/etc/nginx/` directory.
```yaml title="docker-compose.yml"
services:
dbrepo-gateway-service:
image: docker.io/nginx:1.25-alpine-slim
ports:
- "80:80"
- "443:443"
volumes:
- ./fullchain.pem:/etc/nginx/fullchain.pem
- ./privkey.pem:/etc/nginx/privkey.pem
...
```
If your TLS private key as a password, you need to specify it in the `dbrepo.conf` file.
## Limitations ## Limitations
...@@ -24,7 +45,7 @@ standard [NGINX](https://www.nginx.com/) reverse proxy for load balancing, SSL/T ...@@ -24,7 +45,7 @@ standard [NGINX](https://www.nginx.com/) reverse proxy for load balancing, SSL/T
## Security ## Security
1. Enable TLS encryption by downloading 1. Enable TLS encryption by downloading
the [`dbrepo.conf`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/dbrepo-gateway-service/dbrepo.conf) the [`dbrepo.conf`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/dbrepo-gateway-service/dbrepo.conf)
and editing the *server* block to include your TLS certificate (with trust chain) `fullchain.pem` and TLS private key and editing the *server* block to include your TLS certificate (with trust chain) `fullchain.pem` and TLS private key
`privkey.pem` (PEM-encoded). `privkey.pem` (PEM-encoded).
......
...@@ -7,6 +7,8 @@ target/ ...@@ -7,6 +7,8 @@ target/
# generated # generated
ready ready
schema.xsd schema.xsd
final/
build/
# docs # docs
.docs/.swagger/dist/ .docs/.swagger/dist/
...@@ -69,7 +71,7 @@ debug.txt ...@@ -69,7 +71,7 @@ debug.txt
.DS_Store .DS_Store
# IDE # IDE
fda-analyse-service/venv venv/
.git.bfg-* .git.bfg-*
# Docs # Docs
......
...@@ -5,7 +5,8 @@ variables: ...@@ -5,7 +5,8 @@ variables:
TRIVY_CACHE_DIR: ".trivycache/" TRIVY_CACHE_DIR: ".trivycache/"
DOCKER_HOST: "unix:///var/run/dind/docker.sock" DOCKER_HOST: "unix:///var/run/dind/docker.sock"
TESTCONTAINERS_RYUK_DISABLED: "false" TESTCONTAINERS_RYUK_DISABLED: "false"
VERSION: "1.4.0" APP_VERSION: "1.4.1"
CHART_VERSION: "1.4.1"
image: debian:12-slim image: debian:12-slim
...@@ -157,6 +158,7 @@ scan-analyse-service: ...@@ -157,6 +158,7 @@ scan-analyse-service:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-analyse-service-report.json docker.io/dbrepo/analyse-service:latest - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-analyse-service-report.json docker.io/dbrepo/analyse-service:latest
...@@ -177,6 +179,7 @@ scan-authentication-service: ...@@ -177,6 +179,7 @@ scan-authentication-service:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-authentication-service-report.json docker.io/dbrepo/authentication-service:latest - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-authentication-service-report.json docker.io/dbrepo/authentication-service:latest
...@@ -197,6 +200,7 @@ scan-broker-service: ...@@ -197,6 +200,7 @@ scan-broker-service:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-broker-service-report.json docker.io/dbrepo/broker-service:latest - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-broker-service-report.json docker.io/dbrepo/broker-service:latest
...@@ -217,6 +221,7 @@ scan-gateway-service: ...@@ -217,6 +221,7 @@ scan-gateway-service:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-gateway-service-report.json docker.io/nginx:1.25.0-alpine-slim - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-gateway-service-report.json docker.io/nginx:1.25.0-alpine-slim
...@@ -237,6 +242,7 @@ scan-metadata-service: ...@@ -237,6 +242,7 @@ scan-metadata-service:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-metadata-service-report.json docker.io/dbrepo/metadata-service:latest - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-metadata-service-report.json docker.io/dbrepo/metadata-service:latest
...@@ -257,6 +263,7 @@ scan-data-service: ...@@ -257,6 +263,7 @@ scan-data-service:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-data-service-report.json docker.io/dbrepo/data-service:latest - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-data-service-report.json docker.io/dbrepo/data-service:latest
...@@ -277,6 +284,7 @@ scan-search-db: ...@@ -277,6 +284,7 @@ scan-search-db:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-db-report.json docker.io/dbrepo/search-db:latest - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-db-report.json docker.io/dbrepo/search-db:latest
...@@ -297,6 +305,7 @@ scan-search-dashboard: ...@@ -297,6 +305,7 @@ scan-search-dashboard:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-dashboard-report.json docker.io/opensearchproject/opensearch-dashboards:2.10.0 - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-dashboard-report.json docker.io/opensearchproject/opensearch-dashboards:2.10.0
...@@ -317,6 +326,7 @@ scan-search-db-init: ...@@ -317,6 +326,7 @@ scan-search-db-init:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-db-init-report.json docker.io/dbrepo/search-db-init:latest - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-db-init-report.json docker.io/dbrepo/search-db-init:latest
...@@ -337,6 +347,7 @@ scan-data-db: ...@@ -337,6 +347,7 @@ scan-data-db:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-data-db-report.json docker.io/bitnami/mariadb:11.2.2-debian-11-r0 - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-data-db-report.json docker.io/bitnami/mariadb:11.2.2-debian-11-r0
...@@ -357,6 +368,7 @@ scan-metadata-db: ...@@ -357,6 +368,7 @@ scan-metadata-db:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-metadata-db-report.json docker.io/dbrepo/metadata-db:latest - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-metadata-db-report.json docker.io/dbrepo/metadata-db:latest
...@@ -377,6 +389,7 @@ scan-ui: ...@@ -377,6 +389,7 @@ scan-ui:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-ui-report.json docker.io/dbrepo/ui:latest - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-ui-report.json docker.io/dbrepo/ui:latest
...@@ -397,6 +410,7 @@ scan-storage-service: ...@@ -397,6 +410,7 @@ scan-storage-service:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-storage-service-report.json docker.io/chrislusf/seaweedfs:3.59 - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-storage-service-report.json docker.io/chrislusf/seaweedfs:3.59
...@@ -417,6 +431,7 @@ scan-storage-service-init: ...@@ -417,6 +431,7 @@ scan-storage-service-init:
only: only:
refs: refs:
- master - master
- release-v1.4
allow_failure: true allow_failure: true
script: script:
- trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-storage-service-init-report.json docker.io/dbrepo/storage-service-init:latest - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-storage-service-init-report.json docker.io/dbrepo/storage-service-init:latest
...@@ -486,7 +501,39 @@ release-1.4: ...@@ -486,7 +501,39 @@ release-1.4:
script: script:
- "ifconfig eth0 mtu 1450 up" - "ifconfig eth0 mtu 1450 up"
- "apk add make bash" - "apk add make bash"
- "TAG=${VERSION} make release" - "TAG=${APP_VERSION} make release"
release-helm-latest:
stage: release
image: docker:24-dind
only:
refs:
- dev
- master
before_script:
- echo "$CI_REGISTRY2_PASSWORD" | docker login --username "$CI_REGISTRY2_USER" --password-stdin $CI_REGISTRY2_URL
script:
- apk add sed helm
- 'sed -i -e "s/^version:.*/version: \"${CHART_VERSION}-0.git.${CI_PIPELINE_ID}.${CI_COMMIT_SHORT_SHA}\"/g" ./helm-charts/dbrepo/Chart.yaml'
- 'sed -i -e "s/^appVersion:.*/appVersion: \"${CHART_VERSION}-0.git.${CI_PIPELINE_ID}.${CI_COMMIT_SHORT_SHA}\"/g" ./helm-charts/dbrepo/Chart.yaml'
- helm package ./helm-charts/dbrepo --destination ./build
- helm push "./build/dbrepo-${CHART_VERSION}-0.git.${CI_PIPELINE_ID}.${CI_COMMIT_SHORT_SHA}.tgz" "oci://${CI_REGISTRY2_URL}/helm"
release-helm-1.4:
stage: release
image: docker:24-dind
only:
refs:
- release-v1.4
before_script:
- echo "$CI_REGISTRY2_PASSWORD" | docker login --username "$CI_REGISTRY2_USER" --password-stdin $CI_REGISTRY2_URL
script:
- apk add sed helm curl
- 'sed -i -e "s/^version:.*/version: \"${CHART_VERSION}\"/g" ./helm-charts/dbrepo/Chart.yaml'
- 'sed -i -e "s/^appVersion:.*/appVersion: \"${APP_VERSION}\"/g" ./helm-charts/dbrepo/Chart.yaml'
- helm package ./helm-charts/dbrepo --destination ./build
- helm push "./build/dbrepo-${CHART_VERSION}.tgz" "oci://${CI_REGISTRY2_URL}/helm"
- curl -sSL -X POST --form 'chart=@dbrepo-${CHART_VERSION}.tgz' --user mweise:${GITLAB_ACCESS_TOKEN} https://gitlab.example.com/api/v4/projects/450/packages/helm/api/stable/charts
build-api-latest: build-api-latest:
stage: build stage: build
...@@ -547,16 +594,16 @@ build-api-1.4: ...@@ -547,16 +594,16 @@ build-api-1.4:
- apk add bash git maven - apk add bash git maven
- git fetch && git checkout release-v1.4 - git fetch && git checkout release-v1.4
- bash .docs/.swagger/swagger-site.sh - bash .docs/.swagger/swagger-site.sh
- find ./site -type f -exec sed -i -e "s/\$TAG/${VERSION}/g" {} \; - find ./site -type f -exec sed -i -e "s/\$TAG/${APP_VERSION}/g" {} \;
- mkdir -p ./swagger/${VERSION} - mkdir -p ./swagger/${APP_VERSION}
- cp -r ./site/* ./swagger/${VERSION}/ - cp -r ./site/* ./swagger/${APP_VERSION}/
cache: cache:
paths: paths:
- ./swagger/${VERSION} - ./swagger/${APP_VERSION}
artifacts: artifacts:
when: always when: always
paths: paths:
- ./swagger/${VERSION} - ./swagger/${APP_VERSION}
expire_in: 1 days expire_in: 1 days
docs-registry: docs-registry:
...@@ -595,11 +642,12 @@ docs-latest: ...@@ -595,11 +642,12 @@ docs-latest:
- apt-get update && apt-get install -y git make sed - apt-get update && apt-get install -y git make sed
- git fetch && git checkout master - git fetch && git checkout master
- pip install -r ./requirements.txt - pip install -r ./requirements.txt
- mkdir -p ./final - mkdir -p ./final/{latest,1.3}
- find ./.docs -type f -exec sed -i -e "s/\$TAG/latest/g" {} \; - find ./.docs -type f -exec sed -i -e "s/\$TAG/latest/g" {} \;
- find ./.docs -type f -exec sed -i -e "s/\$VERSION/${VERSION}/g" {} \; - find ./.docs -type f -exec sed -i -e "s/\$VERSION/${APP_VERSION}/g" {} \;
- mkdocs build && cp -r ./site ./final/latest - mkdocs build && cp -r ./site ./final/latest
- cp ./.docs/redirect.html ./final/index.html - cp ./.docs/redirect.html ./final/index.html
- cp ./.docs/redirect.html ./final/1.3/index.html
- cp -r ./swagger/latest ./final/latest/swagger - cp -r ./swagger/latest ./final/latest/swagger
cache: cache:
paths: paths:
...@@ -656,11 +704,10 @@ docs-1.4: ...@@ -656,11 +704,10 @@ docs-1.4:
- pip install -r ./.docs/requirements.txt - pip install -r ./.docs/requirements.txt
- wget https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/.docs/overrides/main.html -O .docs/overrides/main.html -q - wget https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/.docs/overrides/main.html -O .docs/overrides/main.html -q
- mkdir -p ./final - mkdir -p ./final
- find .docs -type f -exec sed -i -e "s/\$TAG/${VERSION}/g" {} \; - find .docs -type f -exec sed -i -e "s/\$TAG/${APP_VERSION}/g" {} \;
- find .docs -type f -exec sed -i -e "s/\$VERSION/${VERSION}/g" {} \; - find .docs -type f -exec sed -i -e "s/\$VERSION/${APP_VERSION}/g" {} \;
- cp ./.docs/redirect.html ./final/index.html - mkdocs build && cp -r ./site ./final/${APP_VERSION}
- mkdocs build && cp -r ./site ./final/${VERSION} - cp -r ./swagger/${APP_VERSION} ./final/${APP_VERSION}/swagger
- cp -r ./swagger/${VERSION} ./final/${VERSION}/swagger
cache: cache:
paths: paths:
- ./final - ./final
......
.PHONY: all .PHONY: all
TAG ?= latest TAG ?= latest
TRIVY_VERSION ?= v0.41.0
REPOSITORY_1_URL ?= docker.io/dbrepo REPOSITORY_1_URL ?= docker.io/dbrepo
REPOSITORY_2_URL ?= s210.dl.hpc.tuwien.ac.at/dbrepo REPOSITORY_2_URL ?= s210.dl.hpc.tuwien.ac.at/dbrepo
......
...@@ -20,11 +20,9 @@ COPY ./report ./report ...@@ -20,11 +20,9 @@ COPY ./report ./report
RUN mvn clean package -DskipTests RUN mvn clean package -DskipTests
###### THIRD STAGE ###### ###### THIRD STAGE ######
FROM openjdk:17-alpine as runtime FROM eclipse-temurin:17-jdk as runtime
MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
RUN apk --no-cache add curl bash
ENV METADATA_DB=fda ENV METADATA_DB=fda
ENV METADATA_HOST=metadata-db ENV METADATA_HOST=metadata-db
ENV METADATA_JDBC_EXTRA_ARGS="" ENV METADATA_JDBC_EXTRA_ARGS=""
......
...@@ -5,16 +5,16 @@ ...@@ -5,16 +5,16 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.6</version> <version>3.0.13</version>
</parent> </parent>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
<artifactId>dbrepo-data-service</artifactId> <artifactId>dbrepo-data-service</artifactId>
<version>latest</version>
<name>dbrepo-data-service</name> <name>dbrepo-data-service</name>
<description> <version>1.4.1</version>
This service is responsible for the database-specific CRUD operations.
</description> <description>This service is responsible for the database-specific CRUD operations.</description>
<url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/</url> <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/</url>
<developers> <developers>
<developer> <developer>
...@@ -22,6 +22,26 @@ ...@@ -22,6 +22,26 @@
<email>martin.weise@tuwien.ac.at</email> <email>martin.weise@tuwien.ac.at</email>
<organization>TU Wien</organization> <organization>TU Wien</organization>
</developer> </developer>
<developer>
<name>Moritz Staudinger</name>
<email>moritz.staudinger@tuwien.ac.at</email>
<organization>TU Wien</organization>
</developer>
<developer>
<name>Tobias Grantner</name>
<email>tobias.grantner@tuwien.ac.at</email>
<organization>TU Wien</organization>
</developer>
<developer>
<name>Sotirios Tsepelakis</name>
<email>sotirios.tsepelakis@tuwien.ac.at</email>
<organization>TU Wien</organization>
</developer>
<developer>
<name>Geoffrey Karnbach</name>
<email>geoffrey.karnbach@tuwien.ac.at</email>
<organization>TU Wien</organization>
</developer>
</developers> </developers>
<packaging>pom</packaging> <packaging>pom</packaging>
...@@ -35,14 +55,14 @@ ...@@ -35,14 +55,14 @@
<java.version>17</java.version> <java.version>17</java.version>
<spring-cloud.version>4.0.2</spring-cloud.version> <spring-cloud.version>4.0.2</spring-cloud.version>
<mapstruct.version>1.5.5.Final</mapstruct.version> <mapstruct.version>1.5.5.Final</mapstruct.version>
<jacoco.version>0.8.10</jacoco.version> <jacoco.version>0.8.11</jacoco.version>
<jwt.version>4.3.0</jwt.version> <jwt.version>4.3.0</jwt.version>
<opencsv.version>5.7.1</opencsv.version> <opencsv.version>5.7.1</opencsv.version>
<super-csv.version>2.4.0</super-csv.version> <super-csv.version>2.4.0</super-csv.version>
<jsql.version>4.6</jsql.version> <jsql.version>4.6</jsql.version>
<springdoc-openapi.version>2.1.0</springdoc-openapi.version> <springdoc-openapi.version>2.1.0</springdoc-openapi.version>
<hsqldb.version>2.7.2</hsqldb.version> <hsqldb.version>2.7.2</hsqldb.version>
<testcontainers.version>1.18.3</testcontainers.version> <testcontainers.version>1.19.1</testcontainers.version>
<opensearch-testcontainer.version>2.0.0</opensearch-testcontainer.version> <opensearch-testcontainer.version>2.0.0</opensearch-testcontainer.version>
<opensearch-client.version>1.1.0</opensearch-client.version> <opensearch-client.version>1.1.0</opensearch-client.version>
<opensearch-rest-client.version>2.8.0</opensearch-rest-client.version> <opensearch-rest-client.version>2.8.0</opensearch-rest-client.version>
...@@ -199,11 +219,6 @@ ...@@ -199,11 +219,6 @@
<version>${testcontainers.version}</version> <version>${testcontainers.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
</dependency>
<dependency> <dependency>
<groupId>org.testcontainers</groupId> <groupId>org.testcontainers</groupId>
<artifactId>rabbitmq</artifactId> <artifactId>rabbitmq</artifactId>
......
...@@ -6,21 +6,17 @@ ...@@ -6,21 +6,17 @@
<parent> <parent>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
<artifactId>dbrepo-data-service</artifactId> <artifactId>dbrepo-data-service</artifactId>
<version>latest</version> <version>1.4.1</version>
</parent> </parent>
<artifactId>report</artifactId> <artifactId>report</artifactId>
<version>latest</version>
<name>dbrepo-data-service-report</name> <name>dbrepo-data-service-report</name>
<version>1.4.1</version>
<description> <description>
This module is only intended for the pipeline coverage report. See the detailed report in the This module is only intended for the pipeline coverage report. See the detailed report in the
respective modules respective modules
</description> </description>
<properties>
<jacoco.version>0.8.7</jacoco.version>
</properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
......
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
<parent> <parent>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
<artifactId>dbrepo-data-service</artifactId> <artifactId>dbrepo-data-service</artifactId>
<version>latest</version> <version>1.4.1</version>
</parent> </parent>
<artifactId>rest-service</artifactId> <artifactId>rest-service</artifactId>
<version>latest</version>
<name>dbrepo-data-service-rest-service</name> <name>dbrepo-data-service-rest-service</name>
<version>1.4.1</version>
<properties> <properties>
<jacoco.version>0.8.7</jacoco.version> <jacoco.version>0.8.7</jacoco.version>
......
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
<parent> <parent>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
<artifactId>dbrepo-data-service</artifactId> <artifactId>dbrepo-data-service</artifactId>
<version>latest</version> <version>1.4.1</version>
</parent> </parent>
<artifactId>services</artifactId> <artifactId>services</artifactId>
<version>latest</version>
<name>dbrepo-data-service-services</name> <name>dbrepo-data-service-services</name>
<version>1.4.1</version>
<build> <build>
<plugins> <plugins>
......
...@@ -29,11 +29,9 @@ COPY ./test ./test ...@@ -29,11 +29,9 @@ COPY ./test ./test
RUN mvn clean install -DskipTests RUN mvn clean install -DskipTests
###### SECOND STAGE ###### ###### SECOND STAGE ######
FROM openjdk:17-alpine as runtime FROM eclipse-temurin:17-jdk as runtime
MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
RUN apk --no-cache add curl bash
ENV ADMIN_MAIL="noreply@localhost" ENV ADMIN_MAIL="noreply@localhost"
ENV BASE_URL="http://localhost" ENV BASE_URL="http://localhost"
ENV GRANT_PRIVILEGES="SELECT, CREATE, CREATE VIEW, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, INDEX, TRIGGER, INSERT, UPDATE, DELETE" ENV GRANT_PRIVILEGES="SELECT, CREATE, CREATE VIEW, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, INDEX, TRIGGER, INSERT, UPDATE, DELETE"
......
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
<parent> <parent>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
<artifactId>dbrepo-metadata-service</artifactId> <artifactId>dbrepo-metadata-service</artifactId>
<version>latest</version> <version>1.4.1</version>
</parent> </parent>
<artifactId>dbrepo-metadata-service-api</artifactId> <artifactId>dbrepo-metadata-service-api</artifactId>
<version>latest</version>
<name>dbrepo-metadata-service-api</name> <name>dbrepo-metadata-service-api</name>
<version>1.4.1</version>
<dependencies/> <dependencies/>
......
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
<parent> <parent>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
<artifactId>dbrepo-metadata-service</artifactId> <artifactId>dbrepo-metadata-service</artifactId>
<version>latest</version> <version>1.4.1</version>
</parent> </parent>
<artifactId>dbrepo-metadata-service-entities</artifactId> <artifactId>dbrepo-metadata-service-entities</artifactId>
<version>latest</version>
<name>dbrepo-metadata-service-entity</name> <name>dbrepo-metadata-service-entity</name>
<version>1.4.1</version>
<dependencies/> <dependencies/>
......
...@@ -109,15 +109,11 @@ public class TableColumn implements Comparable<TableColumn> { ...@@ -109,15 +109,11 @@ public class TableColumn implements Comparable<TableColumn> {
@ElementCollection(fetch = FetchType.LAZY, targetClass = String.class) @ElementCollection(fetch = FetchType.LAZY, targetClass = String.class)
@CollectionTable(name = "mdb_columns_enums", joinColumns = @JoinColumn(name = "column_id")) @CollectionTable(name = "mdb_columns_enums", joinColumns = @JoinColumn(name = "column_id"))
@Column(name = "value", nullable = false) @Column(name = "value", nullable = false)
@JoinColumn(name = "column_id")
@OnDelete(action = OnDeleteAction.CASCADE)
private List<String> enums; private List<String> enums;
@ElementCollection(fetch = FetchType.LAZY, targetClass = String.class) @ElementCollection(fetch = FetchType.LAZY, targetClass = String.class)
@CollectionTable(name = "mdb_columns_sets", joinColumns = @JoinColumn(name = "column_id")) @CollectionTable(name = "mdb_columns_sets", joinColumns = @JoinColumn(name = "column_id"))
@Column(name = "value", nullable = false) @Column(name = "value", nullable = false)
@JoinColumn(name = "column_id")
@OnDelete(action = OnDeleteAction.CASCADE)
private List<String> sets; private List<String> sets;
@Column @Column
......
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
<parent> <parent>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
<artifactId>dbrepo-metadata-service</artifactId> <artifactId>dbrepo-metadata-service</artifactId>
<version>latest</version> <version>1.4.1</version>
</parent> </parent>
<artifactId>dbrepo-metadata-service-oai</artifactId> <artifactId>dbrepo-metadata-service-oai</artifactId>
<version>latest</version>
<name>dbrepo-metadata-service-oai</name> <name>dbrepo-metadata-service-oai</name>
<version>1.4.1</version>
<dependencies/> <dependencies/>
......
...@@ -5,13 +5,14 @@ ...@@ -5,13 +5,14 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.6</version> <version>3.0.13</version>
</parent> </parent>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
<artifactId>dbrepo-metadata-service</artifactId> <artifactId>dbrepo-metadata-service</artifactId>
<version>latest</version>
<name>dbrepo-metadata-service</name> <name>dbrepo-metadata-service</name>
<version>1.4.1</version>
<description>Service that manages the metadata</description> <description>Service that manages the metadata</description>
<url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/</url> <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/</url>
...@@ -31,6 +32,16 @@ ...@@ -31,6 +32,16 @@
<email>tobias.grantner@tuwien.ac.at</email> <email>tobias.grantner@tuwien.ac.at</email>
<organization>TU Wien</organization> <organization>TU Wien</organization>
</developer> </developer>
<developer>
<name>Sotirios Tsepelakis</name>
<email>sotirios.tsepelakis@tuwien.ac.at</email>
<organization>TU Wien</organization>
</developer>
<developer>
<name>Geoffrey Karnbach</name>
<email>geoffrey.karnbach@tuwien.ac.at</email>
<organization>TU Wien</organization>
</developer>
</developers> </developers>
<packaging>pom</packaging> <packaging>pom</packaging>
...@@ -50,14 +61,15 @@ ...@@ -50,14 +61,15 @@
<java.version>17</java.version> <java.version>17</java.version>
<spring-cloud.version>4.0.2</spring-cloud.version> <spring-cloud.version>4.0.2</spring-cloud.version>
<mapstruct.version>1.5.5.Final</mapstruct.version> <mapstruct.version>1.5.5.Final</mapstruct.version>
<rabbitmq.version>5.16.0</rabbitmq.version> <rabbitmq.version>5.20.0</rabbitmq.version>
<jackson-datatype.version>2.15.0</jackson-datatype.version> <jackson-datatype.version>2.15.0</jackson-datatype.version>
<commons.version>2.11.0</commons.version> <commons.version>2.11.0</commons.version>
<jacoco.version>0.8.10</jacoco.version> <guava.version>33.0.0-jre</guava.version>
<jacoco.version>0.8.11</jacoco.version>
<jwt.version>4.3.0</jwt.version> <jwt.version>4.3.0</jwt.version>
<c3p0.version>0.9.5.5</c3p0.version> <c3p0.version>0.9.5.5</c3p0.version>
<c3p0-hibernate.version>6.2.2.Final</c3p0-hibernate.version> <c3p0-hibernate.version>6.2.2.Final</c3p0-hibernate.version>
<apache-jena.version>4.8.0</apache-jena.version> <apache-jena.version>4.10.0</apache-jena.version>
<opencsv.version>5.7.1</opencsv.version> <opencsv.version>5.7.1</opencsv.version>
<super-csv.version>2.4.0</super-csv.version> <super-csv.version>2.4.0</super-csv.version>
<jsql-parser.version>4.6</jsql-parser.version> <jsql-parser.version>4.6</jsql-parser.version>
...@@ -65,11 +77,11 @@ ...@@ -65,11 +77,11 @@
<springdoc-openapi.version>2.1.0</springdoc-openapi.version> <springdoc-openapi.version>2.1.0</springdoc-openapi.version>
<testcontainers.version>1.19.1</testcontainers.version> <testcontainers.version>1.19.1</testcontainers.version>
<opensearch-testcontainer.version>2.0.0</opensearch-testcontainer.version> <opensearch-testcontainer.version>2.0.0</opensearch-testcontainer.version>
<keycloak-testcontainer.version>2.5.0</keycloak-testcontainer.version> <keycloak-testcontainer.version>3.2.0</keycloak-testcontainer.version>
<opensearch-client.version>1.1.0</opensearch-client.version> <opensearch-client.version>1.1.0</opensearch-client.version>
<opensearch-rest-client.version>2.8.0</opensearch-rest-client.version> <opensearch-rest-client.version>2.8.0</opensearch-rest-client.version>
<jackson.version>2.15.2</jackson.version> <jackson.version>2.15.2</jackson.version>
<minio.version>8.5.6</minio.version> <minio.version>8.5.7</minio.version>
</properties> </properties>
<dependencies> <dependencies>
...@@ -181,7 +193,7 @@ ...@@ -181,7 +193,7 @@
<dependency> <dependency>
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
<artifactId>guava</artifactId> <artifactId>guava</artifactId>
<version>31.1-jre</version> <version>${guava.version}</version>
</dependency> </dependency>
<!-- SQL Parser --> <!-- SQL Parser -->
<dependency> <dependency>
...@@ -274,16 +286,6 @@ ...@@ -274,16 +286,6 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope> <scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.h2database</groupId> <groupId>com.h2database</groupId>
...@@ -389,27 +391,6 @@ ...@@ -389,27 +391,6 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>doxygen-maven-plugin</artifactId>
<version>1.1.0</version>
<configuration>
<haveDot>false</haveDot>
<quiet>false</quiet>
<projectName>This is a Test Project (basicReportTest)</projectName>
<outputDirectory>docs</outputDirectory>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
......
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
<parent> <parent>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
<artifactId>dbrepo-metadata-service</artifactId> <artifactId>dbrepo-metadata-service</artifactId>
<version>latest</version> <version>1.4.1</version>
</parent> </parent>
<artifactId>dbrepo-metadata-service-querystore</artifactId> <artifactId>dbrepo-metadata-service-querystore</artifactId>
<version>latest</version>
<name>dbrepo-metadata-service-querystore</name> <name>dbrepo-metadata-service-querystore</name>
<version>1.4.1</version>
<dependencies/> <dependencies/>
......
...@@ -6,15 +6,12 @@ ...@@ -6,15 +6,12 @@
<parent> <parent>
<artifactId>dbrepo-metadata-service</artifactId> <artifactId>dbrepo-metadata-service</artifactId>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
<version>latest</version> <version>1.4.1</version>
</parent> </parent>
<artifactId>dbrepo-metadata-service-report</artifactId> <artifactId>dbrepo-metadata-service-report</artifactId>
<name>dbrepo-metadata-service-report</name> <name>dbrepo-metadata-service-report</name>
<version>1.4.1</version>
<properties>
<jacoco.version>0.8.7</jacoco.version>
</properties>
<dependencies> <dependencies>
<dependency> <dependency>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment