From 556e130cd8adc828ca3ddf68ea025acea7cb039d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 07:09:47 +0000 Subject: [PATCH] build(deps): bump edc from 0.17.0 to 0.18.0 Bumps `edc` from 0.17.0 to 0.18.0. Updates `org.eclipse.edc:boot` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:asset-spi` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:controlplane-base-bom` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:dataplane-base-bom` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:configuration-filesystem` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:connector-core` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:control-plane-api-client` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:control-plane-core` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:control-plane-spi` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:data-plane-signaling-api` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:data-plane-signaling-client` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:data-plane-core` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:data-plane-http` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:data-plane-iam` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:data-plane-self-registration` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:data-plane-spi` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:dsp` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:edr-cache-api` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:edr-store-core` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:edr-store-receiver` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:federatedcatalog-base-bom` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:crawler-spi` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:http` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:iam-mock` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:json-ld-lib` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:json-ld-spi` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:junit` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:management-api` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:management-api-test-fixtures` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:runtime-core` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:token-core` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:transfer-data-plane-signaling` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:validator-data-address-http-data` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) Updates `org.eclipse.edc:web-spi` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/eclipse-edc/Connector/releases) - [Commits](https://github.com/eclipse-edc/Connector/compare/v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: org.eclipse.edc:asset-spi dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:boot dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:configuration-filesystem dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:connector-core dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:control-plane-api-client dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:control-plane-core dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:control-plane-spi dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:controlplane-base-bom dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:crawler-spi dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:data-plane-core dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:data-plane-http dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:data-plane-iam dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:data-plane-self-registration dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:data-plane-signaling-api dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:data-plane-signaling-client dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:data-plane-spi dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:dataplane-base-bom dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:dsp dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:edr-cache-api dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:edr-store-core dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:edr-store-receiver dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:federatedcatalog-base-bom dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:http dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:iam-mock dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:json-ld-lib dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:json-ld-spi dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:junit dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:management-api dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:management-api-test-fixtures dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:runtime-core dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:token-core dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:transfer-data-plane-signaling dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:validator-data-address-http-data dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.eclipse.edc:web-spi dependency-version: 0.18.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .../docker-compose.yaml | 8 +- .../open-telemetry-runtime/build.gradle.kts | 6 +- ...mmyEndpointGeneratorFunctionExtension.java | 32 ------- .../NoOpDataFlowControllerExtension.java | 89 +++++++++++++++++++ ...rg.eclipse.edc.spi.system.ServiceExtension | 2 +- .../fc-connector/config.properties | 2 + gradle/libs.versions.toml | 4 +- .../build.gradle.kts | 2 + .../config.properties | 2 + .../config.properties | 2 + .../policy-functions/build.gradle.kts | 1 + .../extension/policy/IamClaimsExtension.java | 80 +++++++++++++++++ ...rg.eclipse.edc.spi.system.ServiceExtension | 1 + .../connector/build.gradle.kts | 5 +- .../consumer-configuration.properties | 8 +- .../provider-configuration.properties | 6 +- .../configuration/provider.properties | 2 + 17 files changed, 205 insertions(+), 47 deletions(-) delete mode 100644 advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/java/org/eclipse/edc/sample/runtime/DummyEndpointGeneratorFunctionExtension.java create mode 100644 advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/java/org/eclipse/edc/sample/runtime/NoOpDataFlowControllerExtension.java create mode 100644 policy/policy-01-policy-enforcement/policy-functions/src/main/java/org/eclipse/edc/sample/extension/policy/IamClaimsExtension.java diff --git a/advanced/advanced-01-open-telemetry/docker-compose.yaml b/advanced/advanced-01-open-telemetry/docker-compose.yaml index a2f1e11b..f754395f 100644 --- a/advanced/advanced-01-open-telemetry/docker-compose.yaml +++ b/advanced/advanced-01-open-telemetry/docker-compose.yaml @@ -29,8 +29,8 @@ services: WEB_HTTP_MANAGEMENT_PATH: /management WEB_HTTP_PROTOCOL_PORT: 29194 WEB_HTTP_PROTOCOL_PATH: /protocol - WEB_HTTP_VERSION_PORT: 29195 - WEB_HTTP_VERSION_PATH: /version + WEB_HTTP_SIGNALING_PORT: 29195 + WEB_HTTP_SIGNALING_PATH: /signaling EDC_CONTROL_ENDPOINT: http://consumer:29192/control EDC_DSP_CALLBACK_ADDRESS: http://consumer:29194/protocol EDC_PARTICIPANT_ID: consumer @@ -69,8 +69,8 @@ services: WEB_HTTP_MANAGEMENT_AUTH_KEY: password WEB_HTTP_PROTOCOL_PORT: 19194 WEB_HTTP_PROTOCOL_PATH: /protocol - WEB_HTTP_VERSION_PORT: 19195 - WEB_HTTP_VERSION_PATH: /version + WEB_HTTP_SIGNALING_PORT: 19195 + WEB_HTTP_SIGNALING_PATH: /signaling EDC_CONTROL_ENDPOINT: http://provider:19192/control EDC_DSP_CALLBACK_ADDRESS: http://provider:19194/protocol EDC_PARTICIPANT_ID: provider diff --git a/advanced/advanced-01-open-telemetry/open-telemetry-runtime/build.gradle.kts b/advanced/advanced-01-open-telemetry/open-telemetry-runtime/build.gradle.kts index 40995c93..b2ae03aa 100644 --- a/advanced/advanced-01-open-telemetry/open-telemetry-runtime/build.gradle.kts +++ b/advanced/advanced-01-open-telemetry/open-telemetry-runtime/build.gradle.kts @@ -22,12 +22,12 @@ plugins { dependencies { runtimeOnly(libs.edc.bom.controlplane.base) { - exclude(module = "org.eclipse.edc.data-plane-selector-client") + exclude(group = "org.eclipse.edc", "data-plane-signaling-core") + exclude(group = "org.eclipse.edc", "data-plane-signaling-oauth2") } - runtimeOnly(libs.edc.bom.dataplane.base) implementation(libs.edc.iam.mock) - implementation(libs.edc.data.plane.spi) + implementation(libs.edc.transfer.spi) implementation(libs.opentelemetry.exporter.otlp) } diff --git a/advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/java/org/eclipse/edc/sample/runtime/DummyEndpointGeneratorFunctionExtension.java b/advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/java/org/eclipse/edc/sample/runtime/DummyEndpointGeneratorFunctionExtension.java deleted file mode 100644 index 6a8a3011..00000000 --- a/advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/java/org/eclipse/edc/sample/runtime/DummyEndpointGeneratorFunctionExtension.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2026 Cofinity-X - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - * - * Contributors: - * Cofinity-X - initial API and implementation - * - */ - -package org.eclipse.edc.sample.runtime; - -import org.eclipse.edc.connector.dataplane.spi.Endpoint; -import org.eclipse.edc.connector.dataplane.spi.iam.PublicEndpointGeneratorService; -import org.eclipse.edc.runtime.metamodel.annotation.Inject; -import org.eclipse.edc.spi.system.ServiceExtension; -import org.eclipse.edc.spi.system.ServiceExtensionContext; - -public class DummyEndpointGeneratorFunctionExtension implements ServiceExtension { - - @Inject - private PublicEndpointGeneratorService publicEndpointGeneratorService; - - @Override - public void initialize(ServiceExtensionContext context) { - publicEndpointGeneratorService.addGeneratorFunction("HttpData", e -> Endpoint.url("http://localhost/dummy")); - } -} diff --git a/advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/java/org/eclipse/edc/sample/runtime/NoOpDataFlowControllerExtension.java b/advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/java/org/eclipse/edc/sample/runtime/NoOpDataFlowControllerExtension.java new file mode 100644 index 00000000..f35aaa85 --- /dev/null +++ b/advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/java/org/eclipse/edc/sample/runtime/NoOpDataFlowControllerExtension.java @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2026 Think-it GmbH + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + * + * Contributors: + * Think-it GmbH - initial API and implementation + * + */ + +package org.eclipse.edc.sample.runtime; + +import org.eclipse.edc.connector.controlplane.asset.spi.domain.Asset; +import org.eclipse.edc.connector.controlplane.transfer.spi.flow.DataFlowController; +import org.eclipse.edc.connector.controlplane.transfer.spi.types.DataFlowResponse; +import org.eclipse.edc.connector.controlplane.transfer.spi.types.TransferProcess; +import org.eclipse.edc.policy.model.Policy; +import org.eclipse.edc.runtime.metamodel.annotation.Provider; +import org.eclipse.edc.spi.response.StatusResult; +import org.eclipse.edc.spi.system.ServiceExtension; +import org.jetbrains.annotations.NotNull; + +import java.util.Set; + +public class NoOpDataFlowControllerExtension implements ServiceExtension { + + @Provider + public DataFlowController dataFlowController() { + return new NoOpDataFlowController(); + } + + private static class NoOpDataFlowController implements DataFlowController { + + @Override + public boolean canHandle(TransferProcess transferProcess) { + return true; + } + + @Override + public StatusResult prepare(TransferProcess transferProcess, Policy policy) { + return StatusResult.success(DataFlowResponse.Builder.newInstance().build()); + } + + @Override + public @NotNull StatusResult start(TransferProcess transferProcess, Policy policy) { + return StatusResult.success(DataFlowResponse.Builder.newInstance().build()); + } + + @Override + public StatusResult suspend(TransferProcess transferProcess) { + return StatusResult.success(); + } + + @Override + public StatusResult resume(TransferProcess transferProcess) { + return StatusResult.success(DataFlowResponse.Builder.newInstance().build()); + } + + @Override + public StatusResult terminate(TransferProcess transferProcess) { + return StatusResult.success(); + } + + @Override + public StatusResult started(TransferProcess transferProcess) { + return StatusResult.success(); + } + + @Override + public StatusResult completed(TransferProcess transferProcess) { + return StatusResult.success(); + } + + @Override + public Set transferTypesFor(Asset asset) { + return Set.of("HttpData-PULL"); + } + + @Override + public Set transferTypesFor(String assetId) { + return Set.of("HttpData-PULL"); + } + } + +} diff --git a/advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension b/advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension index cd44bda7..84854bfb 100644 --- a/advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension +++ b/advanced/advanced-01-open-telemetry/open-telemetry-runtime/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension @@ -1,2 +1,2 @@ -org.eclipse.edc.sample.runtime.DummyEndpointGeneratorFunctionExtension +org.eclipse.edc.sample.runtime.NoOpDataFlowControllerExtension org.eclipse.edc.sample.runtime.SeedVaultExtension diff --git a/federated-catalog/fc-01-embedded/fc-connector/config.properties b/federated-catalog/fc-01-embedded/fc-connector/config.properties index 5eed6264..63046f3b 100644 --- a/federated-catalog/fc-01-embedded/fc-connector/config.properties +++ b/federated-catalog/fc-01-embedded/fc-connector/config.properties @@ -12,6 +12,8 @@ web.http.public.port=29291 web.http.public.path=/public web.http.control.port=29192 web.http.control.path=/control +web.http.signaling.port=29195 +web.http.signaling.path=/signaling edc.dataplane.api.public.baseurl=http://localhost:29291/public web.http.management.auth.key=password diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ba47e9ff..f4d9ad7b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ format.version = "1.1" [versions] awaitility = "4.2.2" -edc = "0.17.0" +edc = "0.18.0" okhttp-mockwebserver = "5.4.0" restAssured = "6.0.0" rsApi = "4.0.0" @@ -39,8 +39,10 @@ edc-json-ld-spi = { module = "org.eclipse.edc:json-ld-spi", version.ref = "edc" edc-junit = { module = "org.eclipse.edc:junit", version.ref = "edc" } edc-management-api = { module = "org.eclipse.edc:management-api", version.ref = "edc" } edc-management-api-test-fixtures = { module = "org.eclipse.edc:management-api-test-fixtures", version.ref = "edc" } +edc-participant-context-config-spi = { module = "org.eclipse.edc:participant-context-config-spi", version.ref = "edc" } edc-runtime-core = { module = "org.eclipse.edc:runtime-core", version.ref = "edc" } edc-token-core = { module = "org.eclipse.edc:token-core", version.ref = "edc" } +edc-transfer-spi = { module = "org.eclipse.edc:transfer-spi", version.ref = "edc" } edc-transfer-data-plane-signaling = { module = "org.eclipse.edc:transfer-data-plane-signaling", version.ref = "edc" } edc-validator-data-address-http-data = { module = "org.eclipse.edc:validator-data-address-http-data", version.ref = "edc" } edc-web-spi = { module = "org.eclipse.edc:web-spi", version.ref = "edc" } diff --git a/policy/policy-01-policy-enforcement/policy-enforcement-consumer/build.gradle.kts b/policy/policy-01-policy-enforcement/policy-enforcement-consumer/build.gradle.kts index 2f6ec0b4..3af62af8 100644 --- a/policy/policy-01-policy-enforcement/policy-enforcement-consumer/build.gradle.kts +++ b/policy/policy-01-policy-enforcement/policy-enforcement-consumer/build.gradle.kts @@ -21,6 +21,8 @@ plugins { dependencies { runtimeOnly(libs.edc.bom.controlplane.base) runtimeOnly(libs.edc.iam.mock) + + implementation(project(":policy:policy-01-policy-enforcement:policy-functions")) } application { diff --git a/policy/policy-01-policy-enforcement/policy-enforcement-consumer/config.properties b/policy/policy-01-policy-enforcement/policy-enforcement-consumer/config.properties index b8b1f366..d127c2ff 100644 --- a/policy/policy-01-policy-enforcement/policy-enforcement-consumer/config.properties +++ b/policy/policy-01-policy-enforcement/policy-enforcement-consumer/config.properties @@ -6,6 +6,8 @@ web.http.protocol.port=29194 web.http.protocol.path=/protocol web.http.config.port=29195 web.http.config.path=/config +web.http.signaling.port=29196 +web.http.signaling.path=/signaling web.http.management.auth.key=password edc.dsp.callback.address=http://localhost:29194/protocol diff --git a/policy/policy-01-policy-enforcement/policy-enforcement-provider/config.properties b/policy/policy-01-policy-enforcement/policy-enforcement-provider/config.properties index ffa976f5..b222f436 100644 --- a/policy/policy-01-policy-enforcement/policy-enforcement-provider/config.properties +++ b/policy/policy-01-policy-enforcement/policy-enforcement-provider/config.properties @@ -6,6 +6,8 @@ web.http.protocol.port=19194 web.http.protocol.path=/protocol web.http.control.port=19195 web.http.control.path=/control +web.http.signaling.port=19196 +web.http.signaling.path=/signaling web.http.management.auth.key=password edc.dsp.callback.address=http://localhost:19194/protocol diff --git a/policy/policy-01-policy-enforcement/policy-functions/build.gradle.kts b/policy/policy-01-policy-enforcement/policy-functions/build.gradle.kts index 3010cd8d..1436d237 100644 --- a/policy/policy-01-policy-enforcement/policy-functions/build.gradle.kts +++ b/policy/policy-01-policy-enforcement/policy-functions/build.gradle.kts @@ -6,6 +6,7 @@ plugins { dependencies { api(libs.edc.data.plane.spi) api(libs.edc.json.ld.spi) + api(libs.edc.participant.context.config.spi) implementation(libs.edc.control.plane.core) diff --git a/policy/policy-01-policy-enforcement/policy-functions/src/main/java/org/eclipse/edc/sample/extension/policy/IamClaimsExtension.java b/policy/policy-01-policy-enforcement/policy-functions/src/main/java/org/eclipse/edc/sample/extension/policy/IamClaimsExtension.java new file mode 100644 index 00000000..2db77e35 --- /dev/null +++ b/policy/policy-01-policy-enforcement/policy-functions/src/main/java/org/eclipse/edc/sample/extension/policy/IamClaimsExtension.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2026 Think-it GmbH + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + * + * Contributors: + * Think-it GmbH - initial API and implementation + * + */ + +package org.eclipse.edc.sample.extension.policy; + +import org.eclipse.edc.participantcontext.spi.config.ParticipantContextConfig; +import org.eclipse.edc.runtime.metamodel.annotation.Inject; +import org.eclipse.edc.runtime.metamodel.annotation.Provider; +import org.eclipse.edc.spi.iam.AudienceResolver; +import org.eclipse.edc.spi.iam.ClaimToken; +import org.eclipse.edc.spi.iam.IdentityService; +import org.eclipse.edc.spi.iam.TokenParameters; +import org.eclipse.edc.spi.iam.TokenRepresentation; +import org.eclipse.edc.spi.iam.VerificationContext; +import org.eclipse.edc.spi.result.Result; +import org.eclipse.edc.spi.system.ServiceExtension; +import org.eclipse.edc.spi.types.TypeManager; + +import java.util.Map; + +public class IamClaimsExtension implements ServiceExtension { + + @Inject + private ParticipantContextConfig contextConfig; + @Inject + private TypeManager typeManager; + @Inject + private AudienceResolver audienceResolver; // this is needed in order to permit IdentityService override + + @Provider + public IdentityService identityService() { + return new MockClaimsIdentityService(contextConfig, typeManager); + } + + private static class MockClaimsIdentityService implements IdentityService { + private final ParticipantContextConfig contextConfig; + private final TypeManager typeManager; + + MockClaimsIdentityService(ParticipantContextConfig contextConfig, TypeManager typeManager) { + this.contextConfig = contextConfig; + this.typeManager = typeManager; + } + + @Override + public Result obtainClientCredentials(String participantContextId, TokenParameters parameters) { + + var clientId = contextConfig.getString(participantContextId, "edc.participant.id"); + var token = Map.of( + "client_id", clientId, + "region", contextConfig.getString(participantContextId, "edc.mock.region", "") + ); + var tokenRepresentation = TokenRepresentation.Builder.newInstance() + .token(typeManager.writeValueAsString(token)) + .build(); + return Result.success(tokenRepresentation); + } + + @Override + public Result verifyJwtToken(String participantContextId, TokenRepresentation tokenRepresentation, VerificationContext context) { + Map token = typeManager.readValue(tokenRepresentation.getToken(), Map.class); + + return Result.success(ClaimToken.Builder.newInstance() + .claim("client_id", token.get("client_id")) + .claim("region", token.get("region")) + .build()); + } + + } +} diff --git a/policy/policy-01-policy-enforcement/policy-functions/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension b/policy/policy-01-policy-enforcement/policy-functions/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension index 1b26f404..20e48821 100644 --- a/policy/policy-01-policy-enforcement/policy-functions/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension +++ b/policy/policy-01-policy-enforcement/policy-functions/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension @@ -1 +1,2 @@ +org.eclipse.edc.sample.extension.policy.IamClaimsExtension org.eclipse.edc.sample.extension.policy.PolicyFunctionsExtension \ No newline at end of file diff --git a/transfer/transfer-00-prerequisites/connector/build.gradle.kts b/transfer/transfer-00-prerequisites/connector/build.gradle.kts index 8d668bec..970bcb4b 100644 --- a/transfer/transfer-00-prerequisites/connector/build.gradle.kts +++ b/transfer/transfer-00-prerequisites/connector/build.gradle.kts @@ -19,7 +19,10 @@ plugins { } dependencies { - runtimeOnly(libs.edc.bom.controlplane.base) + runtimeOnly(libs.edc.bom.controlplane.base) { + exclude(group = "org.eclipse.edc", module = "data-plane-signaling-core") + exclude(group = "org.eclipse.edc", module = "data-plane-signaling-oauth2") + } implementation(libs.edc.control.plane.api.client) implementation(libs.edc.iam.mock) implementation(libs.edc.transfer.data.plane.signaling) diff --git a/transfer/transfer-00-prerequisites/resources/configuration/consumer-configuration.properties b/transfer/transfer-00-prerequisites/resources/configuration/consumer-configuration.properties index 5b2059ad..5d680385 100644 --- a/transfer/transfer-00-prerequisites/resources/configuration/consumer-configuration.properties +++ b/transfer/transfer-00-prerequisites/resources/configuration/consumer-configuration.properties @@ -6,9 +6,11 @@ web.http.management.port=29193 web.http.management.path=/management web.http.protocol.port=29194 web.http.protocol.path=/protocol -edc.transfer.proxy.token.signer.privatekey.alias=private-key -edc.transfer.proxy.token.verifier.publickey.alias=public-key web.http.public.port=29291 web.http.public.path=/public web.http.control.port=29192 -web.http.control.path=/control +web.http.control.path=/control\ +web.http.signaling.port=29196 +web.http.signaling.path=/signaling +edc.transfer.proxy.token.signer.privatekey.alias=private-key +edc.transfer.proxy.token.verifier.publickey.alias=public-key diff --git a/transfer/transfer-00-prerequisites/resources/configuration/provider-configuration.properties b/transfer/transfer-00-prerequisites/resources/configuration/provider-configuration.properties index 733d735a..abae942b 100644 --- a/transfer/transfer-00-prerequisites/resources/configuration/provider-configuration.properties +++ b/transfer/transfer-00-prerequisites/resources/configuration/provider-configuration.properties @@ -6,10 +6,12 @@ web.http.management.port=19193 web.http.management.path=/management web.http.protocol.port=19194 web.http.protocol.path=/protocol -edc.transfer.proxy.token.signer.privatekey.alias=private-key -edc.transfer.proxy.token.verifier.publickey.alias=public-key web.http.public.port=19291 web.http.public.path=/public web.http.control.port=19192 web.http.control.path=/control +web.http.signaling.port=19195 +web.http.signaling.path=/signaling +edc.transfer.proxy.token.signer.privatekey.alias=private-key +edc.transfer.proxy.token.verifier.publickey.alias=public-key edc.dataplane.api.public.baseurl=http://localhost:19291/public diff --git a/transfer/transfer-03-consumer-pull/resources/configuration/provider.properties b/transfer/transfer-03-consumer-pull/resources/configuration/provider.properties index f0c69646..7c924a47 100644 --- a/transfer/transfer-03-consumer-pull/resources/configuration/provider.properties +++ b/transfer/transfer-03-consumer-pull/resources/configuration/provider.properties @@ -12,4 +12,6 @@ web.http.public.port=19291 web.http.public.path=/public web.http.control.port=19192 web.http.control.path=/control +web.http.signaling.port=19195 +web.http.signaling.path=/signaling edc.dataplane.proxy.public.endpoint=http://localhost:19291/public