The Donders Repository API gateway
This API gateway provides RESTful API interfaces for querying and searching on a limited set of Donders Repository collection and user attributes.
how it works
Every 10 minutes, it queries all collections and users available to the RDR service account (defined as irodsUser
and irodsPass
attributes in config.yml ). The results are cached in memory for quick response to the API client. When interacting with iRODS iCAT service, it makes use of the go-irodsclient.
The API interface is defined by swagger.yml.
available collection attributes
The following collection attributes are queried from iCAT:
- Identifier
- IdentifierDOI
- ProjectID
- Type
- State
- OrganisationalUnit
- QuotaInBytes
- SizeInBytes
- NumberOfFiles
See here.
available user attributes
The following user attributes are queried from iCAT:
- DisplayName
- IdentityProvider
- Email
- OrganizationalUnit
See here.
build the docker container
$ docker-compose build --force-rm
run the docker container
$ cp env.sh .env
$ docker-compose up -d
or run the start script
$ ./start.sh
API document
Once the service is up and running, the API document can be found at the endpoint /v1/docs
.