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

Dev

parent 64ef4b1d
Branches
Tags
1 merge request!296Dev
Showing
with 464 additions and 211 deletions
...@@ -17,8 +17,8 @@ services: ...@@ -17,8 +17,8 @@ services:
image: docker.io/bitnami/mariadb:11.1.3-debian-11-r6 image: docker.io/bitnami/mariadb:11.1.3-debian-11-r6
volumes: volumes:
- metadata-db-data:/bitnami/mariadb - metadata-db-data:/bitnami/mariadb
- ./dbrepo-metadata-db/setup-schema.sql:/docker-entrypoint-initdb.d/1_setup-schema.sql - ./dist/setup-schema.sql:/docker-entrypoint-initdb.d/1_setup-schema.sql
- ./dbrepo-metadata-db/setup-data.sql:/docker-entrypoint-initdb.d/2_setup-data.sql - ./dist/setup-data.sql:/docker-entrypoint-initdb.d/2_setup-data.sql
ports: ports:
- "3306:3306" - "3306:3306"
environment: environment:
...@@ -192,8 +192,6 @@ services: ...@@ -192,8 +192,6 @@ services:
volumes: volumes:
- ./dist/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf - ./dist/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
- ./dist/enabled_plugins:/etc/rabbitmq/enabled_plugins - ./dist/enabled_plugins:/etc/rabbitmq/enabled_plugins
- ./dist/cert.pem:/app/cert.pem
- ./dist/pubkey.pem:/app/pubkey.pem
- ./dist/definitions.json:/app/definitions.json - ./dist/definitions.json:/app/definitions.json
- broker-service-data:/bitnami/rabbitmq/mnesia - broker-service-data:/bitnami/rabbitmq/mnesia
depends_on: depends_on:
......
...@@ -19,23 +19,18 @@ It holds exchanges and topics responsible for holding AMQP messages for later co ...@@ -19,23 +19,18 @@ It holds exchanges and topics responsible for holding AMQP messages for later co
use [RabbitMQ](https://www.rabbitmq.com/) in the implementation. By default, the endpoint listens to the insecure port `5672` for incoming use [RabbitMQ](https://www.rabbitmq.com/) in the implementation. By default, the endpoint listens to the insecure port `5672` for incoming
AMQP tuples and insecure port `15672` for the management UI. AMQP tuples and insecure port `15672` for the management UI.
The default configuration creates a user with administrative privileges on the default virtual host `dbrepo`: The default configuration allows any user in the `cn=system,ou=users,dc=dbrepo,dc=at` from the
[Identity Service](../identity-service) to access the Broker Service as user with `administrator` role, i.e. the
`cn=admin,dc=dbrepo,dc=at` user that is created by default.
* Username: `fda` The Broker Service allows two ways of authentication for AMQP tuples:
* Password: `fda`
* Roles: `["administrator"]`
The Broker Service allows two ways of authentication: 1. LDAP
2. Plain (RabbitMQ's internal authentication)
1. Plain The queue architecture of the Broker Service is very simple. There is only one durable, topic exchange `dbrepo` and one
2. OAuth2 quorum queue `dbrepo`, connected with a binding of `dbrepo.#` which routes all tuples with routing key prefix `dbrepo.`
to this queue.
For detailed examples how to authenticate with the Broker Service see
the [usage](/usage-broker) page.
The architecture of the Broker Service is very simple. There is only one durable, topic exchange `dbrepo` and one quorum
queue `dbrepo`, connected with a binding of `dbrepo.#` which routes all tuples with routing key prefix `dbrepo.` (mind
the dot!) to this queue.
<figure markdown> <figure markdown>
![Data ingest](../images/queue-quorum.png) ![Data ingest](../images/queue-quorum.png)
...@@ -64,10 +59,10 @@ The consumer takes care of writing it to the correct table in the [Data Service] ...@@ -64,10 +59,10 @@ The consumer takes care of writing it to the correct table in the [Data Service]
For a secure deployment it is necessary to configure the Broker Service as follows: For a secure deployment it is necessary to configure the Broker Service as follows:
1. Download the [`rabbitmq.conf`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/dbrepo-broker-service/rabbitmq.conf.secure) and 1. Once you change the admin password of the [Identity Service](../identity-service), you need to change it in the
change the `default_user` and `default_pass` lines before mounting it to `/etc/rabbitmq/rabbitmq.conf`. `rabbitmq.conf` as well: `auth_ldap.dn_lookup_bind.password=newpassword`.
2. Mount your previously generated certificate and RSA public key pair (PEM-encoded) to `/app/cert.pem` 2. Enable TLS and mount your previously generated certificate and RSA public key pair (PEM-encoded) to `/app/cert.pem`
and `/app/pubkey.pem`. Note that these are *not* used for TLS encryption, but only for authentication of users. It and `/app/pubkey.pem`. Note that these are *not* used for TLS encryption, but only for authentication of users. It
is not recommended to use "real" TLS certificates, self-signed certificates with *sufficient keylength* are best-practice. is not recommended to use "real" TLS certificates, self-signed certificates with *sufficient keylength* are
3. Mount your TLS certificate authority file into `/etc/rabbitmq/cacert.crt` and your TLS certificate / private key pair best-practice. Mount your TLS certificate authority file into `/etc/rabbitmq/cacert.crt` and your TLS certificate
into `/etc/tls/tls.crt` and `/etc/tls/tls.key`. / private key pair into `/etc/tls/tls.crt` and `/etc/tls/tls.key`.
---
author: Martin Weise
---
## tl;dr
!!! debug "Debug Information"
Image: [`docker.io/openldap:2.6.8-debian-12-r1`](https://hub.docker.com/r/openldap)
* Ports: 1389/tcp, 1636/tcp
## Overview
This service holds the user identities which we simply call identities in the following. It is integrated into the
[Auth Service](../auth-service) through an LDAP federation, allowing any identity to authenticate through the Auth
Service. The LDAP protocol is not used for authentication. You can use your own identity provider, e.g. Active
Directory.
## Identities
Any identity is identified by its `entryUUID` by default in the Auth Service. Note that Keycloak (the software running
the Auth Service) may assign a different UUID to a user. DBRepo **always** uses the UUID provided through the Identity
Service.
## Limitations
* Limited support for scaling in Kubernetes, see the
[guide](https://github.com/jp-gouin/helm-openldap?tab=readme-ov-file#scaling-your-cluster) of the chart developers.
* Currently no support for LDAP in the Data Database.
!!! question "Do you miss functionality? Do these limitations affect you?"
We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming
experience!
## Security
1. By default, no ingress is enabled. If you need ingress on LTP Password and phpLDAPadmin, configure the ingress
to use your TLS secret `tls-cert-secret` containing the `tls.crt` and `tls.key`, e.g.:
```yaml title="values.yaml"
identityservice:
ltb-passwd:
ingress:
enabled: true
tls:
- secretName: tls-cert-secret
hosts:
- example.com
phpldapadmin:
ingress:
enabled: true
tls:
- secretName: tls-cert-secret
hosts:
- example.com
```
\ No newline at end of file
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
# Supported tags # Supported tags
* [`1.4.4`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.4.3/dbrepo-DIR/Dockerfile/) * [`1.4.5`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.4.3/dbrepo-DIR/Dockerfile/)
* [`latest`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-latest/dbrepo-DIR/Dockerfile/) * [`latest`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-latest/dbrepo-DIR/Dockerfile/)
# Non-supported tags # Non-supported tags
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
* **Source of this description:** * **Source of this description:**
[docs repo's `.docs/docker` directory](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tree/release-1.4.4/.docs/docker) [docs repo's `.docs/docker` directory](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tree/release-1.4.5/.docs/docker)
([history](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/commits/release-1.4.34/.docs/docker)) ([history](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/commits/release-1.4.34/.docs/docker))
# What is DBRepo? # What is DBRepo?
......
...@@ -5,7 +5,7 @@ author: Martin Weise ...@@ -5,7 +5,7 @@ author: Martin Weise
## tl;dr ## tl;dr
[:fontawesome-solid-database: &nbsp;Dataset](https://handle.stage.datacite.org/10.82556/gd17-aq82){ .md-button .md-button--primary target="_blank" } [:fontawesome-solid-database: &nbsp;Dataset](https://handle.stage.datacite.org/10.82556/gd17-aq82){ .md-button .md-button--primary target="_blank" }
[:material-file-document: &nbsp;Archive](https://doi.org/10.48436/mtha8-w2406){ .md-button .md-button--secondary target="_blank" } [:simple-grafana: &nbsp;Dashboard](https://dbrepo1.ec.tuwien.ac.at/admin/grafana/d/FLB9eAv4z/airquality){ .md-button .md-button--secondary target="_blank" }
## Description ## Description
...@@ -14,14 +14,25 @@ in Vienna, spanning the years from 1980 to 2021. The data was provided by the Um ...@@ -14,14 +14,25 @@ in Vienna, spanning the years from 1980 to 2021. The data was provided by the Um
original form in this record. This record forms the basis of an analysis carried out in a bachelor's thesis at the TU original form in this record. This record forms the basis of an analysis carried out in a bachelor's thesis at the TU
Wien. Wien.
## Solution <figure markdown>
![Grafana Dashboard](../../images/screenshots/air-dashboard.png)
<figcaption>Figure 1: Grafana dashboard visualizing the dataset.</figcaption>
</figure>
The analysis was carried out in a Jupyter Notebook hosted by our IT-department
[JupyterHub](https://science.datalab.tuwien.ac.at/) as part of TU Wien's virtual research environment.
<figure markdown> <figure markdown>
![Jupyter Notebook](../../images/screenshots/air-notebook.png){ .img-border } ![Jupyter Notebook](../../images/screenshots/air-notebook.png){ .img-border }
<figcaption>Figure 1: Jupyter Notebook accessing data on DBRepo using the Python Library.</figcaption> <figcaption>Figure 2: Jupyter Notebook accessing data on DBRepo using the Python Library.</figcaption>
</figure> </figure>
## Solution
One of the first use-cases of importing external data into DBRepo which was provided as .csv flat file. We developed a
database schema and a web scraper that scrapes live air quality data from the
[public map](https://luft.umweltbundesamt.at/pub/map_chart/index.pl) of the environment agency of Austria.
## DBRepo Features ## DBRepo Features
- [x] Import complex dataset - [x] Import complex dataset
......
...@@ -9,22 +9,25 @@ author: Martin Weise ...@@ -9,22 +9,25 @@ author: Martin Weise
## Description ## Description
This digital record contains historical air pollution and air quality data from approximately 20 air monitoring stations As part of a literature study, the research unit of data science has collected data on 47 Trusted Research Environments
in Vienna, spanning the years from 1980 to 2021. The data was provided by the Umweltbundesamt and is stored in its (TREs) who enable analysis of confidential data under strict security assertions who protect the data with technical,
original form in this record. This record forms the basis of an analysis carried out in a bachelor's thesis at the TU organizational and legal measures from (accidentally) being leaked outside the facility. The literature study shows that
Wien. 47 TREs worldwide provide access to confidential data of which two-thirds provide data themselves (n=32, 68%),
predominantly via secure remote access (n=46, 98%).
## Solution ## Solution
We designed a database schema that allows collection of the data with correct primary key and foreign-key relationships.
Three defined views allow for a simpler exploration of the study data. The analysis of the data was performed in TU
Wien's virtual research environment using [JupyterHub](https://science.datalab.tuwien.ac.at/) as well as the chart
<figure markdown> <figure markdown>
![Jupyter Notebook](../../images/screenshots/air-notebook.png){ .img-border } ![Jupyter Notebook](../../images/screenshots/tre-notebook.png){ .img-border }
<figcaption>Figure 1: Jupyter Notebook accessing data on DBRepo using the Python Library.</figcaption> <figcaption>Figure 1: Jupyter Notebook accessing data on DBRepo using the Python Library.</figcaption>
</figure> </figure>
## DBRepo Features ## DBRepo Features
- [x] Import complex dataset
- [x] System versioning - [x] System versioning
- [x] Subset exploration - [x] Subset exploration
- [x] Aggregated views - [x] Aggregated views
...@@ -33,6 +36,6 @@ Wien. ...@@ -33,6 +36,6 @@ Wien.
## Acknowledgement ## Acknowledgement
This work was part of a cooperation with the [Umweltbundesamt](https://www.umweltbundesamt.at/). This work was part of a cooperation with the [Research Unit of Data Science](https://informatics.tuwien.ac.at/orgs/e194-04).
<img src="../../images/logos/umweltbundesamt.png" width=100 /> <img src="../../images/logos/ds-ifs.png" width=100 />
\ No newline at end of file \ No newline at end of file
.docs/images/logos/ds-ifs.png

13.2 KiB

.docs/images/screenshots/air-dashboard.png

336 KiB

.docs/images/screenshots/tre-notebook.png

250 KiB

...@@ -8,7 +8,7 @@ author: Martin Weise ...@@ -8,7 +8,7 @@ author: Martin Weise
[![Image Pulls](https://img.shields.io/docker/pulls/dbrepo/data-service?style=flat&cacheSeconds=3600)](https://hub.docker.com/u/dbrepo){ tabindex=-1 } [![Image Pulls](https://img.shields.io/docker/pulls/dbrepo/data-service?style=flat&cacheSeconds=3600)](https://hub.docker.com/u/dbrepo){ tabindex=-1 }
[![GitLab License](https://img.shields.io/gitlab/license/fair-data-austria-db-repository%2Ffda-services?gitlab_url=https%3A%2F%2Fgitlab.phaidra.org%2F&style=flat&cacheSeconds=3600)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 } [![GitLab License](https://img.shields.io/gitlab/license/fair-data-austria-db-repository%2Ffda-services?gitlab_url=https%3A%2F%2Fgitlab.phaidra.org%2F&style=flat&cacheSeconds=3600)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 }
Documentation for version: [v1.4.4](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/releases). Documentation for version: [v1.4.5](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/releases).
DBRepo is a repository for data in databases that are used from the beginning until the end of a research DBRepo is a repository for data in databases that are used from the beginning until the end of a research
project supporting data evolution, -citation and -versioning. It implements the query store of the project supporting data evolution, -citation and -versioning. It implements the query store of the
......
...@@ -44,7 +44,48 @@ are *not* recommended and not tested. ...@@ -44,7 +44,48 @@ are *not* recommended and not tested.
## Custom Install ## Custom Install
TBD In case you prefer a customized install, start by downloading the `docker-compose.yml` file used to define the services:
```bash
curl -O docker-compose.yml -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.4/.docker/docker-compose.yml
```
Create the folder `dist/` that hold necessary configuration files and download the Metadata Database schema and initial
data to display the created Data Database container:
```bash
mkdir -p dist
curl -O dist/setup-schema.sql -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.4/dbrepo-metadata-db/setup-schema.sql
curl -O dist/setup-data.sql -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.4/dbrepo-metadata-db/setup-data.sql
```
Download the Broker Service configuration files:
```bash
curl -O dist/rabbitmq.conf -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.4/dbrepo-broker-service/rabbitmq.conf
curl -O dist/enabled_plugins -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.4/dbrepo-broker-service/enabled_plugins
curl -O dist/definitions.json -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.4/dbrepo-broker-service/definitions.json
```
!!! warning "Default admin user credentials"
Note that you need to change the default user credentials `fda:fda` of the Broker Service by setting `users.0.name`
and `users.0.password_hash` of the `definitions.json` file. The `password_hash` can be created by executing
`./helm/dbrepo/hack/generate-rabbitmq-pw.sh <your_password>`.
Download the Gateway Service configuration file (or integrate it into your existing NGINX reverse proxy config):
```bash
curl -O dist/dbrepo.conf -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.4/dbrepo-gateway-service/dbrepo.conf
```
Download the S3 configuration for the Storage Service:
```bash
curl -O dist/s3_config.conf -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.4/dbrepo-storage-service/s3_config.conf
```
Continue the custom install by customizing the [User Interface](../api/ui).
## Architecture ## Architecture
...@@ -106,6 +147,12 @@ In case the deployment is unsuccessful, we have explanations on their origin and ...@@ -106,6 +147,12 @@ In case the deployment is unsuccessful, we have explanations on their origin and
: *Origin*: Your deployment machine (e.g. laptop, virtual machine) appears to not have enough RAM assigned. : *Origin*: Your deployment machine (e.g. laptop, virtual machine) appears to not have enough RAM assigned.
: *Solution*: Assign more RAM to the deployment machine (e.g. add vRAM to the virtual machine). : *Solution*: Assign more RAM to the deployment machine (e.g. add vRAM to the virtual machine).
**HTTP access denied: user 'admin' - invalid credentials**
: *Origin*: The broker service cannot bind to the identity service due to wrong configuration.
: *Solution*: This is very likely due to a wrong `auth_ldap.dn_lookup_bind.password` in `rabbitmq.conf`. The error
indicates that LDAP check is not even attempted.
## Next Steps ## Next Steps
You should now be able to view the front end at [http://localhost](http://localhost). You should now be able to view the front end at [http://localhost](http://localhost).
......
...@@ -5,16 +5,16 @@ ...@@ -5,16 +5,16 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Redirect Notice</title> <title>Redirect Notice</title>
<meta http-equiv="Refresh" content="0; url='/infrastructures/dbrepo/1.4.4/'" /> <meta http-equiv="Refresh" content="0; url='/infrastructures/dbrepo/1.4.5/'" />
</head> </head>
<body> <body>
<h1>Redirect Notice</h1> <h1>Redirect Notice</h1>
<p> <p>
This page should automatically open the documentation for version <code>1.4.4</code>. In case this page does not load the site is This page should automatically open the documentation for version <code>1.4.5</code>. In case this page does not load the site is
available at: available at:
</p> </p>
<p> <p>
<a href="/infrastructures/dbrepo/1.4.4/">/infrastructures/dbrepo/1.4.4/</a> <a href="/infrastructures/dbrepo/1.4.5/">/infrastructures/dbrepo/1.4.5/</a>
</p> </p>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -4,8 +4,8 @@ variables: ...@@ -4,8 +4,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"
APP_VERSION: "1.4.4" APP_VERSION: "1.4.5"
CHART_VERSION: "1.4.4" CHART_VERSION: "1.4.5"
image: debian:12-slim image: debian:12-slim
...@@ -18,6 +18,7 @@ cache: ...@@ -18,6 +18,7 @@ cache:
stages: stages:
- build - build
- lint
- test - test
- docs - docs
- release - release
...@@ -140,6 +141,18 @@ verify-install-script: ...@@ -140,6 +141,18 @@ verify-install-script:
- bash install.sh - bash install.sh
- exit 0 - exit 0
lint-helm:
image: docker.io/docker:24-dind
stage: lint
except:
refs:
- /^release-.*/
needs:
- build-metadata-service
script:
- apk add sed helm curl
- helm lint ./helm/dbrepo
test-metadata-service: test-metadata-service:
image: maven:3-openjdk-17 image: maven:3-openjdk-17
stage: test stage: test
...@@ -602,6 +615,7 @@ release-docs: ...@@ -602,6 +615,7 @@ release-docs:
- /^release-.*/ - /^release-.*/
before_script: before_script:
- "apk add --update alpine-sdk bash sed wget openssh" - "apk add --update alpine-sdk bash sed wget openssh"
- "pip install pipenv"
- "pip install -r ./requirements.txt" - "pip install -r ./requirements.txt"
- "mkdir -p ./final/${APP_VERSION}/rest" - "mkdir -p ./final/${APP_VERSION}/rest"
script: script:
......
.PHONY: all .PHONY: all
APP_VERSION ?= 1.4.4 APP_VERSION ?= 1.4.5
CHART_VERSION ?= 1.4.4 CHART_VERSION ?= 1.4.5
REPOSITORY_URL ?= registry.datalab.tuwien.ac.at/dbrepo REPOSITORY_URL ?= registry.datalab.tuwien.ac.at/dbrepo
.PHONY: all .PHONY: all
......
...@@ -21,7 +21,7 @@ numpy = "*" ...@@ -21,7 +21,7 @@ numpy = "*"
pandas = "*" pandas = "*"
minio = "*" minio = "*"
pydantic = "*" pydantic = "*"
dbrepo = {path = "./lib/dbrepo-1.4.4.tar.gz"} dbrepo = {path = "./lib/dbrepo-1.4.5.tar.gz"}
opensearch-py = "*" opensearch-py = "*"
[dev-packages] [dev-packages]
......
{ {
"_meta": { "_meta": {
"hash": { "hash": {
"sha256": "f862bcd0c3285ad0a48d0d0f738bddf0f3c1d2c5d263af9e07994463e39e5610" "sha256": "81259bb4fb1f303f1bfc9f643c6210d3b5f8de902725e4134cdab680d3fdfbb3"
}, },
"pipfile-spec": 6, "pipfile-spec": 6,
"requires": { "requires": {
...@@ -167,19 +167,19 @@ ...@@ -167,19 +167,19 @@
}, },
"boto3": { "boto3": {
"hashes": [ "hashes": [
"sha256:b781d267dd5e7583966e05697f6bd45e2f46c01dc619ba0860b042963ee69296", "sha256:0314e6598f59ee0f34eb4e6d1a0f69fa65c146d2b88a6e837a527a9956ec2731",
"sha256:c163fb7135a94e7b8c8c478a44071c843f05e212fa4bec3105f8a437ecbf1bcb" "sha256:d41037e2c680ab8d6c61a0a4ee6bf1fdd9e857f43996672830a95d62d6f6fa79"
], ],
"index": "pypi", "index": "pypi",
"version": "==1.34.130" "version": "==1.34.136"
}, },
"botocore": { "botocore": {
"hashes": [ "hashes": [
"sha256:a242b3b0a836b14f308a309565cd63e88654cec238f9b73abbbd3c0526db4c81", "sha256:7f7135178692b39143c8f152a618d2a3b71065a317569a7102d2306d4946f42f",
"sha256:a3b36e9dac1ed31c4cb3a5c5e540a7d8a9b90ff1d17f87734e674154b41776d8" "sha256:c63fe9032091fb9e9477706a3ebfa4d0c109b807907051d892ed574f9b573e61"
], ],
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==1.34.130" "version": "==1.34.136"
}, },
"certifi": { "certifi": {
"hashes": [ "hashes": [
...@@ -392,10 +392,11 @@ ...@@ -392,10 +392,11 @@
"dbrepo": { "dbrepo": {
"hashes": [ "hashes": [
"sha256:2506475fc8fb3f4fdd722e3e92f8e6ad28d0707023c3d8ea5d6d076cef71f395", "sha256:2506475fc8fb3f4fdd722e3e92f8e6ad28d0707023c3d8ea5d6d076cef71f395",
"sha256:2bdb48c70b4c99b5044fbfc12aa653c1e9281ca8913a433cc08a1e14cb4bd2ef" "sha256:2bdb48c70b4c99b5044fbfc12aa653c1e9281ca8913a433cc08a1e14cb4bd2ef",
"sha256:dccfaec20a3972a578313206678a119db3d6f898604aab4b694aa2ac37a20629"
], ],
"path": "./lib/dbrepo-1.4.4.tar.gz", "path": "./lib/dbrepo-1.4.5.tar.gz",
"version": "==1.4.4" "version": "==1.4.5"
}, },
"events": { "events": {
"hashes": [ "hashes": [
...@@ -1353,19 +1354,19 @@ ...@@ -1353,19 +1354,19 @@
}, },
"s3transfer": { "s3transfer": {
"hashes": [ "hashes": [
"sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19", "sha256:0711534e9356d3cc692fdde846b4a1e4b0cb6519971860796e6bc4c7aea00ef6",
"sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d" "sha256:eca1c20de70a39daee580aef4986996620f365c4e0fda6a86100231d62f1bf69"
], ],
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==0.10.1" "version": "==0.10.2"
}, },
"setuptools": { "setuptools": {
"hashes": [ "hashes": [
"sha256:01a1e793faa5bd89abc851fa15d0a0db26f160890c7102cd8dce643e886b47f5", "sha256:937a48c7cdb7a21eb53cd7f9b59e525503aa8abaf3584c730dc5f7a5bec3a650",
"sha256:d9b8b771455a97c8a9f3ab3448ebe0b29b5e105f1228bba41028be116985a267" "sha256:a58a8fde0541dab0419750bcc521fbdf8585f6e5cb41909df3a472ef7b81ca95"
], ],
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==70.1.0" "version": "==70.1.1"
}, },
"six": { "six": {
"hashes": [ "hashes": [
...@@ -1770,61 +1771,61 @@ ...@@ -1770,61 +1771,61 @@
}, },
"coverage": { "coverage": {
"hashes": [ "hashes": [
"sha256:015eddc5ccd5364dcb902eaecf9515636806fa1e0d5bef5769d06d0f31b54523", "sha256:018a12985185038a5b2bcafab04ab833a9a0f2c59995b3cec07e10074c78635f",
"sha256:04aefca5190d1dc7a53a4c1a5a7f8568811306d7a8ee231c42fb69215571944f", "sha256:02ff6e898197cc1e9fa375581382b72498eb2e6d5fc0b53f03e496cfee3fac6d",
"sha256:05ac5f60faa0c704c0f7e6a5cbfd6f02101ed05e0aee4d2822637a9e672c998d", "sha256:042183de01f8b6d531e10c197f7f0315a61e8d805ab29c5f7b51a01d62782747",
"sha256:0bbddc54bbacfc09b3edaec644d4ac90c08ee8ed4844b0f86227dcda2d428fcb", "sha256:1014fbf665fef86cdfd6cb5b7371496ce35e4d2a00cda501cf9f5b9e6fced69f",
"sha256:1d2a830ade66d3563bb61d1e3c77c8def97b30ed91e166c67d0632c018f380f0", "sha256:1137f46adb28e3813dec8c01fefadcb8c614f33576f672962e323b5128d9a68d",
"sha256:239a4e75e09c2b12ea478d28815acf83334d32e722e7433471fbf641c606344c", "sha256:16852febd96acd953b0d55fc842ce2dac1710f26729b31c80b940b9afcd9896f",
"sha256:244f509f126dc71369393ce5fea17c0592c40ee44e607b6d855e9c4ac57aac98", "sha256:2174e7c23e0a454ffe12267a10732c273243b4f2d50d07544a91198f05c48f47",
"sha256:25a5caf742c6195e08002d3b6c2dd6947e50efc5fc2c2205f61ecb47592d2d83", "sha256:2214ee920787d85db1b6a0bd9da5f8503ccc8fcd5814d90796c2f2493a2f4d2e",
"sha256:296a7d9bbc598e8744c00f7a6cecf1da9b30ae9ad51c566291ff1314e6cbbed8", "sha256:3257fdd8e574805f27bb5342b77bc65578e98cbc004a92232106344053f319ba",
"sha256:2e079c9ec772fedbade9d7ebc36202a1d9ef7291bc9b3a024ca395c4d52853d7", "sha256:3684bc2ff328f935981847082ba4fdc950d58906a40eafa93510d1b54c08a66c",
"sha256:33ca90a0eb29225f195e30684ba4a6db05dbef03c2ccd50b9077714c48153cac", "sha256:3a6612c99081d8d6134005b1354191e103ec9705d7ba2754e848211ac8cacc6b",
"sha256:33fc65740267222fc02975c061eb7167185fef4cc8f2770267ee8bf7d6a42f84", "sha256:3d7564cc09dd91b5a6001754a5b3c6ecc4aba6323baf33a12bd751036c998be4",
"sha256:341dd8f61c26337c37988345ca5c8ccabeff33093a26953a1ac72e7d0103c4fb", "sha256:44da56a2589b684813f86d07597fdf8a9c6ce77f58976727329272f5a01f99f7",
"sha256:34d6d21d8795a97b14d503dcaf74226ae51eb1f2bd41015d3ef332a24d0a17b3", "sha256:5013ed890dc917cef2c9f765c4c6a8ae9df983cd60dbb635df8ed9f4ebc9f555",
"sha256:3538d8fb1ee9bdd2e2692b3b18c22bb1c19ffbefd06880f5ac496e42d7bb3884", "sha256:54317c2b806354cbb2dc7ac27e2b93f97096912cc16b18289c5d4e44fc663233",
"sha256:38a3b98dae8a7c9057bd91fbf3415c05e700a5114c5f1b5b0ea5f8f429ba6614", "sha256:56b4eafa21c6c175b3ede004ca12c653a88b6f922494b023aeb1e836df953ace",
"sha256:3d5a67f0da401e105753d474369ab034c7bae51a4c31c77d94030d59e41df5bd", "sha256:581ea96f92bf71a5ec0974001f900db495488434a6928a2ca7f01eee20c23805",
"sha256:50084d3516aa263791198913a17354bd1dc627d3c1639209640b9cac3fef5807", "sha256:5cd64adedf3be66f8ccee418473c2916492d53cbafbfcff851cbec5a8454b136",
"sha256:55f689f846661e3f26efa535071775d0483388a1ccfab899df72924805e9e7cd", "sha256:5df54843b88901fdc2f598ac06737f03d71168fd1175728054c8f5a2739ac3e4",
"sha256:5bc5a8c87714b0c67cfeb4c7caa82b2d71e8864d1a46aa990b5588fa953673b8", "sha256:65e528e2e921ba8fd67d9055e6b9f9e34b21ebd6768ae1c1723f4ea6ace1234d",
"sha256:62bda40da1e68898186f274f832ef3e759ce929da9a9fd9fcf265956de269dbc", "sha256:6aae5cce399a0f065da65c7bb1e8abd5c7a3043da9dceb429ebe1b289bc07806",
"sha256:705f3d7c2b098c40f5b81790a5fedb274113373d4d1a69e65f8b68b0cc26f6db", "sha256:6cfb5a4f556bb51aba274588200a46e4dd6b505fb1a5f8c5ae408222eb416f99",
"sha256:75e3f4e86804023e991096b29e147e635f5e2568f77883a1e6eed74512659ab0", "sha256:7076b4b3a5f6d2b5d7f1185fde25b1e54eb66e647a1dfef0e2c2bfaf9b4c88c8",
"sha256:7b2a19e13dfb5c8e145c7a6ea959485ee8e2204699903c88c7d25283584bfc08", "sha256:73ca8fbc5bc622e54627314c1a6f1dfdd8db69788f3443e752c215f29fa87a0b",
"sha256:7cec2af81f9e7569280822be68bd57e51b86d42e59ea30d10ebdbb22d2cb7232", "sha256:79b356f3dd5b26f3ad23b35c75dbdaf1f9e2450b6bcefc6d0825ea0aa3f86ca5",
"sha256:8383a6c8cefba1b7cecc0149415046b6fc38836295bc4c84e820872eb5478b3d", "sha256:7a892be37ca35eb5019ec85402c3371b0f7cda5ab5056023a7f13da0961e60da",
"sha256:8c836309931839cca658a78a888dab9676b5c988d0dd34ca247f5f3e679f4e7a", "sha256:8192794d120167e2a64721d88dbd688584675e86e15d0569599257566dec9bf0",
"sha256:8e317953bb4c074c06c798a11dbdd2cf9979dbcaa8ccc0fa4701d80042d4ebf1", "sha256:820bc841faa502e727a48311948e0461132a9c8baa42f6b2b84a29ced24cc078",
"sha256:923b7b1c717bd0f0f92d862d1ff51d9b2b55dbbd133e05680204465f454bb286", "sha256:8f894208794b164e6bd4bba61fc98bf6b06be4d390cf2daacfa6eca0a6d2bb4f",
"sha256:990fb20b32990b2ce2c5f974c3e738c9358b2735bc05075d50a6f36721b8f303", "sha256:a04e990a2a41740b02d6182b498ee9796cf60eefe40cf859b016650147908029",
"sha256:9aad68c3f2566dfae84bf46295a79e79d904e1c21ccfc66de88cd446f8686341", "sha256:a44963520b069e12789d0faea4e9fdb1e410cdc4aab89d94f7f55cbb7fef0353",
"sha256:a5812840d1d00eafae6585aba38021f90a705a25b8216ec7f66aebe5b619fb84", "sha256:a6bb74ed465d5fb204b2ec41d79bcd28afccf817de721e8a807d5141c3426638",
"sha256:a6519d917abb15e12380406d721e37613e2a67d166f9fb7e5a8ce0375744cd45", "sha256:ab73b35e8d109bffbda9a3e91c64e29fe26e03e49addf5b43d85fc426dde11f9",
"sha256:ab0b028165eea880af12f66086694768f2c3139b2c31ad5e032c8edbafca6ffc", "sha256:aea072a941b033813f5e4814541fc265a5c12ed9720daef11ca516aeacd3bd7f",
"sha256:aea7da970f1feccf48be7335f8b2ca64baf9b589d79e05b9397a06696ce1a1ec", "sha256:b1ccf5e728ccf83acd313c89f07c22d70d6c375a9c6f339233dcf792094bcbf7",
"sha256:b1196e13c45e327d6cd0b6e471530a1882f1017eb83c6229fc613cd1a11b53cd", "sha256:b385d49609f8e9efc885790a5a0e89f2e3ae042cdf12958b6034cc442de428d3",
"sha256:b368e1aee1b9b75757942d44d7598dcd22a9dbb126affcbba82d15917f0cc155", "sha256:b3d45ff86efb129c599a3b287ae2e44c1e281ae0f9a9bad0edc202179bcc3a2e",
"sha256:bde997cac85fcac227b27d4fb2c7608a2c5f6558469b0eb704c5726ae49e1c52", "sha256:b4a474f799456e0eb46d78ab07303286a84a3140e9700b9e154cfebc8f527016",
"sha256:c4c2872b3c91f9baa836147ca33650dc5c172e9273c808c3c3199c75490e709d", "sha256:b95c3a8cb0463ba9f77383d0fa8c9194cf91f64445a63fc26fb2327e1e1eb088",
"sha256:c59d2ad092dc0551d9f79d9d44d005c945ba95832a6798f98f9216ede3d5f485", "sha256:c5986ee7ea0795a4095ac4d113cbb3448601efca7f158ec7f7087a6c705304e4",
"sha256:d1da0a2e3b37b745a2b2a678a4c796462cf753aebf94edcc87dcc6b8641eae31", "sha256:cdd31315fc20868c194130de9ee6bfd99755cc9565edff98ecc12585b90be882",
"sha256:d8b7339180d00de83e930358223c617cc343dd08e1aa5ec7b06c3a121aec4e1d", "sha256:cef4649ec906ea7ea5e9e796e68b987f83fa9a718514fe147f538cfeda76d7a7",
"sha256:dd4b3355b01273a56b20c219e74e7549e14370b31a4ffe42706a8cda91f19f6d", "sha256:d05c16cf4b4c2fc880cb12ba4c9b526e9e5d5bb1d81313d4d732a5b9fe2b9d53",
"sha256:e08c470c2eb01977d221fd87495b44867a56d4d594f43739a8028f8646a51e0d", "sha256:d2e344d6adc8ef81c5a233d3a57b3c7d5181f40e79e05e1c143da143ccb6377d",
"sha256:f5102a92855d518b0996eb197772f5ac2a527c0ec617124ad5242a3af5e25f85", "sha256:d45d3cbd94159c468b9b8c5a556e3f6b81a8d1af2a92b77320e887c3e7a5d080",
"sha256:f542287b1489c7a860d43a7d8883e27ca62ab84ca53c965d11dac1d3a1fab7ce", "sha256:db14f552ac38f10758ad14dd7b983dbab424e731588d300c7db25b6f89e335b5",
"sha256:f78300789a708ac1f17e134593f577407d52d0417305435b134805c4fb135adb", "sha256:dbc5958cb471e5a5af41b0ddaea96a37e74ed289535e8deca404811f6cb0bc3d",
"sha256:f81bc26d609bf0fbc622c7122ba6307993c83c795d2d6f6f6fd8c000a770d974", "sha256:ddbd2f9713a79e8e7242d7c51f1929611e991d855f414ca9996c20e44a895f7c",
"sha256:f836c174c3a7f639bded48ec913f348c4761cbf49de4a20a956d3431a7c9cb24", "sha256:e16f3d6b491c48c5ae726308e6ab1e18ee830b4cdd6913f2d7f77354b33f91c8",
"sha256:fa21a04112c59ad54f69d80e376f7f9d0f5f9123ab87ecd18fbb9ec3a2beed56", "sha256:e2afe743289273209c992075a5a4913e8d007d569a406ffed0bd080ea02b0633",
"sha256:fcf7d1d6f5da887ca04302db8e0e0cf56ce9a5e05f202720e49b3e8157ddb9a9", "sha256:e564c2cf45d2f44a9da56f4e3a26b2236504a496eb4cb0ca7221cd4cc7a9aca9",
"sha256:fd27d8b49e574e50caa65196d908f80e4dff64d7e592d0c59788b45aad7e8b35" "sha256:ed550e7442f278af76d9d65af48069f1fb84c9f745ae249c1a183c1e9d1b025c"
], ],
"index": "pypi", "index": "pypi",
"version": "==7.5.3" "version": "==7.5.4"
}, },
"docker": { "docker": {
"hashes": [ "hashes": [
......
...@@ -151,7 +151,7 @@ template = { ...@@ -151,7 +151,7 @@ template = {
"info": { "info": {
"title": "Database Repository Analyse Service API", "title": "Database Repository Analyse Service API",
"description": "Service that analyses data structures", "description": "Service that analyses data structures",
"version": "1.4.4", "version": "1.4.5",
"contact": { "contact": {
"name": "Prof. Andreas Rauber", "name": "Prof. Andreas Rauber",
"email": "andreas.rauber@tuwien.ac.at" "email": "andreas.rauber@tuwien.ac.at"
...@@ -163,7 +163,7 @@ template = { ...@@ -163,7 +163,7 @@ template = {
}, },
"externalDocs": { "externalDocs": {
"description": "Sourcecode Documentation", "description": "Sourcecode Documentation",
"url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4.4/" "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4.5/"
}, },
"servers": [ "servers": [
{ {
......
File added
File added
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment