The Data Space Connector is an open source project aimed to facilitate the onboarding and participantion of organisations in the data space. It is built with simplicity in mind and offers the necessary functionalities for organisations to communicate with the core components of the data space such as Catalogue for resources, offerings and data space use cases management, Contract for negotiation and contract verification and Consent for the management of consent driven data exchanges.
git clone https://github.com/Prometheus-X-association/dataspace-connector.git
npm i -g pnpm # If pnpm is not installed
pnpm i
cp .env.sample .env
#copy the config.sample.json to config.json matching your NODE_ENV variable
#For development
cp src/config.sample.json src/config.development.json
#For production
cp src/config.sample.json src/config.production.json
You can launch the data space connector with docker and docker compose, by using the following command at the root of the project.
You need first to add the needed variables in the config.json for the consumer and the provider inside
docker compose build && docker compose up -d
or
docker compose up -d
The docker compose file will launch the app and a mongodb container. Using your own mongodb database is possible by updating the following variable in your .env
MONGO_URI=mongodb://mongodb:27017/dataspace-connector
If you run into issues restarting docker-compose, try rebuilding and restarting the containers with sudo
like so:
sudo docker-compose up --build
You will find a directory named "sandbox" that contains a Docker Compose file for both the provider and the consumer.
/sandbox/consumer/config.json
/sandbox/provider/config.json
First, add the appropriate variables to each config.json file and then launch the container.
docker compose build && docker compose up -d
You can use the following commands to launch the provider and consumer connectors via npm.
cp .env.provider .env
cp src/config.sample.json src/config.provider.json
cp .env.consumer .env
cp src/config.sample.json src/config.consumer.json
Add the necessary variables to each file and run them in two separate terminals.
npm run provider
npm run consumer
Contributions to the Prometheus-X Dataspace Connector are welcome! If you would like to contribute, please follow these steps:
Please ensure that your contributions align with the project's coding standards, have proper test coverage, and include necessary documentation or updates to existing documentation.
The Prometheus-X Dataspace Connector is released under the MIT License. You are free to use, modify, and distribute the software as per the terms specified in the license.
If you encounter any issues or have questions regarding the Prometheus-X Data Space Connector, feel free to open an issue on the GitHub repository. The project maintainers and community members will be happy to assist you.