diff --git a/.docs/system-services-analyse.md b/.docs/concepts/analysis.md similarity index 100% rename from .docs/system-services-analyse.md rename to .docs/concepts/analysis.md diff --git a/.docs/system-services-authentication.md b/.docs/concepts/authentication.md similarity index 100% rename from .docs/system-services-authentication.md rename to .docs/concepts/authentication.md diff --git a/.docs/system-services-data.md b/.docs/concepts/data.md similarity index 100% rename from .docs/system-services-data.md rename to .docs/concepts/data.md diff --git a/.docs/system-services-gateway.md b/.docs/concepts/gateway.md similarity index 100% rename from .docs/system-services-gateway.md rename to .docs/concepts/gateway.md diff --git a/.docs/system-services-broker.md b/.docs/concepts/message-broker.md similarity index 100% rename from .docs/system-services-broker.md rename to .docs/concepts/message-broker.md diff --git a/.docs/system-services-metadata.md b/.docs/concepts/metadata.md similarity index 100% rename from .docs/system-services-metadata.md rename to .docs/concepts/metadata.md diff --git a/.docs/system-overview.md b/.docs/concepts/microservice.md similarity index 100% rename from .docs/system-overview.md rename to .docs/concepts/microservice.md diff --git a/.docs/concepts/pid.md b/.docs/concepts/pid.md new file mode 100644 index 0000000000000000000000000000000000000000..c5d769192cc561add9f9bba795e8ff78f9edd196 --- /dev/null +++ b/.docs/concepts/pid.md @@ -0,0 +1,7 @@ +--- +author: Martin Weise +--- + +## tbd + +tbd diff --git a/.docs/system-databases-data.md b/.docs/concepts/relational-database.md similarity index 99% rename from .docs/system-databases-data.md rename to .docs/concepts/relational-database.md index e290bc1342373ea784d25c6ef2da6eb840abd8bd..468b97ac07fa5a5948730abe9fd857539b5b3a11 100644 --- a/.docs/system-databases-data.md +++ b/.docs/concepts/relational-database.md @@ -2,10 +2,6 @@ author: Martin Weise --- -# Data Database - -## tl;dr - !!! debug "Debug Information" Image: [`bitnami/mariadb-galera:11.2.2-debian-11-r0`](https://hub.docker.com/r/bitnami/mariadb-galera) diff --git a/.docs/system-services-search.md b/.docs/concepts/search.md similarity index 100% rename from .docs/system-services-search.md rename to .docs/concepts/search.md diff --git a/.docs/system-services-storage.md b/.docs/concepts/storage.md similarity index 100% rename from .docs/system-services-storage.md rename to .docs/concepts/storage.md diff --git a/.docs/system-other-ui.md b/.docs/concepts/ui.md similarity index 100% rename from .docs/system-other-ui.md rename to .docs/concepts/ui.md diff --git a/.docs/system-services-upload.md b/.docs/concepts/upload.md similarity index 100% rename from .docs/system-services-upload.md rename to .docs/concepts/upload.md diff --git a/.docs/dev-guide-app.md b/.docs/contributing.md similarity index 91% rename from .docs/dev-guide-app.md rename to .docs/contributing.md index 6d20ae5065bf8bd52555dcb0869ad9c4096f9ebe..4268b7807faa7be726b3de400407e09ec528ed35 100644 --- a/.docs/dev-guide-app.md +++ b/.docs/contributing.md @@ -1,4 +1,10 @@ -# Application Developer Guide +--- +author: Martin Weise +--- + +## Contributing + +We welcome contributions to DBRepo! ## Dependencies @@ -104,4 +110,11 @@ repository. ## Documentation -For consistency reasons across the documentation, the resolution needs to be 1280x800 (16:10 ratio) \ No newline at end of file +For consistency reasons across the documentation, the resolution needs to be 1280x800 (16:10 ratio) + +## Roadmap + +- [x] Q1: Python library, versioning in every component, bumping frontend versions, i18n +- [ ] Q2: Kubernetes deployment guidelines for OpenShift +- [ ] Q3: Frontend tests, database dashboards +- [ ] Q4: Release of 2.0.0 diff --git a/.docs/dev-guide-infra.md b/.docs/dev-guide-infra.md deleted file mode 100644 index cb01a76473d24e18a2bcbcbe444912be10890b02..0000000000000000000000000000000000000000 --- a/.docs/dev-guide-infra.md +++ /dev/null @@ -1,78 +0,0 @@ -# Infrastructure Developer Guide - -## tl;dr - -```shell -make cluster-start cluster-image-pull cluster-install -``` - -## Dependencies - -Local development depends on the following packages for Debian 12: - -```shell -apt install -y make -``` - -Required tools with their own installing guides: - -* [Docker Engine](https://docs.docker.com/engine/install/) 24+ -* [Minikube](https://minikube.sigs.k8s.io/docs/start/) 1.32.0 - -## Getting Started - -Start the local development cluster with the Docker driver (takes at least 8 vCPUs and 12GB RAM). It installs a Minikube -single-node Kubernetes cluster with enabled Ingress and Dashboard - -```shell -make cluster-start -``` - -Build the local images with `make build-docker` and copy them to the cluster image cache: - -```shell -make cluster-image-pull -``` - -Build and install the Helm chart: - -```shell -make cluster-install -``` - -## Debug - -Open the Minikube (Kubernetes) Dashboard: - -```shell -make cluster-dashboard -``` - -<figure markdown> - -<figcaption>Figure 1: Minikube Dashboard</figcaption> -</figure> - -Optionally enable the Prometheus metrics addon with: - -```shell -minikube addons enable metrics-server -``` - -## Test - -Test if the Helm chart raises errors on start (the script aborts after 5 minutes automatically if some pods are not -starting or erroneous). - -```shell -make cluster-test -``` - -## Uninstall - -To uninstall DBRepo from the local Minikube cluster, removing all data: - -```shell -make cluster-uninstall -``` - diff --git a/.docs/dev-overview.md b/.docs/dev-overview.md deleted file mode 100644 index e7c0e808b9589164e50032d9ffaeb52aa6ae93d6..0000000000000000000000000000000000000000 --- a/.docs/dev-overview.md +++ /dev/null @@ -1,21 +0,0 @@ -# Overview - -## Guides - -* The [application developer guide](../dev-guide-app) guides you through the steps on how to build DBRepo from - scratch and customize the application. -* The [infrastructure developer guide](../dev-guide-infra) guides you through the steps on how to build and customize - the operation environment. - -## Organization - -* Monthly sprints with patch-releases (i.e. `1.4.2` in February, `1.4.3` in March, ...). -* Branching from `dev` for feature development, one release branch per patch (i.e. `release-1.4.2` for release version - `1.4.2`). - -## Roadmap - -- [x] Q1: Python library, versioning in every component, bumping frontend versions, i18n -- [ ] Q2: Kubernetes deployment guidelines for OpenShift -- [ ] Q3: Frontend tests, database dashboards -- [ ] Q4: Release of 2.0.0 \ No newline at end of file diff --git a/.docs/help.md b/.docs/help.md new file mode 100644 index 0000000000000000000000000000000000000000..5dd7d1c58a8cc2a2c76fa280f4b05a5d79bffa72 --- /dev/null +++ b/.docs/help.md @@ -0,0 +1,11 @@ +--- +author: Martin Weise +--- + +## Usage Documentation + +The [usage documentation](#) is the most complete guide on how to use DBRepo. + +## API Documentation + +The [API documentation](#) present reference docs for all APIs. diff --git a/.docs/index.md b/.docs/index.md index 4eb23f9e8a289ce59f601c27dab907d6bd78e48d..882dff6841cebde7b18874c561bf30349a352ba3 100644 --- a/.docs/index.md +++ b/.docs/index.md @@ -1,24 +1,13 @@ --- author: Martin Weise -hide: -- navigation -social: - cards_layout_options: - title: Documentation that simply works --- -## Problem Statement +[](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 } +[](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 } +[](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 } +[](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 } +[](https://artifacthub.io/packages/helm/dbrepo/dbrepo){ tabindex=-1 } -Digital repositories see themselves more frequently encountered with the problem of making databases accessible in their -collection. Challenges revolve around organizing, searching and retrieving content stored within databases and -constitute a major technical burden as their internal representation greatly differs from static documents most digital -repositories are designed for. - -## Application Areas - -We present a database repository system that allows researchers to ingest data into a central, versioned repository -through common interfaces, provides efficient access to arbitrary subsets of data even when the underlying data store is -evolving, allows reproducing of query results and supports findable-, accessible-, interoperable- and reusable data. ## Features @@ -44,12 +33,14 @@ edge devices like sensors and store them asynchronous in DBRepo. [Learn more.](. ### Cloud Native Our lightweight Helm chart allows for installations on any cloud provider or private-cloud setting that has an -underlying PV storage provider. DBRepo can be installed from the Artifacthub repository. Databases are managed as -MariaDB Galera Cluster with high degree of availability ensuring your data is always accessible. +underlying PV storage provider. DBRepo can be installed from +the [Artifact Hub](https://artifacthub.io/packages/helm/dbrepo/dbrepo) repository. Databases are managed as MariaDB +Galera Cluster with high degree of availability ensuring your data is always accessible. [Learn more.](../deployment-helm/) -## More Information +## Demo Site + +We run a small demonstration instance so you can see the latest version of DBRepo in action. The demonstration instance +is updated with new releases and should be considered ephemeral. -- Demonstration instance [https://dbrepo1.ec.tuwien.ac.at](https://dbrepo1.ec.tuwien.ac.at) -- Test instance [https://test.dbrepo.tuwien.ac.at](https://test.dbrepo.tuwien.ac.at) -- System description [https://doi.org/10.2218/ijdc.v17i1.825](https://doi.org/10.2218/ijdc.v17i1.825) +[:fontawesome-solid-flask: Demonstration Instance](https://test.dbrepo.tuwien.ac.at){ .md-button .md-button--primary } \ No newline at end of file diff --git a/.docs/migration.md b/.docs/migration.md new file mode 100644 index 0000000000000000000000000000000000000000..fe8052fc8f9f03c416517be5cae7e1fa86e6f947 --- /dev/null +++ b/.docs/migration.md @@ -0,0 +1,6 @@ +--- +author: Martin Weise +--- + +## Migration Guide + diff --git a/.docs/operation-actuator.md b/.docs/operation-actuator.md deleted file mode 100644 index 581027daf1a5a85279163154e4c9da655f95bc7a..0000000000000000000000000000000000000000 --- a/.docs/operation-actuator.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -author: Martin Weise ---- - -# Actuators - -## Usage - -TBD documentation of all Healthiness endpoints \ No newline at end of file diff --git a/.docs/operation-prometheus.md b/.docs/operation-prometheus.md deleted file mode 100644 index 8c31d0e94eb42a8f9125e22ba2acdc085e0b2d71..0000000000000000000000000000000000000000 --- a/.docs/operation-prometheus.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -author: Martin Weise ---- - -# Prometheus - -## Usage - -TBD documentation of all prometheus metrics diff --git a/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/extra.scssc b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/extra.scssc index af6f91ae62d67828dfbb9235363407bea6d6dd0a..381e95eee429698ebbbc5f4a1b6337eb2823178d 100644 Binary files a/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/extra.scssc and b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/extra.scssc differ diff --git a/.docs/stylesheets/extra.css b/.docs/stylesheets/extra.css index fbdf67bf13ef5c98430ac396ba255bc48a10261e..5356c0f2fe1796dc3ebb579744653c0621e5fe55 100644 --- a/.docs/stylesheets/extra.css +++ b/.docs/stylesheets/extra.css @@ -1,17 +1,20 @@ :root, [data-md-color-accent=indigo] { --md-primary-fg-color: #006699; - --md-accent-fg-color: #005c8a /* darken 10% */ ; - --md-primary-fg-color--dark: #00537c /* darken 10% */ ; } + --md-accent-fg-color: #005c8a; + /* darken 10% */ + --md-primary-fg-color--dark: #00537c; + /* darken 10% */ } img.img-border { border: 1px solid #b3b3b3; } -.md-typeset .md-button.md-button--secondary { - background: #ffffff; } - .md-typeset .md-button.md-button--secondary:focus, .md-typeset .md-button.md-button--secondary:hover { - color: var(--md-primary-fg-color); - background: #e5e5e5; } +.md-typeset .md-button.md-button--primary { + color: white !important; } + +.md-typeset .md-button.md-button--secondary:focus, .md-typeset .md-button.md-button--secondary:hover { + color: var(--md-primary-fg-color--dark); + background: #e5e5e5; } .md-main .md-content a:not(.action-button):not([tabindex]), .md-main .md-content a:not(.action-button):not([tabindex]) { diff --git a/.docs/stylesheets/extra.css.map b/.docs/stylesheets/extra.css.map index d6ff724b3c656d7bd2b1adbcbc52ae3c96922d2d..5c5c3a911fcb8265a54e5b27f62e6b92bc1900c1 100644 --- a/.docs/stylesheets/extra.css.map +++ b/.docs/stylesheets/extra.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "AAAA;6BAC8B;EAC5B,qBAAqB,CAAC,QAAQ;EAC9B,oBAAoB,CAAC,0BACvB;EACE,2BAA2B,CAAC,0BAC9B;;AAGA,cAAe;EACb,MAAM,EAAE,iBAAiB;;AAG3B,2CAA4C;EAC1C,UAAU,EAAE,OAAO;EAEnB,oGACQ;IACN,KAAK,EAAE,0BAA0B;IACjC,UAAU,EAAE,OAAO;;AAKvB;0DAC2D;EACzD,KAAK,EAAE,uBAAuB;EAC9B,aAAa,EAAE,oCAAoC;EAEnD;;kEACQ;IACN,KAAK,EAAE,uBAAuB;IAC9B,aAAa,EAAE,0CAA0C;;AAK7D,UAAW;EACT,gBAAgB,EAAE,gCAAgC", +"mappings": "AAAA;6BAC8B;EAC5B,qBAAqB,CAAC,QAAQ;EAC9B,oBAAoB,CAAC,QAAQ;EAAE,gBAAgB;EAC/C,2BAA2B,CAAC,QAAQ;EAAE,gBAAgB;;AAGxD,cAAe;EACb,MAAM,EAAE,iBAAiB;;AAG3B,yCAA0C;EACxC,KAAK,EAAE,gBAAgB;;AAIvB,oGACQ;EACN,KAAK,EAAE,gCAAgC;EACvC,UAAU,EAAE,OAAO;;AAIvB;0DAC2D;EACzD,KAAK,EAAE,uBAAuB;EAC9B,aAAa,EAAE,oCAAoC;EAEnD;;kEACQ;IACN,KAAK,EAAE,uBAAuB;IAC9B,aAAa,EAAE,0CAA0C;;AAK7D,UAAW;EACT,gBAAgB,EAAE,gCAAgC", "sources": ["extra.scss"], "names": [], "file": "extra.css" diff --git a/.docs/stylesheets/extra.scss b/.docs/stylesheets/extra.scss index 59fee68b6e277108d3ee17079beb4de337c92701..a595e585b47eec0ea470ae21af2faa3bc375094c 100644 --- a/.docs/stylesheets/extra.scss +++ b/.docs/stylesheets/extra.scss @@ -1,24 +1,23 @@ :root, [data-md-color-accent=indigo] { --md-primary-fg-color: #006699; - --md-accent-fg-color: #005c8a /* darken 10% */ -; - --md-primary-fg-color--dark: #00537c /* darken 10% */ -; + --md-accent-fg-color: #005c8a; /* darken 10% */ + --md-primary-fg-color--dark: #00537c; /* darken 10% */ } img.img-border { border: 1px solid #b3b3b3; } -.md-typeset .md-button.md-button--secondary { - background: #ffffff; +.md-typeset .md-button.md-button--primary { + color: white !important; +} +.md-typeset .md-button.md-button--secondary { &:focus, &:hover { - color: var(--md-primary-fg-color); + color: var(--md-primary-fg-color--dark); background: #e5e5e5 /* darken 10% */ - ; } } diff --git a/.docs/system-databases-authentication.md b/.docs/system-databases-authentication.md deleted file mode 100644 index 42b729403f03dab8cae8a0d31ea9fbcf06e819f2..0000000000000000000000000000000000000000 --- a/.docs/system-databases-authentication.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -author: Martin Weise ---- - -# Authentication Database - -## tl;dr - -!!! debug "Debug Information" - - Image: [`bitnami/mariadb:11.2.2-debian-11-r0`](https://hub.docker.com/r/bitnami/mariadb) - - * Ports: 3306/tcp - * JDBC: `jdbc://mariadb:<hostname>:3306` - -## Overview - -This is the database in which the [Authentication Service](../system-services-authentication) writes into. In the -default configuration, only MariaDB is supported. - -## Limitations - -* No support for MariaDB Galera at the moment. - -!!! 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 - -(none) diff --git a/.docs/system-databases-metadata.md b/.docs/system-databases-metadata.md deleted file mode 100644 index 4ff9980f2538fda70ba5eebfd213ec1ceee07f53..0000000000000000000000000000000000000000 --- a/.docs/system-databases-metadata.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -author: Martin Weise ---- - -# Metadata Database - -## tl;dr - -!!! debug "Debug Information" - - Image: [`dbrepo/metadata-db:__APPVERSION__`](https://hub.docker.com/r/dbrepo/metadata-db) - - * Ports: 3306/tcp - * JDBC: `jdbc://mariadb:<hostname>:3306` - -It is the core component of the project. It is a relational database that contains metadata about all researcher -database created in the database repository like column names, check expressions, value enumerations or key/value -constraints and relevant data for citing data sets. Additionally, the concept, e.g. URI of units of measurements of -numerical columns is stored in the Metadata Database in order to provide semantic knowledge context. We use MariaDB for -its rich capabilities in the reference implementation. - -The default credentials are `root:dbrepo` for the database `fda`. Connect to the database via the JDBC connector on -port `3306`. - -## Limitations - -(none) - -!!! 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 - -(none) diff --git a/.docs/system-databases-search.md b/.docs/system-databases-search.md deleted file mode 100644 index 130347215b195972dd47d9d3dfaef9d63e103192..0000000000000000000000000000000000000000 --- a/.docs/system-databases-search.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -author: Martin Weise ---- - -# Search Database - -## tl;dr - -!!! debug "Debug Information" - - Image: [`dbrepo/search-db:__APPVERSION__`](https://hub.docker.com/r/dbrepo/search-db) - - * Ports: 9200/tcp - -## Overview - -It processes search requests from the Gateway Service for full-text lookups in -the [Metadata Database](../system-databases-metadata). We use [OpenSearch](https://opensearch.org/) in the default -configuration and create a searchable index on all databases that is updated regularly by -the [Mirror Service](../system-services-mirror). - -All requests need to be authenticated, by default the credentials `admin:admin` are used. - -Please see the [Search Database Dashboard](../system-other-search-dashboard) for information how to inspect the Search -Database more efficient. - -## Limitations - -(none) - -!!! 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. Change the default credentials in the [Search Database Dashboard](../system-other-search-dashboard) with the default - credentials `admin:admin` and navigate to your username on the top right and click "Reset password". - -<figure markdown> - { .img-border } - <figcaption>Reset the admin password in Opensearch Dashboards</figcaption> -</figure> diff --git a/.docs/system-other-search-dashboard.md b/.docs/system-other-search-dashboard.md deleted file mode 100644 index dd23d56c6784a6765f2b9b403632a209ac045932..0000000000000000000000000000000000000000 --- a/.docs/system-other-search-dashboard.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -author: Martin Weise ---- - -# Search Database Dashboard - -## tl;dr - -!!! debug "Debug Information" - - Image: [`opensearchproject/opensearch-dashboards:2.10.0`](https://hub.docker.com/r/opensearchproject/opensearch-dashboards) - - * Ports: 5601/tcp - * UI: `http://<hostname>/admin/dashboard/` - -## Overview - -It provides a *graphical user interface* (GUI) for an administrator to interact with -the [Search Database](../system-databases-search). - -<figure markdown> - { .img-border } - <figcaption>Opensearch Dashboards on first start</figcaption> -</figure> - -## Limitations - -(none) - -!!! 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 - -(none) diff --git a/.docs/why.md b/.docs/why.md new file mode 100644 index 0000000000000000000000000000000000000000..71175d013b621fc6e26e562f69026d3c5a284e82 --- /dev/null +++ b/.docs/why.md @@ -0,0 +1,16 @@ +--- +author: Martin Weise +--- + +## Why use DBRepo? + +Digital repositories see themselves more frequently encountered with the problem of making databases accessible in their +collection. Challenges revolve around organizing, searching and retrieving content stored within databases and +constitute a major technical burden as their internal representation greatly differs from static documents most digital +repositories are designed for. + +## Application Areas + +We present a database repository system that allows researchers to ingest data into a central, versioned repository +through common interfaces, provides efficient access to arbitrary subsets of data even when the underlying data store is +evolving, allows reproducing of query results and supports findable-, accessible-, interoperable- and reusable data. diff --git a/mkdocs.yml b/mkdocs.yml index 05933f2ddd0884d22b9ad8544b6b9bee070cde9e..d4969e8840cabc4d63aad10005eef409553de6fb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -5,33 +5,27 @@ site_author: Research Unit Data Science, Technische Universität Wien copyright: CC-BY 4.0 Technische Universität Wien & Universität Wien docs_dir: .docs nav: - - Home: index.md - - Deployment: - - Docker Compose: deployment-docker-compose.md + - Get Started: + - Welcome to DBRepo: index.md + - Why use DBRepo: why.md + - Help with DBRepo: help.md + - Installation: deployment-docker-compose.md - Kubernetes: deployment-helm.md - - System: - - Overview: system-overview.md - - Services: - - Analyse Service: system-services-analyse.md - - Authentication Service: system-services-authentication.md - - Broker Service: system-services-broker.md - - Data Service: system-services-data.md - - Gateway Service: system-services-gateway.md - - Metadata Service: system-services-metadata.md - - Search Service: system-services-search.md - - Storage Service: system-services-storage.md - - Upload Service: system-services-upload.md - - Databases: - - Authentication Database: system-databases-authentication.md - - Data Database: system-databases-data.md - - Metadata Database: system-databases-metadata.md - - Search Database: system-databases-search.md - - Other: - - User Interface: system-other-ui.md - - Search Database Dashboard: system-other-search-dashboard.md - - Operation: - - Actuator: operation-actuator.md - - Prometheus: operation-prometheus.md + - Migration Guide: migration.md + - contributing.md + - Concepts: + - Microservice: concepts/microservice.md + - Persistent Identifier: concepts/pid.md + - (Meta-)Data: concepts/data.md + - Analysis: concepts/analysis.md + - Authentication: concepts/authentication.md + - Message Broker: concepts/message-broker.md + - Gateway: concepts/gateway.md + - Search: concepts/search.md + - Storage: concepts/storage.md + - Upload: concepts/upload.md + - Relational Database: concepts/relational-database.md + - User Interface: concepts/ui.md - Usage: - Overview: usage-overview.md - Python Library: usage-python.md @@ -39,10 +33,6 @@ nav: - Authentication Service: usage-authentication.md - Storage Service: usage-storage.md - Upload Service: usage-upload.md - - Development: - - Overview: dev-overview.md - - Application Guide: dev-guide-app.md - - Infrastructure Guide: dev-guide-infra.md - publications.md - contact.md extra_css: