From 687f90d13c056e4aec5e42699bac538b478c201b Mon Sep 17 00:00:00 2001 From: KerstenBreuer Date: Fri, 3 Nov 2023 13:42:06 +0000 Subject: [PATCH] updated readme --- README.md | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 121 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 80944b7..b2b1f9a 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,13 @@ ars --help ### Parameters The service requires the following configuration parameters: -- **`data_steward_email`** *(string, format: email)*: An email address that can be used to notify data stewards. +- **`data_steward_email`**: An email address that can be used to notify data stewards. + + - **Any of** + + - *string, format: email* + + - *null* - **`access_upfront_max_days`** *(integer)*: Default: `180`. @@ -59,6 +65,14 @@ The service requires the following configuration parameters: - **`download_access_url`** *(string)*: URL pointing to the internal download access API. + + Examples: + + ```json + "http://127.0.0.1/download-access" + ``` + + - **`notification_event_topic`** *(string)*: Default: `"notifications"`. - **`notification_event_type`** *(string)*: Default: `"notification"`. @@ -67,21 +81,55 @@ The service requires the following configuration parameters: - **`service_instance_id`** *(string)*: A string that uniquely identifies this instance across all instances of this service. A globally unique Kafka client ID will be created by concatenating the service_name and the service_instance_id. + + Examples: + + ```json + "germany-bw-instance-001" + ``` + + - **`kafka_servers`** *(array)*: A list of connection strings to connect to Kafka bootstrap servers. - **Items** *(string)* + + Examples: + + ```json + [ + "localhost:9092" + ] + ``` + + - **`db_connection_str`** *(string, format: password)*: MongoDB connection string. Might include credentials. For more information see: https://naiveskill.com/mongodb-connection-string/. + + Examples: + + ```json + "mongodb://localhost:27017" + ``` + + - **`db_name`** *(string)*: Default: `"access-requests"`. - **`auth_key`** *(string)*: The GHGA internal public key for validating the token signature. + + Examples: + + ```json + "{\"crv\": \"P-256\", \"kty\": \"EC\", \"x\": \"...\", \"y\": \"...\"}" + ``` + + - **`auth_algs`** *(array)*: A list of all algorithms used for signing GHGA internal tokens. Default: `["ES256"]`. - **Items** *(string)* -- **`auth_check_claims`** *(object)*: A dict of all GHGA internal claims that shall be verified. Default: `{"name": null, "email": null, "iat": null, "exp": null}`. +- **`auth_check_claims`** *(object)*: A dict of all GHGA internal claims that shall be verified. Default: `{"email": null, "exp": null, "iat": null, "name": null}`. - **`auth_map_claims`** *(object)*: A mapping of claims to attributes in the GHGA auth context. Can contain additional properties. Default: `{}`. @@ -103,19 +151,83 @@ The service requires the following configuration parameters: - **`docs_url`** *(string)*: Path to host the swagger documentation. This is relative to the specified host and port. Default: `"/docs"`. -- **`cors_allowed_origins`** *(array)*: A list of origins that should be permitted to make cross-origin requests. By default, cross-origin requests are not allowed. You can use ['*'] to allow any origin. +- **`cors_allowed_origins`**: A list of origins that should be permitted to make cross-origin requests. By default, cross-origin requests are not allowed. You can use ['*'] to allow any origin. Default: `null`. - - **Items** *(string)* + - **Any of** -- **`cors_allow_credentials`** *(boolean)*: Indicate that cookies should be supported for cross-origin requests. Defaults to False. Also, cors_allowed_origins cannot be set to ['*'] for credentials to be allowed. The origins must be explicitly specified. + - *array* -- **`cors_allowed_methods`** *(array)*: A list of HTTP methods that should be allowed for cross-origin requests. Defaults to ['GET']. You can use ['*'] to allow all standard methods. + - **Items** *(string)* - - **Items** *(string)* + - *null* -- **`cors_allowed_headers`** *(array)*: A list of HTTP request headers that should be supported for cross-origin requests. Defaults to []. You can use ['*'] to allow all headers. The Accept, Accept-Language, Content-Language and Content-Type headers are always allowed for CORS requests. - - **Items** *(string)* + Examples: + + ```json + [ + "https://example.org", + "https://www.example.org" + ] + ``` + + +- **`cors_allow_credentials`**: Indicate that cookies should be supported for cross-origin requests. Defaults to False. Also, cors_allowed_origins cannot be set to ['*'] for credentials to be allowed. The origins must be explicitly specified. Default: `null`. + + - **Any of** + + - *boolean* + + - *null* + + + Examples: + + ```json + [ + "https://example.org", + "https://www.example.org" + ] + ``` + + +- **`cors_allowed_methods`**: A list of HTTP methods that should be allowed for cross-origin requests. Defaults to ['GET']. You can use ['*'] to allow all standard methods. Default: `null`. + + - **Any of** + + - *array* + + - **Items** *(string)* + + - *null* + + + Examples: + + ```json + [ + "*" + ] + ``` + + +- **`cors_allowed_headers`**: A list of HTTP request headers that should be supported for cross-origin requests. Defaults to []. You can use ['*'] to allow all headers. The Accept, Accept-Language, Content-Language and Content-Type headers are always allowed for CORS requests. Default: `null`. + + - **Any of** + + - *array* + + - **Items** *(string)* + + - *null* + + + Examples: + + ```json + [] + ``` + ### Usage: