EDC PoC — Fase 1 (el cimiento)
Dos conectores EDC (provider + consumer) en Docker que recorren el ciclo completo del Dataspace Protocol: catálogo → negociación → acuerdo → transferencia (consumer pull) → dato.
Approach y contexto: ../../../docs/dataspaces/fase-1-poc-approach.md
Charter del proyecto: ../../../docs/dataspaces/README.md
Qué hay aquí
| Fichero | Rol |
|---|---|
Dockerfile | Build multi-stage: clona eclipse-edc/Samples pineado por SHA y compila 2 jars (JDK 17). |
docker-compose.yml | 2 servicios en red compartida; hablan DSP por nombre de servicio. |
config/*.properties | Configs del sample con la dsp.callback.address ajustada a nombres de servicio docker. |
requests/*.json | Payloads del ciclo (Management API v3). .tpl.json = plantillas con placeholders. |
run-cycle.sh | Ejecuta el ciclo completo con curl y captura cada respuesta en out/. |
Uso (1 comando + 1 comando)
# 1) construir y levantar los dos conectores
docker compose up -d --build
# 2) recorrer el ciclo DSP end-to-end
bash run-cycle.sh
Al terminar, out/ contiene la superficie de API capturada (semilla de lib/dataspaces/edc-client.ts).
Topología
host ──19193──▶ provider (proxy data plane) ──┐
host ──29193──▶ consumer (base connector) ───┤ red docker "edc"
host ──19291──▶ provider public (pull EDR) │ DSP entre sí por
consumer ◀──DSP──▶ provider nombre de servicio
- Management API: provider
:19193, consumer:29193(v3). - Pull final: el cliente (host) tira del dato en
:19291con el token del EDR. - Dato demo: el asset apunta a
https://jsonplaceholder.typicode.com/users(HttpData proxy).
Pin / versión
- Samples SHA:
cc7a7e35dd37eae5f3646d0d87c1593e9f573f0e(ARGSAMPLES_SHAen el Dockerfile). - DSP:
2025-1· Management API:v3· IAM: mock (sin identidad; eso es Fase 6).
Alcance (a propósito)
✅ Ciclo DSP completo, arnés reproducible, API capturada. ❌ Sin Carbon, sin R2/Iceberg, sin IdentityHub/DID. Ver approach para las sondas de Fase 2+.