Skip to content

sovity/authority-portal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


Logo

Broker Server

Broker Backend & EDC Extensions.
Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Development
  3. Releasing
  4. Deployment
  5. License
  6. Contact

About The Project

Eclipse Dataspace Components (EDC) is a framework for building dataspaces, exchanging data securely with ensured data sovereignty.

sovity extends the EDC Connector's functionality with extensions to offer enterprise-ready managed services like "Connector-as-a-Service", out-of-the-box fully configured DAPS and integrations to existing other dataspace technologies.

An IDS Broker is a central component of a dataspace that operates on the IDS protocol, that aggregates and indexes connectors and data offers.

This IDS Broker is written on basis of the EDC and should be used in tandem with the Broker UI.

(back to top)

Development

For development, access to the GitHub Maven Registry is required.

To access the GitHub Maven Registry you need to provide the following properties, e.g. by providing a ~/.gradle/gradle.properties.

gpr.user={your github username}
gpr.key={your github pat with packages.read}

(back to top)

Releasing

Create an issue using the release template and follow the instructions.

(back to top)

Deployment

Deployment Units

Deployment Unit Version / Details
Reverse Proxy that merges the UI+Backend and removes the ports (deployment specific)
Postgresql 15 or compatible version
Broker Backend broker-server-ce, see CHANGELOG.md for compatible versions.
Broker UI edc-ui, see CHANGELOG.md for compatible versions.

Configuration

There is a docker-compose.yaml to try out the broker locally. However, a productive release will require a few more configuration options, so you should only use it to check if the released version is roughly working or if it's broken.

Reverse Proxy Configuration

  • The broker is meant to be served via TLS/HTTPS.
  • The broker is meant to be deployed with a reverse proxy merging the following ports:
    • The UI's 80 port.
    • The Backend's 11002 port.
    • The Backend's 11003 port.
  • The mapping should look like this:
    • /backend/api/v1/ids -> broker-backend:11003/backend/api/v1/ids
    • /backend/api/v1/management -> broker-backend:11002/backend/api/v1/management
    • All other requests should be mapped to broker-ui:80

Backend Configuration

A productive configuration will require you to join a DAPS.

For that you will need a SKI/AKI ClientID. Please refer to edc-extension's Getting Started Guide on how to generate one.

# Required: Fully Qualified Domain Name
MY_EDC_FQDN: "example.com"

# Required: DB
MY_EDC_JDBC_URL: jdbc:postgresql://broker-postgresql:5432/edc
MY_EDC_JDBC_USER: edc
MY_EDC_JDBC_PASSWORD: edc

# Required: List of EDCs to fetch
EDC_BROKER_SERVER_KNOWN_CONNECTORS: "https://connector-a/ids/data,https://connector-b/ids/data"

# List of Data Space Names for special Connectors (default: '')
EDC_BROKER_SERVER_KNOWN_DATASPACE_CONNECTORS: "Mobilithek=https://some-connector/ids/data,OtherDataspace=https://some-other-connector/ids/data"

# Required: DAPS credentials
EDC_OAUTH_TOKEN_URL: 'https://daps.test.mobility-dataspace.eu/token'
EDC_OAUTH_PROVIDER_JWKS_URL: 'https://daps.test.mobility-dataspace.eu/jwks.json'
EDC_OAUTH_CLIENT_ID: '_your SKI/AKI_'
EDC_KEYSTORE: '_your keystore file_' # Needs to be available as file in the running container
EDC_KEYSTORE_PASSWORD: '_your keystore password_'
EDC_OAUTH_CERTIFICATE_ALIAS: 1
EDC_OAUTH_PRIVATE_KEY_ALIAS: 1

# Required: Management API Key
EDC_API_AUTH_KEY: "ApiKeyDefaultValue"

# Required: Admin Api Key
EDC_BROKER_SERVER_ADMIN_API_KEY: DefaultBrokerServerAdminApiKey

All pre-configured config values for either the broker server or the underlying EDC can be found in connector/.env.

UI Configuration

# Required: Profile
EDC_UI_ACTIVE_PROFILE: broker

# Required: Management API URL
EDC_UI_DATA_MANAGEMENT_API_URL: https://my-broker.com/backend/api/v1/management

# Required: Management API Key
EDC_API_AUTH_KEY: "ApiKeyDefaultValue"

Adding Connectors at runtime

Connectors can be dynamically added at runtime by using the following endpoint:

# Response should be 204 No Content
curl --request PUT \
  --url 'http://localhost:11002/backend/api/v1/management/wrapper/broker/connectors?adminApiKey=DefaultBrokerServerAdminApiKey' \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: ApiKeyDefaultValue' \
  --data '["https://some-new-connector/api/v1/ids/data", "https://some-other-new-connector/api/v1/ids/data"]'

(back to top)

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

(back to top)

Contact

[email protected]

(back to top)