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

Added documentation

parent 4c49635e
No related branches found
No related tags found
No related merge requests found
...@@ -26,6 +26,16 @@ technologies. The conceptualized microservices operate the basic database operat ...@@ -26,6 +26,16 @@ technologies. The conceptualized microservices operate the basic database operat
Alternatively, you can also deploy DBRepo with [Helm](../deployment-helm/) in your virtual machine instead. Alternatively, you can also deploy DBRepo with [Helm](../deployment-helm/) in your virtual machine instead.
## Environment Values
| Key | Type | Default | Description |
|------------------------|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `DBREPO_CLIENT_ID` | string | `dbrepo-client` | Client ID of the keycloak client for API communication. |
| `DBREPO_CLIENT_SECRET` | string | `MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG` | Client secret of the keycloak client, this should be changed in the admin console of keycloak. |
| `JWT_ISSUER` | string | `http://localhost/api/auth/realms/dbrepo` | The issuer in the JWT `iss` field of the (decoded) token. Public deployments with hostnames other than localhost need to change that. The issuer always has the form `<PROTOCOL>://<HOSTNAME>/api/auth/realms/dbrepo`, e.g. change PROTOCOL to https for SSL/TLS deployments. |
| `JWT_PUBKEY` | string | `MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB` | Public key that can verify the JWT signature, this should be changed. |
| `JWT_CERT` | string | `MIICmzCCAYMCBgGG3GWyBTANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDDAZkYnJlcG8wHhcNMjMwMzEzMTkxMzE3WhcNMzMwMzEzMTkxNDU3WjARMQ8wDQYDVQQDDAZkYnJlcG8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqqcdDYFZZb28M0tEJzEP77FmD/Xqioyj9zWX6VwUSOMAgmMmn8eqs9hT9T0a+q4YTo9tUW1PNbUpwprA5b4Uk04DcIajxDVMUR/PjcHytmkqwVskq9AZW/Vngdoo+8tSbuIybwe/3Vwt266hbHpDcM97a+DXcYooRl7tQWCEX7RP27wQrMD9epDQ6IgKayZg9vC9/03dsIqwH9jXQRiZlFvwiEKhX2aY7lPGBaCK414JO00K/Z49iov9TRa/IYVbSt5qwgrx6DcqsBSPwOnI6A85UGfeUEZ/7coVJiL7RvBlsllapsL9eWTbQajVh94k9Ei3sibEPbtH+U2OAM78zAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAASnN1Cuif1sdfEK2kWAURSXGJCohCROLWdKFjaeHPRaEfpbFJsgxW0Yj3nwX5O3bUlOWoTyENwnXSsXMQsqnNi+At32CKaKO8+AkhAbgQL9F0B+KeJwmYv3cUj5N/LYkJjBvZBzUZ4Ugu5dcxH0k7AktLAIwimkyEnxTNolOA3UyrGGpREr8MCKWVr10RFuOpF/0CsJNNwbHXzalO9D756EUcRWZ9VSg6QVNso0YYRKTnILWDn9hcTRnqGy3SHo3anFTqQZ+BB57YbgFWy6udC0LYRB3zdp6zNti87eu/VEymiDY/mmo1AB8Tm0b6vxFz4AKcL3ax5qS6YnZ9efSzk=IJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB` | Public key that can verify the JWT signature, this should be changed. |
## Requirements ## Requirements
### Hardware ### Hardware
......
...@@ -35,6 +35,7 @@ helm upgrade --install dbrepo \ ...@@ -35,6 +35,7 @@ helm upgrade --install dbrepo \
| `replicaCount` | int | `1` | Number of replicas (pods) to launch. | | `replicaCount` | int | `1` | Number of replicas (pods) to launch. |
| `nameOverride` | string | `""` | A name in place of the chart name for `app:` labels. | | `nameOverride` | string | `""` | A name in place of the chart name for `app:` labels. |
| `fullnameOverride` | string | `""` | A name to substitute for the full names of resources. | | `fullnameOverride` | string | `""` | A name to substitute for the full names of resources. |
| `imagePullPolicy` | string | `Always` | Override for the image pull policy, e.g. `IfNotPresent` |
| `adminEmail` | string | `noreply@example.com` | E-mail address for OAI-PMH metadata. | | `adminEmail` | string | `noreply@example.com` | E-mail address for OAI-PMH metadata. |
| `repositoryName` | string | `Database Repository` | Repository name for OAI-PMH metadata. | | `repositoryName` | string | `Database Repository` | Repository name for OAI-PMH metadata. |
| `hostname` | string | `example.com` | Domain name for the deployment, should not contain `https://` or any path. | | `hostname` | string | `example.com` | Domain name for the deployment, should not contain `https://` or any path. |
......
...@@ -6,22 +6,22 @@ author: Martin Weise ...@@ -6,22 +6,22 @@ author: Martin Weise
!!! debug "Debug Information" !!! debug "Debug Information"
* Ports: 9092/tcp * Ports: 9099/tcp
* Info: `http://:9092/actuator/info` * Info: `http://:9099/actuator/info`
* Health: `http://:9092/actuator/health` * Health: `http://:9099/actuator/health`
* Prometheus: `http://:9092/actuator/prometheus` * Prometheus: `http://:9099/actuator/prometheus`
* Swagger UI: `http://:9092/swagger-ui/index.html` <a href="/infrastructures/dbrepo/latest/swagger/database" target="_blank">:fontawesome-solid-square-up-right: view online</a> * Swagger UI: `http://:9099/swagger-ui/index.html` <a href="/infrastructures/dbrepo/latest/swagger/metadata" target="_blank">:fontawesome-solid-square-up-right: view online</a>
It creates the databases inside a Docker container and the Query Store. Currently, we only This microservice manages:
support [MariaDB](https://mariadb.org/) images that allow table versioning with low programmatic effort.
!!! debug "Debug Information" * Databases
* Users
* Metadata (PID, OAI-PMH)
* Queries, views
* Tables
* Ports: 9096/tcp It creates the databases inside a Docker container and the Query Store. Currently, we only
* Info: `http://:9096/actuator/info` support [MariaDB](https://mariadb.org/) images that allow table versioning with low programmatic effort.
* Health: `http://:9096/actuator/health`
* Prometheus: `http://:9096/actuator/prometheus`
* Swagger UI: `http://:9096/swagger-ui/index.html` <a href="/infrastructures/dbrepo/latest/swagger/identifier" target="_blank">:fontawesome-solid-square-up-right: view online</a>
This microservice is responsible for creating and resolving a *persistent identifier* (PID) attached to a query to This microservice is responsible for creating and resolving a *persistent identifier* (PID) attached to a query to
obtain the metadata attached to it and allow re-execution of a query. We store both the query and hashes of the query obtain the metadata attached to it and allow re-execution of a query. We store both the query and hashes of the query
...@@ -29,45 +29,11 @@ and result set to allow equality checks of the originally obtained result set an ...@@ -29,45 +29,11 @@ and result set to allow equality checks of the originally obtained result set an
the reference implementation we currently only use a numerical id column and plan to integrate *digital object the reference implementation we currently only use a numerical id column and plan to integrate *digital object
identifier* (DOI) through our institutional library soon. identifier* (DOI) through our institutional library soon.
!!! debug "Debug Information"
* Ports: 9099/tcp
* Info: `http://:9099/actuator/info`
* Health: `http://:9099/actuator/health`
* Prometheus: `http://:9099/actuator/prometheus`
* Swagger UI: `http://:9099/swagger-ui/index.html` <a href="/infrastructures/dbrepo/latest/swagger/metadata" target="_blank">:fontawesome-solid-square-up-right: view online</a>
This service provides an OAI-PMH endpoint for metadata crawler. This service provides an OAI-PMH endpoint for metadata crawler.
!!! debug "Debug Information"
* Ports: 9093/tcp
* Info: `http://:9093/actuator/info`
* Health: `http://:9093/actuator/health`
* Prometheus: `http://:9093/actuator/prometheus`
* Swagger UI: `http://:9093/swagger-ui/index.html` <a href="/infrastructures/dbrepo/latest/swagger/query" target="_blank">:fontawesome-solid-square-up-right: view online</a>
It provides an interface to insert data into the tables created by the Table Service. It also allows for view-only, It provides an interface to insert data into the tables created by the Table Service. It also allows for view-only,
paginated and versioned query execution to the raw data and consumes messages in the message queue from the Broker paginated and versioned query execution to the raw data and consumes messages in the message queue from the Broker
Service. Service.
!!! debug "Debug Information"
* Ports: 9094/tcp
* Info: `http://:9094/actuator/info`
* Health: `http://:9094/actuator/health`
* Prometheus: `http://:9094/actuator/prometheus`
* Swagger UI: `http://:9094/swagger-ui/index.html` <a href="/infrastructures/dbrepo/latest/swagger/table" target="_blank">:fontawesome-solid-square-up-right: view online</a>
This microservice handles table operations inside a database that is managed by the Database Service. We This microservice handles table operations inside a database that is managed by the Database Service. We
use [Hibernate](https://hibernate.org/orm/) for schema and data ingest operations. use [Hibernate](https://hibernate.org/orm/) for schema and data ingest operations.
!!! debug "Debug Information"
* Ports: 9098/tcp
* Info: `http://:9098/actuator/info`
* Health: `http://:9098/actuator/health`
* Prometheus: `http://:9098/actuator/prometheus`
* Swagger UI: `http://:9098/swagger-ui/index.html` <a href="/infrastructures/dbrepo/latest/swagger/user" target="_blank">:fontawesome-solid-square-up-right: view online</a>
This microservice handles user information.
---
author: Martin Weise
---
# Upload Service
!!! debug "Debug Information"
* Ports: 1080/tcp
Upload files using one of the official the TUSd clients:
* [NodeJS / JavaScript](https://github.com/tus/tus-js-client)
* [Java](https://github.com/tus/tus-java-client)
* [Python](https://github.com/tus/tus-py-client)
## Example (Python)
Uploads a file `file.csv` in 200 byte chunks.
```python
#!/bin/env python3
from tusclient import client
my_client = client.TusClient('http://localhost/api/upload/files')
uploader = my_client.uploader('/path/to/file.csv', chunk_size=200)
uploader.upload()
```
...@@ -19,6 +19,7 @@ nav: ...@@ -19,6 +19,7 @@ nav:
- Broker Service: system-services-broker.md - Broker Service: system-services-broker.md
- Gateway Service: system-services-gateway.md - Gateway Service: system-services-gateway.md
- Metadata Service: system-services-metadata.md - Metadata Service: system-services-metadata.md
- Upload Service: system-services-upload.md
- Databases: - Databases:
- Data Database: system-databases-data.md - Data Database: system-databases-data.md
- Metadata Database: system-databases-metadata.md - Metadata Database: system-databases-metadata.md
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment