Custom Eclipse Dataspace Connector (EDC) implementation with enhanced capabilities and monitoring dashboard.
This repository contains:
- Custom EDC Connector - Extended EDC connector with custom extensions for specific use cases
- Web Dashboard - Lightweight monitoring interface for EDC management
├── connector/ # Custom EDC Connector (Java/Gradle)
│ └── edc/
│ ├── extensions/ # Custom EDC extensions
│ │ ├── transfer-recovery/
│ │ ├── http-streaming-datasource/
│ │ └── http-data-sink/
│ └── connectors/ # Connector implementations
│ └── ac3-uc1/ # AC3 Use Case 1 connector
│
└── connector-ui/ # Web-based dashboard (HTML/Docker)
├── src/
│ └── dashboard.html
├── Dockerfile
└── docker-compose.yml
- Java 17 or higher
- Gradle 7.x or higher (wrapper included)
- Docker and Docker Compose (for containerized deployment)
- Or any modern web browser (for standalone HTML)
Navigate to the connector directory and build:
cd connector
./gradlew buildRun tests:
./gradlew testRun a specific connector (example):
./gradlew :edc:connectors:ac3-uc1:buildcd connector-ui
docker-compose up -dAccess the dashboard at http://localhost:8080
cd connector-ui
docker build -t edc-connector-ui .
docker run -d -p 8080:80 -e API_URL=http://localhost:18181/management edc-connector-uiOpen connector-ui/src/dashboard.html directly in a web browser.
Provides enhanced transfer recovery capabilities with automatic retry and failure handling mechanisms.
Enables streaming data sources over HTTP for efficient large-file transfers.
Implements HTTP-based data sink for receiving transferred data.
Pre-configured connector implementation for AC3 Use Case 1, including:
- Custom policy configurations
- Specific protocol implementations
- Use case-specific asset management
The web dashboard provides real-time monitoring and management:
- Assets Management - View and monitor data assets
- Contract Definitions - Track contract offerings
- Contract Agreements - Monitor active agreements
- Contract Negotiations - Track negotiation status
- Transfer Processes - Monitor data transfers
- Policy Definitions - View policy configurations
Key Features:
- Auto-refresh every 10 seconds
- Configurable API endpoint
- Responsive design
- RESTful API integration with EDC Management API v3
Configure the connector using standard EDC configuration approaches:
- System Properties:
-Dedc.property.name=value - Environment Variables:
EDC_PROPERTY_NAME=value - Configuration Files: Place in resources directory
Refer to Eclipse EDC documentation for detailed configuration options.
Configure via environment variable:
export API_URL=http://your-edc-host:port/managementOr in docker-compose.yml:
environment:
- API_URL=http://edc-connector:18181/managementcd connector
./gradlew clean buildcd connector-ui
./build.sh # Builds Docker imagecd connector
./gradlew testFor specific test categories:
./gradlew test --tests "ClassName"The project uses Checkstyle for code quality enforcement:
./gradlew checkstyleMainConfiguration files:
connector/resources/checkstyle-config.xmlconnector/resources/suppressions.xml
- EDC Version: Compatible with EDC 0.15.0-SNAPSHOT
- Management API: v3
- DSP Protocol: Supports multiple versions (0.8, 2024/1, 2025/1)
To deploy both connector and dashboard together, create a custom docker-compose.yml:
version: '3.8'
services:
edc-connector:
image: your-edc-connector:latest
ports:
- "18181:18181" # Management API
- "19191:19191" # DSP Protocol
environment:
- EDC_CONNECTOR_NAME=provider
# Add your connector configuration
edc-dashboard:
image: edc-connector-ui:latest
ports:
- "8080:80"
environment:
- API_URL=http://edc-connector:18181/management
depends_on:
- edc-connectorBuild failures:
# Clean and rebuild
./gradlew clean build --refresh-dependenciesTest failures:
# Run with detailed output
./gradlew test --infoCannot connect to API:
- Verify the EDC connector is running
- Check the API_URL configuration
- Ensure CORS is properly configured on the EDC connector
- Check network connectivity between dashboard and connector
Dashboard not loading:
# Check container logs
docker logs edc-connector-ui
# Verify container is running
docker ps | grep edc-connector-ui- Secure the EDC Management API with proper authentication
- Use HTTPS for production deployments
- Configure CORS appropriately for cross-origin requests
- Review and apply security best practices from EDC Security Documentation
- Never expose management APIs directly to the internet without authentication
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
Ensure all tests pass and code follows the Checkstyle rules before submitting.
- Eclipse EDC Documentation
- EDC GitHub Repository
- EDC Community Discord
- Dataspace Protocol Specification
Apache License 2.0
For detailed information about the dashboard component, see connector-ui/README.md.