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

Merge branch 'dev' into 'master'

Dev

See merge request !296
parents 64ef4b1d c747fbb4
Branches
Tags
1 merge request!296Dev
Showing
with 464 additions and 211 deletions
......@@ -17,8 +17,8 @@ services:
image: docker.io/bitnami/mariadb:11.1.3-debian-11-r6
volumes:
- metadata-db-data:/bitnami/mariadb
- ./dbrepo-metadata-db/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-schema.sql:/docker-entrypoint-initdb.d/1_setup-schema.sql
- ./dist/setup-data.sql:/docker-entrypoint-initdb.d/2_setup-data.sql
ports:
- "3306:3306"
environment:
......@@ -192,8 +192,6 @@ services:
volumes:
- ./dist/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
- ./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
- broker-service-data:/bitnami/rabbitmq/mnesia
depends_on:
......
......@@ -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
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`
* Password: `fda`
* Roles: `["administrator"]`
The Broker Service allows two ways of authentication for AMQP tuples:
The Broker Service allows two ways of authentication:
1. LDAP
2. Plain (RabbitMQ's internal authentication)
1. Plain
2. OAuth2
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.
The queue 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.`
to this queue.
<figure markdown>
![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]
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
change the `default_user` and `default_pass` lines before mounting it to `/etc/rabbitmq/rabbitmq.conf`.
2. Mount your previously generated certificate and RSA public key pair (PEM-encoded) to `/app/cert.pem`
1. Once you change the admin password of the [Identity Service](../identity-service), you need to change it in the
`rabbitmq.conf` as well: `auth_ldap.dn_lookup_bind.password=newpassword`.
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
is not recommended to use "real" TLS certificates, self-signed certificates with *sufficient keylength* are best-practice.
3. Mount your TLS certificate authority file into `/etc/rabbitmq/cacert.crt` and your TLS certificate / private key pair
into `/etc/tls/tls.crt` and `/etc/tls/tls.key`.
is not recommended to use "real" TLS certificates, self-signed certificates with *sufficient keylength* are
best-practice. Mount your TLS certificate authority file into `/etc/rabbitmq/cacert.crt` and your TLS certificate
/ 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 @@
# 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/)
# Non-supported tags
......@@ -29,7 +29,7 @@
* **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))
# What is DBRepo?
......
......@@ -5,7 +5,7 @@ author: Martin Weise
## tl;dr
[: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
......@@ -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
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>
![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>
## 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
- [x] Import complex dataset
......
......@@ -9,22 +9,25 @@ author: Martin Weise
## Description
This digital record contains historical air pollution and air quality data from approximately 20 air monitoring stations
in Vienna, spanning the years from 1980 to 2021. The data was provided by the Umweltbundesamt and is stored in its
original form in this record. This record forms the basis of an analysis carried out in a bachelor's thesis at the TU
Wien.
As part of a literature study, the research unit of data science has collected data on 47 Trusted Research Environments
(TREs) who enable analysis of confidential data under strict security assertions who protect the data with technical,
organizational and legal measures from (accidentally) being leaked outside the facility. The literature study shows that
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
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>
![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>
</figure>
## DBRepo Features
- [x] Import complex dataset
- [x] System versioning
- [x] Subset exploration
- [x] Aggregated views
......@@ -33,6 +36,6 @@ Wien.
## 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 />
\ No newline at end of file
<img src="../../images/logos/ds-ifs.png" width=100 />
\ 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
[![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 }
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
project supporting data evolution, -citation and -versioning. It implements the query store of the
......
......@@ -44,7 +44,48 @@ are *not* recommended and not tested.
## 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
......@@ -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.
: *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
You should now be able to view the front end at [http://localhost](http://localhost).
......
......@@ -5,16 +5,16 @@
<head>
<meta charset="UTF-8">
<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>
<body>
<h1>Redirect Notice</h1>
<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:
</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>
</body>
</html>
\ No newline at end of file
......@@ -4,8 +4,8 @@ variables:
TRIVY_CACHE_DIR: ".trivycache/"
DOCKER_HOST: "unix:///var/run/dind/docker.sock"
TESTCONTAINERS_RYUK_DISABLED: "false"
APP_VERSION: "1.4.4"
CHART_VERSION: "1.4.4"
APP_VERSION: "1.4.5"
CHART_VERSION: "1.4.5"
image: debian:12-slim
......@@ -18,6 +18,7 @@ cache:
stages:
- build
- lint
- test
- docs
- release
......@@ -140,6 +141,18 @@ verify-install-script:
- bash install.sh
- 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:
image: maven:3-openjdk-17
stage: test
......@@ -602,6 +615,7 @@ release-docs:
- /^release-.*/
before_script:
- "apk add --update alpine-sdk bash sed wget openssh"
- "pip install pipenv"
- "pip install -r ./requirements.txt"
- "mkdir -p ./final/${APP_VERSION}/rest"
script:
......
.PHONY: all
APP_VERSION ?= 1.4.4
CHART_VERSION ?= 1.4.4
APP_VERSION ?= 1.4.5
CHART_VERSION ?= 1.4.5
REPOSITORY_URL ?= registry.datalab.tuwien.ac.at/dbrepo
.PHONY: all
......
......@@ -21,7 +21,7 @@ numpy = "*"
pandas = "*"
minio = "*"
pydantic = "*"
dbrepo = {path = "./lib/dbrepo-1.4.4.tar.gz"}
dbrepo = {path = "./lib/dbrepo-1.4.5.tar.gz"}
opensearch-py = "*"
[dev-packages]
......
{
"_meta": {
"hash": {
"sha256": "f862bcd0c3285ad0a48d0d0f738bddf0f3c1d2c5d263af9e07994463e39e5610"
"sha256": "81259bb4fb1f303f1bfc9f643c6210d3b5f8de902725e4134cdab680d3fdfbb3"
},
"pipfile-spec": 6,
"requires": {
......@@ -167,19 +167,19 @@
},
"boto3": {
"hashes": [
"sha256:b781d267dd5e7583966e05697f6bd45e2f46c01dc619ba0860b042963ee69296",
"sha256:c163fb7135a94e7b8c8c478a44071c843f05e212fa4bec3105f8a437ecbf1bcb"
"sha256:0314e6598f59ee0f34eb4e6d1a0f69fa65c146d2b88a6e837a527a9956ec2731",
"sha256:d41037e2c680ab8d6c61a0a4ee6bf1fdd9e857f43996672830a95d62d6f6fa79"
],
"index": "pypi",
"version": "==1.34.130"
"version": "==1.34.136"
},
"botocore": {
"hashes": [
"sha256:a242b3b0a836b14f308a309565cd63e88654cec238f9b73abbbd3c0526db4c81",
"sha256:a3b36e9dac1ed31c4cb3a5c5e540a7d8a9b90ff1d17f87734e674154b41776d8"
"sha256:7f7135178692b39143c8f152a618d2a3b71065a317569a7102d2306d4946f42f",
"sha256:c63fe9032091fb9e9477706a3ebfa4d0c109b807907051d892ed574f9b573e61"
],
"markers": "python_version >= '3.8'",
"version": "==1.34.130"
"version": "==1.34.136"
},
"certifi": {
"hashes": [
......@@ -392,10 +392,11 @@
"dbrepo": {
"hashes": [
"sha256:2506475fc8fb3f4fdd722e3e92f8e6ad28d0707023c3d8ea5d6d076cef71f395",
"sha256:2bdb48c70b4c99b5044fbfc12aa653c1e9281ca8913a433cc08a1e14cb4bd2ef"
"sha256:2bdb48c70b4c99b5044fbfc12aa653c1e9281ca8913a433cc08a1e14cb4bd2ef",
"sha256:dccfaec20a3972a578313206678a119db3d6f898604aab4b694aa2ac37a20629"
],
"path": "./lib/dbrepo-1.4.4.tar.gz",
"version": "==1.4.4"
"path": "./lib/dbrepo-1.4.5.tar.gz",
"version": "==1.4.5"
},
"events": {
"hashes": [
......@@ -1353,19 +1354,19 @@
},
"s3transfer": {
"hashes": [
"sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19",
"sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d"
"sha256:0711534e9356d3cc692fdde846b4a1e4b0cb6519971860796e6bc4c7aea00ef6",
"sha256:eca1c20de70a39daee580aef4986996620f365c4e0fda6a86100231d62f1bf69"
],
"markers": "python_version >= '3.8'",
"version": "==0.10.1"
"version": "==0.10.2"
},
"setuptools": {
"hashes": [
"sha256:01a1e793faa5bd89abc851fa15d0a0db26f160890c7102cd8dce643e886b47f5",
"sha256:d9b8b771455a97c8a9f3ab3448ebe0b29b5e105f1228bba41028be116985a267"
"sha256:937a48c7cdb7a21eb53cd7f9b59e525503aa8abaf3584c730dc5f7a5bec3a650",
"sha256:a58a8fde0541dab0419750bcc521fbdf8585f6e5cb41909df3a472ef7b81ca95"
],
"markers": "python_version >= '3.8'",
"version": "==70.1.0"
"version": "==70.1.1"
},
"six": {
"hashes": [
......@@ -1770,61 +1771,61 @@
},
"coverage": {
"hashes": [
"sha256:015eddc5ccd5364dcb902eaecf9515636806fa1e0d5bef5769d06d0f31b54523",
"sha256:04aefca5190d1dc7a53a4c1a5a7f8568811306d7a8ee231c42fb69215571944f",
"sha256:05ac5f60faa0c704c0f7e6a5cbfd6f02101ed05e0aee4d2822637a9e672c998d",
"sha256:0bbddc54bbacfc09b3edaec644d4ac90c08ee8ed4844b0f86227dcda2d428fcb",
"sha256:1d2a830ade66d3563bb61d1e3c77c8def97b30ed91e166c67d0632c018f380f0",
"sha256:239a4e75e09c2b12ea478d28815acf83334d32e722e7433471fbf641c606344c",
"sha256:244f509f126dc71369393ce5fea17c0592c40ee44e607b6d855e9c4ac57aac98",
"sha256:25a5caf742c6195e08002d3b6c2dd6947e50efc5fc2c2205f61ecb47592d2d83",
"sha256:296a7d9bbc598e8744c00f7a6cecf1da9b30ae9ad51c566291ff1314e6cbbed8",
"sha256:2e079c9ec772fedbade9d7ebc36202a1d9ef7291bc9b3a024ca395c4d52853d7",
"sha256:33ca90a0eb29225f195e30684ba4a6db05dbef03c2ccd50b9077714c48153cac",
"sha256:33fc65740267222fc02975c061eb7167185fef4cc8f2770267ee8bf7d6a42f84",
"sha256:341dd8f61c26337c37988345ca5c8ccabeff33093a26953a1ac72e7d0103c4fb",
"sha256:34d6d21d8795a97b14d503dcaf74226ae51eb1f2bd41015d3ef332a24d0a17b3",
"sha256:3538d8fb1ee9bdd2e2692b3b18c22bb1c19ffbefd06880f5ac496e42d7bb3884",
"sha256:38a3b98dae8a7c9057bd91fbf3415c05e700a5114c5f1b5b0ea5f8f429ba6614",
"sha256:3d5a67f0da401e105753d474369ab034c7bae51a4c31c77d94030d59e41df5bd",
"sha256:50084d3516aa263791198913a17354bd1dc627d3c1639209640b9cac3fef5807",
"sha256:55f689f846661e3f26efa535071775d0483388a1ccfab899df72924805e9e7cd",
"sha256:5bc5a8c87714b0c67cfeb4c7caa82b2d71e8864d1a46aa990b5588fa953673b8",
"sha256:62bda40da1e68898186f274f832ef3e759ce929da9a9fd9fcf265956de269dbc",
"sha256:705f3d7c2b098c40f5b81790a5fedb274113373d4d1a69e65f8b68b0cc26f6db",
"sha256:75e3f4e86804023e991096b29e147e635f5e2568f77883a1e6eed74512659ab0",
"sha256:7b2a19e13dfb5c8e145c7a6ea959485ee8e2204699903c88c7d25283584bfc08",
"sha256:7cec2af81f9e7569280822be68bd57e51b86d42e59ea30d10ebdbb22d2cb7232",
"sha256:8383a6c8cefba1b7cecc0149415046b6fc38836295bc4c84e820872eb5478b3d",
"sha256:8c836309931839cca658a78a888dab9676b5c988d0dd34ca247f5f3e679f4e7a",
"sha256:8e317953bb4c074c06c798a11dbdd2cf9979dbcaa8ccc0fa4701d80042d4ebf1",
"sha256:923b7b1c717bd0f0f92d862d1ff51d9b2b55dbbd133e05680204465f454bb286",
"sha256:990fb20b32990b2ce2c5f974c3e738c9358b2735bc05075d50a6f36721b8f303",
"sha256:9aad68c3f2566dfae84bf46295a79e79d904e1c21ccfc66de88cd446f8686341",
"sha256:a5812840d1d00eafae6585aba38021f90a705a25b8216ec7f66aebe5b619fb84",
"sha256:a6519d917abb15e12380406d721e37613e2a67d166f9fb7e5a8ce0375744cd45",
"sha256:ab0b028165eea880af12f66086694768f2c3139b2c31ad5e032c8edbafca6ffc",
"sha256:aea7da970f1feccf48be7335f8b2ca64baf9b589d79e05b9397a06696ce1a1ec",
"sha256:b1196e13c45e327d6cd0b6e471530a1882f1017eb83c6229fc613cd1a11b53cd",
"sha256:b368e1aee1b9b75757942d44d7598dcd22a9dbb126affcbba82d15917f0cc155",
"sha256:bde997cac85fcac227b27d4fb2c7608a2c5f6558469b0eb704c5726ae49e1c52",
"sha256:c4c2872b3c91f9baa836147ca33650dc5c172e9273c808c3c3199c75490e709d",
"sha256:c59d2ad092dc0551d9f79d9d44d005c945ba95832a6798f98f9216ede3d5f485",
"sha256:d1da0a2e3b37b745a2b2a678a4c796462cf753aebf94edcc87dcc6b8641eae31",
"sha256:d8b7339180d00de83e930358223c617cc343dd08e1aa5ec7b06c3a121aec4e1d",
"sha256:dd4b3355b01273a56b20c219e74e7549e14370b31a4ffe42706a8cda91f19f6d",
"sha256:e08c470c2eb01977d221fd87495b44867a56d4d594f43739a8028f8646a51e0d",
"sha256:f5102a92855d518b0996eb197772f5ac2a527c0ec617124ad5242a3af5e25f85",
"sha256:f542287b1489c7a860d43a7d8883e27ca62ab84ca53c965d11dac1d3a1fab7ce",
"sha256:f78300789a708ac1f17e134593f577407d52d0417305435b134805c4fb135adb",
"sha256:f81bc26d609bf0fbc622c7122ba6307993c83c795d2d6f6f6fd8c000a770d974",
"sha256:f836c174c3a7f639bded48ec913f348c4761cbf49de4a20a956d3431a7c9cb24",
"sha256:fa21a04112c59ad54f69d80e376f7f9d0f5f9123ab87ecd18fbb9ec3a2beed56",
"sha256:fcf7d1d6f5da887ca04302db8e0e0cf56ce9a5e05f202720e49b3e8157ddb9a9",
"sha256:fd27d8b49e574e50caa65196d908f80e4dff64d7e592d0c59788b45aad7e8b35"
"sha256:018a12985185038a5b2bcafab04ab833a9a0f2c59995b3cec07e10074c78635f",
"sha256:02ff6e898197cc1e9fa375581382b72498eb2e6d5fc0b53f03e496cfee3fac6d",
"sha256:042183de01f8b6d531e10c197f7f0315a61e8d805ab29c5f7b51a01d62782747",
"sha256:1014fbf665fef86cdfd6cb5b7371496ce35e4d2a00cda501cf9f5b9e6fced69f",
"sha256:1137f46adb28e3813dec8c01fefadcb8c614f33576f672962e323b5128d9a68d",
"sha256:16852febd96acd953b0d55fc842ce2dac1710f26729b31c80b940b9afcd9896f",
"sha256:2174e7c23e0a454ffe12267a10732c273243b4f2d50d07544a91198f05c48f47",
"sha256:2214ee920787d85db1b6a0bd9da5f8503ccc8fcd5814d90796c2f2493a2f4d2e",
"sha256:3257fdd8e574805f27bb5342b77bc65578e98cbc004a92232106344053f319ba",
"sha256:3684bc2ff328f935981847082ba4fdc950d58906a40eafa93510d1b54c08a66c",
"sha256:3a6612c99081d8d6134005b1354191e103ec9705d7ba2754e848211ac8cacc6b",
"sha256:3d7564cc09dd91b5a6001754a5b3c6ecc4aba6323baf33a12bd751036c998be4",
"sha256:44da56a2589b684813f86d07597fdf8a9c6ce77f58976727329272f5a01f99f7",
"sha256:5013ed890dc917cef2c9f765c4c6a8ae9df983cd60dbb635df8ed9f4ebc9f555",
"sha256:54317c2b806354cbb2dc7ac27e2b93f97096912cc16b18289c5d4e44fc663233",
"sha256:56b4eafa21c6c175b3ede004ca12c653a88b6f922494b023aeb1e836df953ace",
"sha256:581ea96f92bf71a5ec0974001f900db495488434a6928a2ca7f01eee20c23805",
"sha256:5cd64adedf3be66f8ccee418473c2916492d53cbafbfcff851cbec5a8454b136",
"sha256:5df54843b88901fdc2f598ac06737f03d71168fd1175728054c8f5a2739ac3e4",
"sha256:65e528e2e921ba8fd67d9055e6b9f9e34b21ebd6768ae1c1723f4ea6ace1234d",
"sha256:6aae5cce399a0f065da65c7bb1e8abd5c7a3043da9dceb429ebe1b289bc07806",
"sha256:6cfb5a4f556bb51aba274588200a46e4dd6b505fb1a5f8c5ae408222eb416f99",
"sha256:7076b4b3a5f6d2b5d7f1185fde25b1e54eb66e647a1dfef0e2c2bfaf9b4c88c8",
"sha256:73ca8fbc5bc622e54627314c1a6f1dfdd8db69788f3443e752c215f29fa87a0b",
"sha256:79b356f3dd5b26f3ad23b35c75dbdaf1f9e2450b6bcefc6d0825ea0aa3f86ca5",
"sha256:7a892be37ca35eb5019ec85402c3371b0f7cda5ab5056023a7f13da0961e60da",
"sha256:8192794d120167e2a64721d88dbd688584675e86e15d0569599257566dec9bf0",
"sha256:820bc841faa502e727a48311948e0461132a9c8baa42f6b2b84a29ced24cc078",
"sha256:8f894208794b164e6bd4bba61fc98bf6b06be4d390cf2daacfa6eca0a6d2bb4f",
"sha256:a04e990a2a41740b02d6182b498ee9796cf60eefe40cf859b016650147908029",
"sha256:a44963520b069e12789d0faea4e9fdb1e410cdc4aab89d94f7f55cbb7fef0353",
"sha256:a6bb74ed465d5fb204b2ec41d79bcd28afccf817de721e8a807d5141c3426638",
"sha256:ab73b35e8d109bffbda9a3e91c64e29fe26e03e49addf5b43d85fc426dde11f9",
"sha256:aea072a941b033813f5e4814541fc265a5c12ed9720daef11ca516aeacd3bd7f",
"sha256:b1ccf5e728ccf83acd313c89f07c22d70d6c375a9c6f339233dcf792094bcbf7",
"sha256:b385d49609f8e9efc885790a5a0e89f2e3ae042cdf12958b6034cc442de428d3",
"sha256:b3d45ff86efb129c599a3b287ae2e44c1e281ae0f9a9bad0edc202179bcc3a2e",
"sha256:b4a474f799456e0eb46d78ab07303286a84a3140e9700b9e154cfebc8f527016",
"sha256:b95c3a8cb0463ba9f77383d0fa8c9194cf91f64445a63fc26fb2327e1e1eb088",
"sha256:c5986ee7ea0795a4095ac4d113cbb3448601efca7f158ec7f7087a6c705304e4",
"sha256:cdd31315fc20868c194130de9ee6bfd99755cc9565edff98ecc12585b90be882",
"sha256:cef4649ec906ea7ea5e9e796e68b987f83fa9a718514fe147f538cfeda76d7a7",
"sha256:d05c16cf4b4c2fc880cb12ba4c9b526e9e5d5bb1d81313d4d732a5b9fe2b9d53",
"sha256:d2e344d6adc8ef81c5a233d3a57b3c7d5181f40e79e05e1c143da143ccb6377d",
"sha256:d45d3cbd94159c468b9b8c5a556e3f6b81a8d1af2a92b77320e887c3e7a5d080",
"sha256:db14f552ac38f10758ad14dd7b983dbab424e731588d300c7db25b6f89e335b5",
"sha256:dbc5958cb471e5a5af41b0ddaea96a37e74ed289535e8deca404811f6cb0bc3d",
"sha256:ddbd2f9713a79e8e7242d7c51f1929611e991d855f414ca9996c20e44a895f7c",
"sha256:e16f3d6b491c48c5ae726308e6ab1e18ee830b4cdd6913f2d7f77354b33f91c8",
"sha256:e2afe743289273209c992075a5a4913e8d007d569a406ffed0bd080ea02b0633",
"sha256:e564c2cf45d2f44a9da56f4e3a26b2236504a496eb4cb0ca7221cd4cc7a9aca9",
"sha256:ed550e7442f278af76d9d65af48069f1fb84c9f745ae249c1a183c1e9d1b025c"
],
"index": "pypi",
"version": "==7.5.3"
"version": "==7.5.4"
},
"docker": {
"hashes": [
......
......@@ -151,7 +151,7 @@ template = {
"info": {
"title": "Database Repository Analyse Service API",
"description": "Service that analyses data structures",
"version": "1.4.4",
"version": "1.4.5",
"contact": {
"name": "Prof. Andreas Rauber",
"email": "andreas.rauber@tuwien.ac.at"
......@@ -163,7 +163,7 @@ template = {
},
"externalDocs": {
"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": [
{
......
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