DANS Microservices¶
Several of the components in the architecture are implemented as microservices and developed by DANS. Microservice projects often have an associated API project, containing the OpenAPI specification as well as a Command Line Interface (CLI) project that provides a command line tool for interacting with the microservice.
API versioning
The head of the API project is not necessarily the version implemented by the microservice, but rather the latest version of the OpenAPI specification.
dd-confirm-archiving¶
Monitors dataset version exports that are being archived by dd-data-vault and registers the archival timestamp in the Vault Catalog once the export is archived in the DANS Data Vault.
Docs | Code |
---|---|
dd-confirm-archiving | https://github.com/DANS-KNAW/dd-confirm-archiving |
dd-confirm-archiving-api | https://github.com/DANS-KNAW/dd-confirm-archiving-api |
dd-data-vault¶
Service that manages a Data Vault Storage Root and provides a REST API for interacting with it.
Docs | Code |
---|---|
dd-data-vault | https://github.com/DANS-KNAW/dd-data-vault |
dd-data-vault-api | https://github.com/DANS-KNAW/dd-data-vault-api |
dd-data-vault-cli | https://github.com/DANS-KNAW/dd-data-vault-cli |
dd-dataverse-authenticator¶
A proxy that authenticates clients on behalf of Dataverse, using the basic auth protocol or a Dataverse API token. It is used by dd-sword2 to authenticate its clients by their Dataverse account credentials.
Docs | Code |
---|---|
dd-dataverse-authenticator | https://github.com/DANS-KNAW/dd-dataverse-authenticator |
dd-dataverse-cli¶
Command line tool for interacting with the Dataverse service. It uses dans-dataverse-client-lib to communicate with the Dataverse API.
Docs | Code |
---|---|
dd-dataverse-cli | https://github.com/DANS-KNAW/dd-dataverse-cli |
Replacement for dans-datastation-tools
This will replace most of the old dans-datastation-tools command line tools, which are now deprecated.
dd-dataverse-ingest¶
Service for ingesting deposit directories into Dataverse.
dd-gmh¶
Command line tool for interacting with the BRI-GMH resolver to resolve a DANS Persistent Identifier (NBN) to a URL.
Docs | Code |
---|---|
dd-gmh-api | https://github.com/DANS-KNAW/dd-gmh-api |
In code | https://persistent-identifier.nl/gmh-registration-service/api/v1/openapi.yaml |
dd-gmh-cli | https://github.com/DANS-KNAW/dd-gmh-cli |
OpenAPI specification
The dd-gmh-api
project contains a copy of the OpenAPI specification to be used in the build process of the dd-gmh-cli
project. Note, however,
that the GMH used to be maintained by DANS, but is currently maintained and hosted by Seecr on behalf of the Koninklijke Bibliotheek (KB). The
authoritative OpenAPI specification is published at https://persistent-identifier.nl/gmh-registration-service/api/v1/openapi.yaml.
dd-manage-deposit¶
Service that manages and maintains information about deposits in a deposit area.
API and CLI not yet implemented
The current implementation of dd-manage-deposit
does not yet implement dd-manage-deposit-api
and dd-manage-deposit-cli
, but instead has a
manually coded API and CLI.
dd-sword2¶
DANS implementation of the SWORD v2 protocol for automated deposits.
Docs | Code |
---|---|
dd-sword2 | https://github.com/DANS-KNAW/dd-sword2 |
dd-dans-sword2-examples | https://github.com/DANS-KNAW/dd-dans-sword2-examples |
dd-transfer-to-vault¶
Service for preparing Dataset Version Exports for storage in the DANS Data Vault. This includes validation, registering the NBN for a dataset with the BRI-GMH resolver, creating a vault catalog entry and handing over the bag to the dd-data-vault service.
Docs | Code |
---|---|
dd-transfer-to-vault | https://github.com/DANS-KNAW/dd-transfer-to-vault |
dd-validate-bagpack¶
Service that checks whether a bag complies with the BagPack specification and the DANS BagPack Profile. This service is used by dd-transfer-to-vault to make sure that the Dataset Version Exports (DVE) that are uploaded to the DANS Data Vault are valid.
Docs | Code |
---|---|
dd-validate-bagback | https://github.com/DANS-KNAW/dd-validate-bagback |
dans-bagpack-profile | https://github.com/DANS-KNAW/dans-bagpack-profile |
NOT YET IMPLEMENTED
This service is not yet implemented.
dd-validate-dans-bag¶
Service that checks whether a bag complies with DANS BagIt Profile v1. It is used by dd-dataverse-ingest and dd-vault-ingest to validate bags that are uploaded via dd-sword2.
dd-vault-catalog¶
Service that manages a catalog of all Dataset Version Exports in the DANS Data Vault. It exposes a summary page for each stored dataset.
dd-vault-ingest¶
Service for converting deposits coming in via Vault as a Service to BagPacks.
Docs | Code |
---|---|
dd-vault-ingest | https://github.com/DANS-KNAW/dd-vault-ingest |
dd-vault-metadata¶
A service that fills in the Vault Metadata block for a dataset version in Datavers. These metadata are by dd-transfer-to-vault to catalogue the long-term preservation copy of the dataset version when it is stored on tape.
Docs | Code |
---|---|
dd-vault-metadata | https://github.com/DANS-KNAW/dd-vault-metadata |
dd-vault-metadata-api | https://github.com/DANS-KNAW/dd-vault-metadata-api |
Vault Metadata block | N/A |
API not yet implemented
The current implementation of dd-vault-metadata
does not yet implement dd-vault-metadata-api
, but instead has a manually coded API.
dd-virus-scan¶
A service that scans all files in a dataset for virus using clamav
and blocks publication if a virus is found.
Docs | Code |
---|---|
dd-virus-scan | https://github.com/DANS-KNAW/dd-virus-scan |
dd-virus-scan-api | https://github.com/DANS-KNAW/dd-virus-scan-api |
API not yet implemented
The current implementation of dd-virus-scan
does not yet implement dd-virus-scan-api
, but instead has a manually coded API.
dans-datastation-tools (deprecated)¶
Command line utilities for Data Station application management.
Docs | Code |
---|---|
dans-datastation-tools | https://github.com/DANS-KNAW/dans-datastation-tools |