Copyright (C) 2018-2023 The Open Library Foundation
This software is distributed under the terms of the Apache License, Version 2.0. See the file "LICENSE" for more information.
Edge API for Metadata Harvesting (OAI-PMH Version 2.0)
The following schemas used:
- OAI-PMH Schema: OAI-PMH.xsd (please refer to OAI-PMH specification for more details)
Institutional users should be granted the following permissions in order to use this edge API:
oai-pmh.all
In order to perform harvesting across consortium tenants, central tenant's institutional user should be granted
additional permission user-tenants.collection.get
. Also, additional system users should be created for each consortia
member tenant, with same as central tenant's username
and granted oai-pmh.all
permission.
Please refer to the Configuration section in the edge-common documentation to see all available system properties and their default values. For stable operation, the application requires the following memory configuration. Java: -XX:MetaspaceSize=384m -XX: MaxMetaspaceSize=512m -Xmx1440m. Amazon Container: cpu - 1024, memory - 1512, memoryReservation - 1360.
For example, to enable HTTP compression based on Accept-Encoding
header the -Dresponse_compression=true
should be
specified as VM option.
Property | Default | Description |
---|---|---|
port |
8081 |
Server port to listen on |
okapi_url |
required | Where to find Okapi (URL) |
request_timeout_ms |
30000 |
Request Timeout |
log_level |
INFO |
Log4j Log Level |
token_cache_capacity |
100 |
Max token cache size |
token_cache_ttl_ms |
100 |
How long to cache JWTs, in milliseconds (ms) |
secure_store |
Ephemeral |
Type of secure store to use. Valid: Ephemeral , AwsSsm , Vault |
secure_store_props |
NA |
Path to a properties file specifying secure store configuration |
To configure Transport Layer Security (TLS) for the HTTP server in an edge module, the following configuration parameters should be used. Parameters marked as Required are required only in case when TLS for the server should be enabled.
Property | Default | Description |
---|---|---|
SPRING_SSL_BUNDLE_JKS_WEBSERVER_KEYSTORE_TYPE |
NA |
(Required). Set the type of the keystore. Common types include JKS , PKCS12 , and BCFKS |
SPRING_SSL_BUNDLE_JKS_WEBSERVER_KEYSTORE_LOCATION |
NA |
(Required). Set the location of the keystore file in the local file system |
SPRING_SSL_BUNDLE_JKS_WEBSERVER_KEYSTORE_PASSWORD |
NA |
(Required). Set the password for the keystore |
SPRING_SSL_BUNDLE_JKS_WEBSERVER_KEY_ALIAS |
NA |
Set the alias of the key within the keystore. |
SPRING_SSL_BUNDLE_JKS_WEBSERVER_KEY_PASSWORD |
NA |
Optional param that points to a password of KEY_ALIAS if it protected |
To configure Transport Layer Security (TLS) for Web clients in the edge module, you can use the following configuration parameters.
Truststore parameters for configuring Web clients are optional even when FOLIO_CLIENT_TLS_ENABLED = true
.
If truststore parameters need to be populated, FOLIO_CLIENT_TLS_TRUSTSTORETYPE
, FOLIO_CLIENT_TLS_TRUSTSTOREPATH
and FOLIO_CLIENT_TLS_TRUSTSTOREPASSWORD
are required.
Property | Default | Description |
---|---|---|
FOLIO_CLIENT_TLS_ENABLED |
false |
Set whether SSL/TLS is enabled for Vertx Http Server |
FOLIO_CLIENT_TLS_TRUSTSTORETYPE |
NA |
Set the type of the keystore. Common types include JKS , PKCS12 , and BCFKS |
FOLIO_CLIENT_TLS_TRUSTSTOREPATH |
NA |
Set the location of the keystore file in the local file system |
FOLIO_CLIENT_TLS_TRUSTSTOREPASSWORD |
NA |
Set the password for the keystore |
See project EDGOAIPMH at the FOLIO issue tracker.
Other modules are described, with further FOLIO Developer documentation at dev.folio.org