From 9b6810db5de8098f983dc5a127ad805bbd10903c Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Thu, 19 Oct 2023 09:42:23 +0200 Subject: [PATCH 01/47] feat: use data encryptor in the HTTP pull inmem test (#835) --- .../lifecycle/TestRuntimeConfiguration.java | 2 ++ .../edc/tests/edr/DeleteEdrInMemoryTest.java | 18 +++++++++++++++++ .../tests/edr/NegotiateEdrInMemoryTest.java | 18 +++++++++++++++++ .../edc/tests/edr/RenewalEdrInMemoryTest.java | 18 +++++++++++++++++ .../proxy/DataPlaneProxyInMemoryTest.java | 20 ++++++++++++++++++- ...AbstractHttpConsumerPullWithProxyTest.java | 1 + ...HttpConsumerPullWithProxyInMemoryTest.java | 18 +++++++++++++++++ .../runtime/runtime-memory/build.gradle.kts | 2 +- 8 files changed, 95 insertions(+), 2 deletions(-) diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/TestRuntimeConfiguration.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/TestRuntimeConfiguration.java index 71a6aa38f..c0ba7ad11 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/TestRuntimeConfiguration.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/TestRuntimeConfiguration.java @@ -111,6 +111,7 @@ public static Map sokratesConfiguration() { put("edc.receiver.http.dynamic.endpoint", "http://localhost:" + SOKRATES_CONNECTOR_PORT + "/api/consumer/datareference"); put("tractusx.businesspartnervalidation.log.agreement.validation", "true"); put("edc.agent.identity.key", "BusinessPartnerNumber"); + put("edc.data.encryption.keys.alias", "test-alias"); } }; } @@ -145,6 +146,7 @@ public static Map platoConfiguration() { put("edc.agent.identity.key", "BusinessPartnerNumber"); put("tx.dpf.proxy.gateway.aas.proxied.path", "http://localhost:" + PLATO_PROXIED_AAS_BACKEND_PORT + PROXIED_PATH); put("tx.dpf.proxy.gateway.aas.authorization.type", "none"); + put("edc.data.encryption.keys.alias", "test-alias"); } }; } diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/DeleteEdrInMemoryTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/DeleteEdrInMemoryTest.java index 2ca557532..b530e4da0 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/DeleteEdrInMemoryTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/DeleteEdrInMemoryTest.java @@ -15,10 +15,15 @@ package org.eclipse.tractusx.edc.tests.edr; +import com.nimbusds.jose.util.Base64; import org.eclipse.edc.junit.annotations.EndToEndTest; +import org.eclipse.edc.spi.security.Vault; import org.eclipse.tractusx.edc.lifecycle.ParticipantRuntime; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.extension.RegisterExtension; +import java.security.SecureRandom; + import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_BPN; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_NAME; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.SOKRATES_BPN; @@ -45,4 +50,17 @@ public class DeleteEdrInMemoryTest extends AbstractDeleteEdrTest { PLATO_BPN, renewalConfiguration(platoConfiguration()) ); + + @BeforeAll + static void prepare() { + var bytes = new byte[32]; + + new SecureRandom().nextBytes(bytes); + var value = Base64.encode(bytes).toString(); + var vault = SOKRATES_RUNTIME.getContext().getService(Vault.class); + vault.storeSecret("test-alias", value); + vault = PLATO_RUNTIME.getContext().getService(Vault.class); + vault.storeSecret("test-alias", value); + + } } diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/NegotiateEdrInMemoryTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/NegotiateEdrInMemoryTest.java index 072131805..1248a0eec 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/NegotiateEdrInMemoryTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/NegotiateEdrInMemoryTest.java @@ -15,10 +15,15 @@ package org.eclipse.tractusx.edc.tests.edr; +import com.nimbusds.jose.util.Base64; import org.eclipse.edc.junit.annotations.EndToEndTest; +import org.eclipse.edc.spi.security.Vault; import org.eclipse.tractusx.edc.lifecycle.ParticipantRuntime; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.extension.RegisterExtension; +import java.security.SecureRandom; + import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_BPN; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_NAME; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.SOKRATES_BPN; @@ -44,4 +49,17 @@ public class NegotiateEdrInMemoryTest extends AbstractNegotiateEdrTest { PLATO_BPN, platoConfiguration() ); + + @BeforeAll + static void prepare() { + var bytes = new byte[32]; + + new SecureRandom().nextBytes(bytes); + var value = Base64.encode(bytes).toString(); + var vault = SOKRATES_RUNTIME.getContext().getService(Vault.class); + vault.storeSecret("test-alias", value); + vault = PLATO_RUNTIME.getContext().getService(Vault.class); + vault.storeSecret("test-alias", value); + + } } diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/RenewalEdrInMemoryTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/RenewalEdrInMemoryTest.java index da6f80ccb..1bcc7df8f 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/RenewalEdrInMemoryTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/RenewalEdrInMemoryTest.java @@ -15,10 +15,15 @@ package org.eclipse.tractusx.edc.tests.edr; +import com.nimbusds.jose.util.Base64; import org.eclipse.edc.junit.annotations.EndToEndTest; +import org.eclipse.edc.spi.security.Vault; import org.eclipse.tractusx.edc.lifecycle.ParticipantRuntime; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.extension.RegisterExtension; +import java.security.SecureRandom; + import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_BPN; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_NAME; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.SOKRATES_BPN; @@ -45,4 +50,17 @@ public class RenewalEdrInMemoryTest extends AbstractRenewalEdrTest { PLATO_BPN, renewalConfiguration(platoConfiguration()) ); + + @BeforeAll + static void prepare() { + var bytes = new byte[32]; + + new SecureRandom().nextBytes(bytes); + var value = Base64.encode(bytes).toString(); + var vault = SOKRATES_RUNTIME.getContext().getService(Vault.class); + vault.storeSecret("test-alias", value); + vault = PLATO_RUNTIME.getContext().getService(Vault.class); + vault.storeSecret("test-alias", value); + + } } diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/proxy/DataPlaneProxyInMemoryTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/proxy/DataPlaneProxyInMemoryTest.java index 828383b19..ede482fe9 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/proxy/DataPlaneProxyInMemoryTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/proxy/DataPlaneProxyInMemoryTest.java @@ -14,10 +14,15 @@ package org.eclipse.tractusx.edc.tests.proxy; +import com.nimbusds.jose.util.Base64; import org.eclipse.edc.junit.annotations.EndToEndTest; +import org.eclipse.edc.spi.security.Vault; import org.eclipse.tractusx.edc.lifecycle.ParticipantRuntime; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.extension.RegisterExtension; +import java.security.SecureRandom; + import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_BPN; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_NAME; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.SOKRATES_BPN; @@ -27,7 +32,7 @@ @EndToEndTest public class DataPlaneProxyInMemoryTest extends AbstractDataPlaneProxyTest { - + @RegisterExtension protected static final ParticipantRuntime SOKRATES_RUNTIME = new ParticipantRuntime( ":edc-tests:runtime:runtime-memory", @@ -43,4 +48,17 @@ public class DataPlaneProxyInMemoryTest extends AbstractDataPlaneProxyTest { PLATO_BPN, platoConfiguration() ); + + @BeforeAll + static void prepare() { + var bytes = new byte[32]; + + new SecureRandom().nextBytes(bytes); + var value = Base64.encode(bytes).toString(); + var vault = SOKRATES_RUNTIME.getContext().getService(Vault.class); + vault.storeSecret("test-alias", value); + vault = PLATO_RUNTIME.getContext().getService(Vault.class); + vault.storeSecret("test-alias", value); + + } } diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/AbstractHttpConsumerPullWithProxyTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/AbstractHttpConsumerPullWithProxyTest.java index 56cf54b06..28e1dc5ac 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/AbstractHttpConsumerPullWithProxyTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/AbstractHttpConsumerPullWithProxyTest.java @@ -58,6 +58,7 @@ public abstract class AbstractHttpConsumerPullWithProxyTest { @BeforeEach void setup() throws IOException { server = new MockWebServer(); + } @Test diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpConsumerPullWithProxyInMemoryTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpConsumerPullWithProxyInMemoryTest.java index b786cebd6..bb94a1599 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpConsumerPullWithProxyInMemoryTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpConsumerPullWithProxyInMemoryTest.java @@ -14,10 +14,15 @@ package org.eclipse.tractusx.edc.tests.transfer; +import com.nimbusds.jose.util.Base64; import org.eclipse.edc.junit.annotations.EndToEndTest; +import org.eclipse.edc.spi.security.Vault; import org.eclipse.tractusx.edc.lifecycle.ParticipantRuntime; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.extension.RegisterExtension; +import java.security.SecureRandom; + import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_BPN; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_NAME; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.SOKRATES_BPN; @@ -43,4 +48,17 @@ public class HttpConsumerPullWithProxyInMemoryTest extends AbstractHttpConsumerP PLATO_BPN, platoConfiguration() ); + + @BeforeAll + static void prepare() { + var bytes = new byte[32]; + + new SecureRandom().nextBytes(bytes); + var value = Base64.encode(bytes).toString(); + var vault = SOKRATES_RUNTIME.getContext().getService(Vault.class); + vault.storeSecret("test-alias", value); + vault = PLATO_RUNTIME.getContext().getService(Vault.class); + vault.storeSecret("test-alias", value); + + } } diff --git a/edc-tests/runtime/runtime-memory/build.gradle.kts b/edc-tests/runtime/runtime-memory/build.gradle.kts index a2042f9c0..8be6581c4 100644 --- a/edc-tests/runtime/runtime-memory/build.gradle.kts +++ b/edc-tests/runtime/runtime-memory/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { exclude("org.eclipse.edc", "oauth2-core") exclude("org.eclipse.edc", "oauth2-daps") - exclude(module = "data-encryption") +// exclude(module = "data-encryption") exclude(module = "json-ld-core") exclude(module = "ssi-identity-core") exclude(module = "ssi-miw-credential-client") From 41cd8feabd4863204f7844a4bd60996bf3101c3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 16:49:16 +0200 Subject: [PATCH 02/47] chore(deps): bump eclipse-temurin (#829) Bumps eclipse-temurin from 17.0.8_7-jre-alpine to 20.0.2_9-jre-alpine. --- updated-dependencies: - dependency-name: eclipse-temurin dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../edc-dataplane-azure-vault/src/main/docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile b/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile index 9279f29c2..2706deb6c 100644 --- a/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile +++ b/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile @@ -18,7 +18,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -FROM eclipse-temurin:17.0.8_7-jre-alpine +FROM eclipse-temurin:20.0.2_9-jre-alpine ARG JAR ARG OTEL_JAR From d39ffab62ae8b8cb9d304f8189c5e4db07cd1aa9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 16:49:49 +0200 Subject: [PATCH 03/47] chore(deps): bump eclipse-temurin (#827) Bumps eclipse-temurin from 17.0.8_7-jre-alpine to 20.0.2_9-jre-alpine. --- updated-dependencies: - dependency-name: eclipse-temurin dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../src/main/docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile index 0e9df5763..085ab874c 100644 --- a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile +++ b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile @@ -19,7 +19,7 @@ # SPDX-License-Identifier: Apache-2.0 # -FROM eclipse-temurin:17.0.8_7-jre-alpine +FROM eclipse-temurin:20.0.2_9-jre-alpine ARG JAR ARG OTEL_JAR From 7a376e61a14fd16e52b9f0fac3ff5fc3f2b707dc Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Thu, 19 Oct 2023 18:06:40 +0200 Subject: [PATCH 04/47] chore: update temurin to 17.0.8.1_1-jre-alpine (#838) --- .../edc-controlplane-memory-hashicorp-vault/notice.md | 2 +- .../src/main/docker/Dockerfile | 2 +- .../edc-controlplane-postgresql-azure-vault/notice.md | 2 +- .../src/main/docker/Dockerfile | 2 +- .../edc-controlplane-postgresql-hashicorp-vault/notice.md | 2 +- .../src/main/docker/Dockerfile | 2 +- edc-controlplane/edc-runtime-memory/notice.md | 2 +- edc-controlplane/edc-runtime-memory/src/main/docker/Dockerfile | 2 +- edc-dataplane/edc-dataplane-azure-vault/notice.md | 2 +- .../edc-dataplane-azure-vault/src/main/docker/Dockerfile | 2 +- edc-dataplane/edc-dataplane-hashicorp-vault/notice.md | 2 +- .../edc-dataplane-hashicorp-vault/src/main/docker/Dockerfile | 2 +- .../src/test/resources/docker-environment/docker-compose.yaml | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md b/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md index 785173187..ac245fbb3 100644 --- a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md +++ b/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md @@ -15,7 +15,7 @@ Eclipse Tractus-X product(s) installed within the image: ## Used base image -- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8.1_1-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: - Eclipse Temurin Project: - Additional information about the Eclipse Temurin diff --git a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/src/main/docker/Dockerfile b/edc-controlplane/edc-controlplane-memory-hashicorp-vault/src/main/docker/Dockerfile index 0e9df5763..aab4ba9c3 100644 --- a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/src/main/docker/Dockerfile +++ b/edc-controlplane/edc-controlplane-memory-hashicorp-vault/src/main/docker/Dockerfile @@ -19,7 +19,7 @@ # SPDX-License-Identifier: Apache-2.0 # -FROM eclipse-temurin:17.0.8_7-jre-alpine +FROM eclipse-temurin:17.0.8.1_1-jre-alpine ARG JAR ARG OTEL_JAR diff --git a/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md b/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md index b5119932a..259d3980a 100644 --- a/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md +++ b/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md @@ -15,7 +15,7 @@ Eclipse Tractus-X product(s) installed within the image: ## Used base image -- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8.1_1-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: - Eclipse Temurin Project: - Additional information about the Eclipse Temurin diff --git a/edc-controlplane/edc-controlplane-postgresql-azure-vault/src/main/docker/Dockerfile b/edc-controlplane/edc-controlplane-postgresql-azure-vault/src/main/docker/Dockerfile index ceaeb3f21..ee8f2f0c5 100644 --- a/edc-controlplane/edc-controlplane-postgresql-azure-vault/src/main/docker/Dockerfile +++ b/edc-controlplane/edc-controlplane-postgresql-azure-vault/src/main/docker/Dockerfile @@ -18,7 +18,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -FROM eclipse-temurin:17.0.8_7-jre-alpine +FROM eclipse-temurin:17.0.8.1_1-jre-alpine ARG JAR ARG OTEL_JAR diff --git a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md index 628c32c96..67b394728 100644 --- a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md +++ b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md @@ -15,7 +15,7 @@ Eclipse Tractus-X product(s) installed within the image: ## Used base image -- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8.1_1-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: - Eclipse Temurin Project: - Additional information about the Eclipse Temurin diff --git a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile index 085ab874c..aab4ba9c3 100644 --- a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile +++ b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile @@ -19,7 +19,7 @@ # SPDX-License-Identifier: Apache-2.0 # -FROM eclipse-temurin:20.0.2_9-jre-alpine +FROM eclipse-temurin:17.0.8.1_1-jre-alpine ARG JAR ARG OTEL_JAR diff --git a/edc-controlplane/edc-runtime-memory/notice.md b/edc-controlplane/edc-runtime-memory/notice.md index 21001a0e9..18697cf9f 100644 --- a/edc-controlplane/edc-runtime-memory/notice.md +++ b/edc-controlplane/edc-runtime-memory/notice.md @@ -15,7 +15,7 @@ Eclipse Tractus-X product(s) installed within the image: ## Used base image -- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8.1_1-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: - Eclipse Temurin Project: - Additional information about the Eclipse Temurin diff --git a/edc-controlplane/edc-runtime-memory/src/main/docker/Dockerfile b/edc-controlplane/edc-runtime-memory/src/main/docker/Dockerfile index b6d489daf..998d6388e 100644 --- a/edc-controlplane/edc-runtime-memory/src/main/docker/Dockerfile +++ b/edc-controlplane/edc-runtime-memory/src/main/docker/Dockerfile @@ -20,7 +20,7 @@ # SPDX-License-Identifier: Apache-2.0 # -FROM eclipse-temurin:17.0.8_7-jre-alpine +FROM eclipse-temurin:17.0.8.1_1-jre-alpine ARG JAR ARG APP_USER=docker diff --git a/edc-dataplane/edc-dataplane-azure-vault/notice.md b/edc-dataplane/edc-dataplane-azure-vault/notice.md index 7342e6fa8..d31151af5 100644 --- a/edc-dataplane/edc-dataplane-azure-vault/notice.md +++ b/edc-dataplane/edc-dataplane-azure-vault/notice.md @@ -15,7 +15,7 @@ Eclipse Tractus-X product(s) installed within the image: ## Used base image -- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8.1_1-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: - Eclipse Temurin Project: - Additional information about the Eclipse Temurin diff --git a/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile b/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile index 2706deb6c..960c40f3d 100644 --- a/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile +++ b/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile @@ -18,7 +18,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -FROM eclipse-temurin:20.0.2_9-jre-alpine +FROM eclipse-temurin:17.0.8.1_1-jre-alpine ARG JAR ARG OTEL_JAR diff --git a/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md b/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md index 964af31cf..4518969fd 100644 --- a/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md +++ b/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md @@ -15,7 +15,7 @@ Eclipse Tractus-X product(s) installed within the image: ## Used base image -- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8.1_1-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: - Eclipse Temurin Project: - Additional information about the Eclipse Temurin diff --git a/edc-dataplane/edc-dataplane-hashicorp-vault/src/main/docker/Dockerfile b/edc-dataplane/edc-dataplane-hashicorp-vault/src/main/docker/Dockerfile index 659f63799..2ba282d04 100644 --- a/edc-dataplane/edc-dataplane-hashicorp-vault/src/main/docker/Dockerfile +++ b/edc-dataplane/edc-dataplane-hashicorp-vault/src/main/docker/Dockerfile @@ -19,7 +19,7 @@ # SPDX-License-Identifier: Apache-2.0 # -FROM eclipse-temurin:17.0.8_7-jre-alpine +FROM eclipse-temurin:17.0.8.1_1-jre-alpine ARG JAR ARG OTEL_JAR diff --git a/edc-tests/miw-tests/src/test/resources/docker-environment/docker-compose.yaml b/edc-tests/miw-tests/src/test/resources/docker-environment/docker-compose.yaml index fbfd03d96..09dd735d7 100644 --- a/edc-tests/miw-tests/src/test/resources/docker-environment/docker-compose.yaml +++ b/edc-tests/miw-tests/src/test/resources/docker-environment/docker-compose.yaml @@ -34,7 +34,7 @@ services: - "5005:5005" networks: - miw-net - + entrypoint: "java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar miw-latest.jar" depends_on: postgres: condition: service_started From 4462df10628fe163bfbfc03020b518c76c3fe276 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 18:44:14 +0200 Subject: [PATCH 05/47] chore(deps): bump aws from 2.20.153 to 2.20.162 (#816) * chore(deps): bump aws from 2.20.153 to 2.20.162 Bumps `aws` from 2.20.153 to 2.20.162. Updates `software.amazon.awssdk:s3` from 2.20.153 to 2.20.162 Updates `software.amazon.awssdk:s3-transfer-manager` from 2.20.153 to 2.20.162 --- updated-dependencies: - dependency-name: software.amazon.awssdk:s3 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: software.amazon.awssdk:s3-transfer-manager dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * chore: deps file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 42 +++++++++++++++++++-------------------- gradle/libs.versions.toml | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 672b0b60e..7cddac32e 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -416,46 +416,46 @@ maven/mavencentral/org.testcontainers/vault/1.19.1, MIT, approved, #10852 maven/mavencentral/org.yaml/snakeyaml/2.0, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #7275 maven/mavencentral/org.yaml/snakeyaml/2.2, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #10232 maven/mavencentral/software.amazon.awssdk/annotations/2.20.146, Apache-2.0, approved, #8598 -maven/mavencentral/software.amazon.awssdk/annotations/2.20.153, Apache-2.0, approved, #8598 +maven/mavencentral/software.amazon.awssdk/annotations/2.20.162, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/apache-client/2.20.146, Apache-2.0, approved, #8609 -maven/mavencentral/software.amazon.awssdk/apache-client/2.20.153, Apache-2.0, approved, #8609 +maven/mavencentral/software.amazon.awssdk/apache-client/2.20.162, Apache-2.0, approved, #8609 maven/mavencentral/software.amazon.awssdk/arns/2.20.146, Apache-2.0, approved, #8616 -maven/mavencentral/software.amazon.awssdk/arns/2.20.153, Apache-2.0, approved, #8616 +maven/mavencentral/software.amazon.awssdk/arns/2.20.162, Apache-2.0, approved, #8616 maven/mavencentral/software.amazon.awssdk/auth/2.20.146, Apache-2.0, approved, #8602 -maven/mavencentral/software.amazon.awssdk/auth/2.20.153, Apache-2.0, approved, #8602 +maven/mavencentral/software.amazon.awssdk/auth/2.20.162, Apache-2.0, approved, #8602 maven/mavencentral/software.amazon.awssdk/aws-core/2.20.146, Apache-2.0, approved, #8612 -maven/mavencentral/software.amazon.awssdk/aws-core/2.20.153, Apache-2.0, approved, #8612 +maven/mavencentral/software.amazon.awssdk/aws-core/2.20.162, Apache-2.0, approved, #8612 maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.146, Apache-2.0, approved, #8629 -maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.153, Apache-2.0, approved, #8629 +maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.162, Apache-2.0, approved, #8629 maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.146, Apache-2.0, approved, #8624 -maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.153, Apache-2.0, approved, #8624 +maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.162, Apache-2.0, approved, #8624 maven/mavencentral/software.amazon.awssdk/crt-core/2.20.146, Apache-2.0, approved, #8627 -maven/mavencentral/software.amazon.awssdk/crt-core/2.20.153, Apache-2.0, approved, #8627 +maven/mavencentral/software.amazon.awssdk/crt-core/2.20.162, Apache-2.0, approved, #8627 maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.146, Apache-2.0, approved, #8604 -maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.153, Apache-2.0, approved, #8604 +maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.162, Apache-2.0, approved, #8604 maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.146, Apache-2.0, approved, #8608 -maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.153, Apache-2.0, approved, #8608 +maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.162, Apache-2.0, approved, #8608 maven/mavencentral/software.amazon.awssdk/iam/2.20.146, Apache-2.0, approved, #9271 maven/mavencentral/software.amazon.awssdk/json-utils/2.20.146, Apache-2.0, approved, #8614 -maven/mavencentral/software.amazon.awssdk/json-utils/2.20.153, Apache-2.0, approved, #8614 +maven/mavencentral/software.amazon.awssdk/json-utils/2.20.162, Apache-2.0, approved, #8614 maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.146, Apache-2.0, approved, #8636 -maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.153, Apache-2.0, approved, #8636 +maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.162, Apache-2.0, approved, #8636 maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.146, Apache-2.0, approved, #8613 -maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.153, Apache-2.0, approved, #8613 +maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.162, Apache-2.0, approved, #8613 maven/mavencentral/software.amazon.awssdk/profiles/2.20.146, Apache-2.0, approved, #8600 -maven/mavencentral/software.amazon.awssdk/profiles/2.20.153, Apache-2.0, approved, #8600 +maven/mavencentral/software.amazon.awssdk/profiles/2.20.162, Apache-2.0, approved, #8600 maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.146, Apache-2.0, approved, #8635 -maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.153, Apache-2.0, approved, #8635 +maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.162, Apache-2.0, approved, #8635 maven/mavencentral/software.amazon.awssdk/regions/2.20.146, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/regions/2.20.153, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.20.153, Apache-2.0, approved, #10521 +maven/mavencentral/software.amazon.awssdk/regions/2.20.162, Apache-2.0, approved, #8632 +maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.20.162, Apache-2.0, approved, #10521 maven/mavencentral/software.amazon.awssdk/s3/2.20.146, Apache-2.0, approved, #8623 -maven/mavencentral/software.amazon.awssdk/s3/2.20.153, Apache-2.0, approved, #8623 +maven/mavencentral/software.amazon.awssdk/s3/2.20.162, Apache-2.0, approved, #8623 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.146, Apache-2.0, approved, #8611 -maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.153, Apache-2.0, approved, #8611 +maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.162, Apache-2.0, approved, #8611 maven/mavencentral/software.amazon.awssdk/sts/2.20.146, Apache-2.0, approved, #9269 maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.146, Apache-2.0, approved, #8622 -maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.153, Apache-2.0, approved, #8622 +maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.162, Apache-2.0, approved, #8622 maven/mavencentral/software.amazon.awssdk/utils/2.20.146, Apache-2.0, approved, #8625 -maven/mavencentral/software.amazon.awssdk/utils/2.20.153, Apache-2.0, approved, #8625 +maven/mavencentral/software.amazon.awssdk/utils/2.20.162, Apache-2.0, approved, #8625 maven/mavencentral/software.amazon.eventstream/eventstream/1.0.1, Apache-2.0, approved, clearlydefined diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 24981205d..d7af175af 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,7 +15,7 @@ mockito = "5.2.0" restAssured = "5.3.2" apache-sshd = "2.10.0" testcontainers = "1.19.1" -aws = "2.20.153" +aws = "2.20.162" rsApi = "3.1.0" jupiter = "5.10.0" assertj = "3.24.2" From b505baae0c6deb306fd98fe2a20fde428c1688a2 Mon Sep 17 00:00:00 2001 From: bcronin90 <90203222+bcronin90@users.noreply.github.com> Date: Fri, 20 Oct 2023 09:57:15 +0200 Subject: [PATCH 06/47] Feature: Add config parameter for ProviderGatewayController context registration (#796) * Add config parameter for context registration Signed-off-by: Brendan Cronin * Fix key retrieval Signed-off-by: Brendan Cronin * Fix config keys Signed-off-by: Brendan Cronin --------- Signed-off-by: Brendan Cronin --- .../README.md | 5 +- .../DataPlaneProxyProviderApiExtension.java | 20 ++- ...ataPlaneProxyProviderApiExtensionTest.java | 114 ++++++++++++++++++ .../lifecycle/TestRuntimeConfiguration.java | 4 + 4 files changed, 140 insertions(+), 3 deletions(-) create mode 100644 edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/response/DataPlaneProxyProviderApiExtensionTest.java diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/README.md b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/README.md index 42daf4973..a931a6d46 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/README.md +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/README.md @@ -19,5 +19,8 @@ When the proxy receive a request, it must contain the EDR, which will be decoded ## Configuration | Key | Required | Default | Description | -|---------------------------------|----------|----------------------------------------------------------------------------------------| +|--------------------------------------------|----------------------------------------------------------------------------------------| | tx.dpf.provider.proxy.thread.pool | | 10 | Thread pool size for the provider data plane proxy gateway | +| edc.dataplane.token.validation.endpoint | x | | URL of the token validation endpoint | +| web.http.gateway.context.path | | | Path to register the ProviderGatewayController to | +| web.http.gateway.context.port | | | Port to register the ProviderGatewayController to | diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/DataPlaneProxyProviderApiExtension.java b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/DataPlaneProxyProviderApiExtension.java index dc1ea62b4..13ca5136f 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/DataPlaneProxyProviderApiExtension.java +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/DataPlaneProxyProviderApiExtension.java @@ -42,8 +42,18 @@ public class DataPlaneProxyProviderApiExtension implements ServiceExtension { static final String NAME = "Data Plane Proxy Provider API"; @Setting(value = "Thread pool size for the provider data plane proxy gateway", type = "int") private static final String THREAD_POOL_SIZE = "tx.dpf.provider.proxy.thread.pool"; + + @Setting(value = "Path to register the ProviderGatewayController to", type = "String") + private static final String WEB_HTTP_GATEWAY_PATH_SETTING = "web.http.gateway.path"; + + @Setting(value = "Port to register the ProviderGatewayController to", type = "int") + private static final String WEB_HTTP_GATEWAY_PORT_SETTING = "web.http.gateway.port"; + + private static final String GATEWAY_CONTEXT = "gateway"; + @Setting private static final String CONTROL_PLANE_VALIDATION_ENDPOINT = "edc.dataplane.token.validation.endpoint"; + @Inject private WebService webService; @@ -74,7 +84,7 @@ public String name() { @Override public void initialize(ServiceExtensionContext context) { - executorService = newFixedThreadPool(context.getSetting(THREAD_POOL_SIZE, DEFAULT_THREAD_POOL)); + executorService = newFixedThreadPool(context.getConfig().getInteger(THREAD_POOL_SIZE, DEFAULT_THREAD_POOL)); var validationEndpoint = context.getConfig().getString(CONTROL_PLANE_VALIDATION_ENDPOINT); @@ -87,7 +97,13 @@ public void initialize(ServiceExtensionContext context) { executorService, monitor); - webService.registerResource(controller); + // If a setting for the port mapping for a separate gateway context exists, we assume the context also exists and register into that + // Otherwise we use the default context + if (context.getConfig().hasKey(WEB_HTTP_GATEWAY_PATH_SETTING) && context.getConfig().hasKey(WEB_HTTP_GATEWAY_PORT_SETTING)) { + webService.registerResource(GATEWAY_CONTEXT, controller); + } else { + webService.registerResource(controller); + } } diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/response/DataPlaneProxyProviderApiExtensionTest.java b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/response/DataPlaneProxyProviderApiExtensionTest.java new file mode 100644 index 000000000..d66f860cc --- /dev/null +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/response/DataPlaneProxyProviderApiExtensionTest.java @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2023 Mercedes Benz Tech Innovation 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: + * Mercedes Benz Tech Innovation GmbH - initial API and implementation + * + */ + +package org.eclipse.tractusx.edc.dataplane.proxy.provider.api.response; + +import org.eclipse.edc.junit.extensions.DependencyInjectionExtension; +import org.eclipse.edc.spi.monitor.Monitor; +import org.eclipse.edc.spi.system.ServiceExtensionContext; +import org.eclipse.edc.spi.system.configuration.ConfigFactory; +import org.eclipse.edc.spi.system.injection.ObjectFactory; +import org.eclipse.edc.spi.types.TypeManager; +import org.eclipse.edc.web.spi.WebService; +import org.eclipse.tractusx.edc.dataplane.proxy.provider.api.DataPlaneProxyProviderApiExtension; +import org.eclipse.tractusx.edc.dataplane.proxy.provider.api.gateway.ProviderGatewayController; +import org.eclipse.tractusx.edc.dataplane.proxy.provider.api.validation.ProxyProviderDataAddressResolver; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mockito; + +import java.util.HashMap; +import java.util.Map; + +@ExtendWith(DependencyInjectionExtension.class) +class DataPlaneProxyProviderApiExtensionTest { + + private DataPlaneProxyProviderApiExtension extension; + + private static final String CONFIG_THREAD_POOL_SIZE_KEY = "tx.dpf.provider.proxy.thread.pool"; + private static final String CONFIG_THREAD_POOL_SIZE_VALUE = "10"; + + private static final String CONFIG_WEB_HTTP_GATEWAY_PATH_KEY = "web.http.gateway.path"; + private static final String CONFIG_WEB_HTTP_GATEWAY_PATH_VALUE = "/api/v1/gateway"; + + private static final String CONFIG_WEB_HTTP_GATEWAY_PORT_KEY = "web.http.gateway.port"; + private static final String CONFIG_WEB_HTTP_GATEWAY_PORT_VALUE = "11111"; + + private static final String CONFIG_CONTROL_PLANE_VALIDATION_ENDPOINT_KEY = "edc.dataplane.token.validation.endpoint"; + private static final String CONFIG_CONTROL_PLANE_VALIDATION_ENDPOINT_VALUE = "http://example.com"; + + // mocks + private ServiceExtensionContext serviceExtensionContext; + private ProviderGatewayController providerGatewayController; + private Monitor monitor; + private WebService webService; + private ProxyProviderDataAddressResolver proxyProviderDataAddressResolver; + private TypeManager typeManager; + + + @BeforeEach + void setup(ObjectFactory factory, ServiceExtensionContext context) { + serviceExtensionContext = Mockito.mock(ServiceExtensionContext.class); + providerGatewayController = Mockito.mock(ProviderGatewayController.class); + monitor = Mockito.mock(Monitor.class); + webService = Mockito.mock(WebService.class); + proxyProviderDataAddressResolver = Mockito.mock(ProxyProviderDataAddressResolver.class); + typeManager = Mockito.mock(TypeManager.class); + + Mockito.when(serviceExtensionContext.getService(ProviderGatewayController.class)) + .thenReturn(providerGatewayController); + Mockito.when(serviceExtensionContext.getMonitor()).thenReturn(monitor); + context.registerService(TypeManager.class, typeManager); + context.registerService(WebService.class, webService); + + extension = factory.constructInstance(DataPlaneProxyProviderApiExtension.class); + } + + private Map getConfig() { + return new HashMap<>() { + { + put(CONFIG_THREAD_POOL_SIZE_KEY, CONFIG_THREAD_POOL_SIZE_VALUE); + put(CONFIG_CONTROL_PLANE_VALIDATION_ENDPOINT_KEY, CONFIG_CONTROL_PLANE_VALIDATION_ENDPOINT_VALUE); + } + }; + } + + private Map getConfigWithContext() { + var config = getConfig(); + config.put(CONFIG_WEB_HTTP_GATEWAY_PATH_KEY, CONFIG_WEB_HTTP_GATEWAY_PATH_VALUE); + config.put(CONFIG_WEB_HTTP_GATEWAY_PORT_KEY, CONFIG_WEB_HTTP_GATEWAY_PORT_VALUE); + return config; + } + + @Test + void testInitialize() { + var config = ConfigFactory.fromMap(getConfig()); + Mockito.when(serviceExtensionContext.getConfig()).thenReturn(config); + + extension.initialize(serviceExtensionContext); + + Mockito.verify(webService, Mockito.times(1)).registerResource(Mockito.any(ProviderGatewayController.class)); + } + + @Test + void testInitializeWithContext() { + var config = ConfigFactory.fromMap(getConfigWithContext()); + Mockito.when(serviceExtensionContext.getConfig()).thenReturn(config); + + extension.initialize(serviceExtensionContext); + + Mockito.verify(webService, Mockito.times(1)).registerResource(Mockito.any(String.class), Mockito.any(ProviderGatewayController.class)); + } +} diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/TestRuntimeConfiguration.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/TestRuntimeConfiguration.java index c0ba7ad11..a22e7f75f 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/TestRuntimeConfiguration.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/TestRuntimeConfiguration.java @@ -46,8 +46,10 @@ public class TestRuntimeConfiguration { public static final String PLATO_DSP_CALLBACK = "http://localhost:" + PLATO_DSP_API_PORT + DSP_PATH; static final int SOKRATES_CONNECTOR_PORT = getFreePort(); static final int SOKRATES_MANAGEMENT_PORT = getFreePort(); + static final int SOKRATES_GATEWAY_PORT = getFreePort(); static final String SOKRATES_CONNECTOR_PATH = "/api"; static final String SOKRATES_MANAGEMENT_PATH = "/api/v1/management"; + static final String SOKRATES_GATEWAY_PATH = "/api/v1/gateway"; static final int SOKRATES_DSP_API_PORT = getFreePort(); public static final String SOKRATES_DSP_CALLBACK = "http://localhost:" + SOKRATES_DSP_API_PORT + DSP_PATH; static final String SOKRATES_PUBLIC_API_PORT = String.valueOf(getFreePort()); @@ -96,6 +98,8 @@ public static Map sokratesConfiguration() { put("edc.api.auth.key", "testkey"); put("web.http.public.path", "/api/public"); put("web.http.public.port", SOKRATES_PUBLIC_API_PORT); + put("web.http.gateway.path", SOKRATES_GATEWAY_PATH); + put("web.http.gateway.port", String.valueOf(SOKRATES_GATEWAY_PORT)); put("edc.transfer.send.retry.limit", "1"); put("edc.transfer.send.retry.base-delay.ms", "100"); From 8e7d8361dd14f7eaad4b5f246207edac24aef35b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Oct 2023 09:59:27 +0200 Subject: [PATCH 07/47] chore(deps): bump com.nimbusds:nimbus-jose-jwt from 9.35 to 9.37 (#839) * chore(deps): bump com.nimbusds:nimbus-jose-jwt from 9.35 to 9.37 Bumps [com.nimbusds:nimbus-jose-jwt](https://bitbucket.org/connect2id/nimbus-jose-jwt) from 9.35 to 9.37. - [Changelog](https://bitbucket.org/connect2id/nimbus-jose-jwt/src/master/CHANGELOG.txt) - [Commits](https://bitbucket.org/connect2id/nimbus-jose-jwt/branches/compare/9.37..9.35) --- updated-dependencies: - dependency-name: com.nimbusds:nimbus-jose-jwt dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * chore: update dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 2 +- gradle/libs.versions.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 7cddac32e..13cc4e179 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -69,7 +69,7 @@ maven/mavencentral/com.nimbusds/content-type/2.2, Apache-2.0, approved, clearlyd maven/mavencentral/com.nimbusds/lang-tag/1.7, Apache-2.0, approved, clearlydefined maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.30.2, Apache-2.0, approved, clearlydefined maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.32, Apache-2.0, approved, #10561 -maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.35, Apache-2.0, approved, #10851 +maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.37, , restricted, clearlydefined maven/mavencentral/com.nimbusds/oauth2-oidc-sdk/10.7.1, Apache-2.0, approved, clearlydefined maven/mavencentral/com.puppycrawl.tools/checkstyle/10.0, LGPL-2.1-or-later, approved, #7936 maven/mavencentral/com.squareup.okhttp3/mockwebserver/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d7af175af..71bb2ffdb 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ format.version = "1.1" edc = "0.3.1" postgres = "42.6.0" awaitility = "4.2.0" -nimbus = "9.35" +nimbus = "9.37" azure-identity = "1.10.1" slf4j = "2.0.9" okhttp = "4.11.0" From 42b9a1d12dd6702f9e2e96a51a62abf0995843fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Oct 2023 13:24:38 +0200 Subject: [PATCH 08/47] chore(deps): bump com.azure:azure-identity from 1.10.1 to 1.10.4 (#840) * chore(deps): bump com.azure:azure-identity from 1.10.1 to 1.10.4 Bumps [com.azure:azure-identity](https://github.com/Azure/azure-sdk-for-java) from 1.10.1 to 1.10.4. - [Release notes](https://github.com/Azure/azure-sdk-for-java/releases) - [Commits](https://github.com/Azure/azure-sdk-for-java/compare/azure-identity_1.10.1...azure-identity_1.10.4) --- updated-dependencies: - dependency-name: com.azure:azure-identity dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * chore: update dependencies file * fix: temporary fix for version not found --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- .../actions/run-deployment-test/action.yml | 4 ++- DEPENDENCIES | 27 +++++++++++++++++++ gradle/libs.versions.toml | 2 +- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/.github/actions/run-deployment-test/action.yml b/.github/actions/run-deployment-test/action.yml index 1a84914d7..d1cef754e 100644 --- a/.github/actions/run-deployment-test/action.yml +++ b/.github/actions/run-deployment-test/action.yml @@ -61,6 +61,8 @@ runs: - name: Setup Kubectl uses: azure/setup-kubectl@v3.2 + with: + version: 'v1.28.2' - name: Create k8s Kind Cluster uses: helm/kind-action@v1.5.0 @@ -91,4 +93,4 @@ runs: if: always() shell: bash run: >- - kind get clusters | xargs -n1 kind delete cluster --name \ No newline at end of file + kind get clusters | xargs -n1 kind delete cluster --name diff --git a/DEPENDENCIES b/DEPENDENCIES index 13cc4e179..b249ec561 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -5,9 +5,12 @@ maven/mavencentral/com.apicatalog/titanium-json-ld/1.3.1, Apache-2.0, approved, maven/mavencentral/com.apicatalog/titanium-json-ld/1.3.2, Apache-2.0, approved, #8912 maven/mavencentral/com.azure/azure-core-http-netty/1.13.6, MIT AND Apache-2.0, approved, #7948 maven/mavencentral/com.azure/azure-core-http-netty/1.13.7, MIT AND Apache-2.0, approved, #7948 +maven/mavencentral/com.azure/azure-core-http-netty/1.13.9, MIT AND Apache-2.0, approved, #7948 maven/mavencentral/com.azure/azure-core/1.42.0, MIT AND Apache-2.0, approved, #10089 maven/mavencentral/com.azure/azure-core/1.43.0, MIT AND Apache-2.0, approved, #10548 +maven/mavencentral/com.azure/azure-core/1.44.1, , restricted, clearlydefined maven/mavencentral/com.azure/azure-identity/1.10.1, MIT AND Apache-2.0, approved, #10086 +maven/mavencentral/com.azure/azure-identity/1.10.4, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-json/1.1.0, MIT AND Apache-2.0, approved, #10547 maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.6.5, MIT, approved, #7940 maven/mavencentral/com.azure/azure-storage-blob/12.24.0, MIT, approved, #10568 @@ -95,33 +98,57 @@ maven/mavencentral/io.github.classgraph/classgraph/4.8.154, MIT, approved, CQ225 maven/mavencentral/io.micrometer/micrometer-commons/1.11.4, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #9243 maven/mavencentral/io.micrometer/micrometer-core/1.11.4, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #9238 maven/mavencentral/io.micrometer/micrometer-observation/1.11.4, Apache-2.0, approved, #9242 +maven/mavencentral/io.netty/netty-buffer/4.1.100.Final, Apache-2.0, approved, CQ21842 maven/mavencentral/io.netty/netty-buffer/4.1.94.Final, Apache-2.0, approved, CQ21842 +maven/mavencentral/io.netty/netty-codec-dns/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-codec-dns/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-codec-http/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-codec-http/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-codec-http2/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-codec-http2/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-codec-socks/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-codec-socks/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-codec/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-codec/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-common/4.1.100.Final, Apache-2.0 AND MIT AND CC0-1.0, approved, CQ21843 maven/mavencentral/io.netty/netty-common/4.1.94.Final, Apache-2.0 AND MIT AND CC0-1.0, approved, CQ21843 +maven/mavencentral/io.netty/netty-handler-proxy/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-handler-proxy/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-handler/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-handler/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-resolver-dns-classes-macos/4.1.100.Final, Apache-2.0, approved, #6367 maven/mavencentral/io.netty/netty-resolver-dns-classes-macos/4.1.94.Final, Apache-2.0, approved, #6367 +maven/mavencentral/io.netty/netty-resolver-dns-native-macos/4.1.100.Final, Apache-2.0, approved, #7004 maven/mavencentral/io.netty/netty-resolver-dns-native-macos/4.1.94.Final, Apache-2.0, approved, #7004 +maven/mavencentral/io.netty/netty-resolver-dns/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-resolver-dns/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-resolver/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-resolver/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-tcnative-boringssl-static/2.0.61.Final, Apache-2.0 OR LicenseRef-Public-Domain OR BSD-2-Clause OR MIT, approved, CQ15280 +maven/mavencentral/io.netty/netty-tcnative-boringssl-static/2.0.62.Final, Apache-2.0 OR LicenseRef-Public-Domain OR BSD-2-Clause OR MIT, approved, CQ15280 maven/mavencentral/io.netty/netty-tcnative-classes/2.0.61.Final, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.netty/netty-tcnative-classes/2.0.62.Final, , restricted, clearlydefined +maven/mavencentral/io.netty/netty-transport-classes-epoll/4.1.100.Final, Apache-2.0, approved, #6366 maven/mavencentral/io.netty/netty-transport-classes-epoll/4.1.94.Final, Apache-2.0, approved, #6366 +maven/mavencentral/io.netty/netty-transport-classes-kqueue/4.1.100.Final, Apache-2.0, approved, #4107 maven/mavencentral/io.netty/netty-transport-classes-kqueue/4.1.94.Final, Apache-2.0, approved, #4107 +maven/mavencentral/io.netty/netty-transport-native-epoll/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-transport-native-epoll/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-transport-native-kqueue/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-transport-native-kqueue/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-transport-native-unix-common/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-transport-native-unix-common/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 +maven/mavencentral/io.netty/netty-transport/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-transport/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.opentelemetry.instrumentation/opentelemetry-instrumentation-annotations/1.29.0, Apache-2.0, approved, #10087 maven/mavencentral/io.opentelemetry/opentelemetry-api/1.29.0, Apache-2.0, approved, #10088 maven/mavencentral/io.opentelemetry/opentelemetry-context/1.29.0, Apache-2.0, approved, #10090 maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.34, Apache-2.0, approved, #9687 +maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.38, Apache-2.0, approved, #9687 maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.34, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.38, , restricted, clearlydefined maven/mavencentral/io.projectreactor/reactor-core/3.4.31, Apache-2.0, approved, #7517 +maven/mavencentral/io.projectreactor/reactor-core/3.4.33, Apache-2.0, approved, #7517 maven/mavencentral/io.rest-assured/json-path/5.3.2, Apache-2.0, approved, #9261 maven/mavencentral/io.rest-assured/rest-assured-common/5.3.2, Apache-2.0, approved, #9264 maven/mavencentral/io.rest-assured/rest-assured/5.3.2, Apache-2.0, approved, #9262 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 71bb2ffdb..6b6a7b997 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,7 @@ edc = "0.3.1" postgres = "42.6.0" awaitility = "4.2.0" nimbus = "9.37" -azure-identity = "1.10.1" +azure-identity = "1.10.4" slf4j = "2.0.9" okhttp = "4.11.0" mockwebserver = "5.0.0-alpha.11" From 447f01cea7d40efb3019cf22c013ad9484d738e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Oct 2023 15:17:05 +0200 Subject: [PATCH 09/47] chore(deps): bump com.azure:azure-security-keyvault-secrets from 4.6.5 to 4.7.0 (#804) * chore(deps): bump com.azure:azure-security-keyvault-secrets Bumps [com.azure:azure-security-keyvault-secrets](https://github.com/Azure/azure-sdk-for-java) from 4.6.5 to 4.7.0. - [Release notes](https://github.com/Azure/azure-sdk-for-java/releases) - [Commits](https://github.com/Azure/azure-sdk-for-java/compare/azure-security-keyvault-keys_4.6.5...azure-cosmos_4.7.0) --- updated-dependencies: - dependency-name: com.azure:azure-security-keyvault-secrets dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * chore: update dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 1 + edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index b249ec561..d11fc5778 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -13,6 +13,7 @@ maven/mavencentral/com.azure/azure-identity/1.10.1, MIT AND Apache-2.0, approved maven/mavencentral/com.azure/azure-identity/1.10.4, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-json/1.1.0, MIT AND Apache-2.0, approved, #10547 maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.6.5, MIT, approved, #7940 +maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.7.0, MIT, approved, #10868 maven/mavencentral/com.azure/azure-storage-blob/12.24.0, MIT, approved, #10568 maven/mavencentral/com.azure/azure-storage-common/12.23.0, MIT, approved, #10569 maven/mavencentral/com.azure/azure-storage-internal-avro/12.9.0, MIT, approved, #10560 diff --git a/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts b/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts index 61a65bef4..64c0d379b 100644 --- a/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts +++ b/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts @@ -32,7 +32,7 @@ dependencies { } } implementation(libs.edc.azure.identity) - implementation("com.azure:azure-security-keyvault-secrets:4.6.5") + implementation("com.azure:azure-security-keyvault-secrets:4.7.0") runtimeOnly(project(":edc-extensions:edr:edr-cache-sql")) runtimeOnly(libs.edc.transaction.local) runtimeOnly(libs.edc.sql.pool) From 17343662240a17f35ddb3c5c1eddce473b64afcd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 16:28:42 +0200 Subject: [PATCH 10/47] chore(deps): bump com.squareup.okhttp3:okhttp from 4.11.0 to 4.12.0 (#846) * chore(deps): bump com.squareup.okhttp3:okhttp from 4.11.0 to 4.12.0 Bumps [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) from 4.11.0 to 4.12.0. - [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md) - [Commits](https://github.com/square/okhttp/compare/parent-4.11.0...parent-4.12.0) --- updated-dependencies: - dependency-name: com.squareup.okhttp3:okhttp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * chore: update dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 10 +++++++++- gradle/libs.versions.toml | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index d11fc5778..dc0bcd21a 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -73,7 +73,7 @@ maven/mavencentral/com.nimbusds/content-type/2.2, Apache-2.0, approved, clearlyd maven/mavencentral/com.nimbusds/lang-tag/1.7, Apache-2.0, approved, clearlydefined maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.30.2, Apache-2.0, approved, clearlydefined maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.32, Apache-2.0, approved, #10561 -maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.37, , restricted, clearlydefined +maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.37, Apache-2.0, approved, #11086 maven/mavencentral/com.nimbusds/oauth2-oidc-sdk/10.7.1, Apache-2.0, approved, clearlydefined maven/mavencentral/com.puppycrawl.tools/checkstyle/10.0, LGPL-2.1-or-later, approved, #7936 maven/mavencentral/com.squareup.okhttp3/mockwebserver/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined @@ -81,10 +81,13 @@ maven/mavencentral/com.squareup.okhttp3/mockwebserver3/5.0.0-alpha.11, Apache-2. maven/mavencentral/com.squareup.okhttp3/okhttp-dnsoverhttps/4.11.0, Apache-2.0, approved, clearlydefined maven/mavencentral/com.squareup.okhttp3/okhttp-jvm/5.0.0-alpha.11, Apache-2.0, approved, #9263 maven/mavencentral/com.squareup.okhttp3/okhttp/4.11.0, Apache-2.0, approved, #9240 +maven/mavencentral/com.squareup.okhttp3/okhttp/4.12.0, , restricted, clearlydefined maven/mavencentral/com.squareup.okhttp3/okhttp/4.9.3, Apache-2.0 AND MPL-2.0, approved, #3225 maven/mavencentral/com.squareup.okhttp3/okhttp/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined maven/mavencentral/com.squareup.okio/okio-jvm/3.2.0, Apache-2.0, approved, clearlydefined +maven/mavencentral/com.squareup.okio/okio-jvm/3.6.0, , restricted, clearlydefined maven/mavencentral/com.squareup.okio/okio/3.2.0, Apache-2.0, approved, clearlydefined +maven/mavencentral/com.squareup.okio/okio/3.6.0, , restricted, clearlydefined maven/mavencentral/com.sun.activation/jakarta.activation/2.0.0, EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jaf maven/mavencentral/commons-beanutils/commons-beanutils/1.9.4, Apache-2.0, approved, CQ12654 maven/mavencentral/commons-codec/commons-codec/1.11, Apache-2.0 AND BSD-3-Clause, approved, CQ15971 @@ -382,13 +385,18 @@ maven/mavencentral/org.javassist/javassist/3.28.0-GA, Apache-2.0 OR LGPL-2.1-or- maven/mavencentral/org.javassist/javassist/3.29.2-GA, Apache-2.0 AND LGPL-2.1-or-later AND MPL-1.1, approved, #6023 maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.20, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.7.10, Apache-2.0, approved, clearlydefined +maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.9.10, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.20, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.7.10, Apache-2.0, approved, clearlydefined +maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.9.10, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.6.10, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.6.20, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.7.10, Apache-2.0, approved, clearlydefined +maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.8.21, Apache-2.0, approved, #8919 +maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.9.10, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.6.20, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.7.10, Apache-2.0, approved, clearlydefined +maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.9.10, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains/annotations/13.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains/annotations/17.0.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains/annotations/24.0.1, Apache-2.0, approved, #7417 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6b6a7b997..8a4c189a2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,7 +8,7 @@ awaitility = "4.2.0" nimbus = "9.37" azure-identity = "1.10.4" slf4j = "2.0.9" -okhttp = "4.11.0" +okhttp = "4.12.0" mockwebserver = "5.0.0-alpha.11" bouncyCastle-jdk18on = "1.76" mockito = "5.2.0" From db8c0c05fb828d0683ea73a97323b2f74d596321 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 19:03:20 +0200 Subject: [PATCH 11/47] chore(deps): bump org.flywaydb:flyway-core from 9.22.2 to 9.22.3 (#844) * chore(deps): bump org.flywaydb:flyway-core from 9.22.2 to 9.22.3 Bumps [org.flywaydb:flyway-core](https://github.com/flyway/flyway) from 9.22.2 to 9.22.3. - [Release notes](https://github.com/flyway/flyway/releases) - [Commits](https://github.com/flyway/flyway/compare/flyway-9.22.2...flyway-9.22.3) --- updated-dependencies: - dependency-name: org.flywaydb:flyway-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * chore: update dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 2 +- edc-extensions/postgresql-migration/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index dc0bcd21a..b41d10855 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -357,7 +357,7 @@ maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.16, EPL-2.0 OR Apache-2. maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.flywaydb/flyway-core/9.22.2, Apache-2.0, approved, #10349 +maven/mavencentral/org.flywaydb/flyway-core/9.22.3, Apache-2.0, approved, #10349 maven/mavencentral/org.glassfish.hk2.external/aopalliance-repackaged/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish maven/mavencentral/org.glassfish.hk2/hk2-api/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish maven/mavencentral/org.glassfish.hk2/hk2-locator/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish diff --git a/edc-extensions/postgresql-migration/build.gradle.kts b/edc-extensions/postgresql-migration/build.gradle.kts index 57fec3b9b..d060040ec 100644 --- a/edc-extensions/postgresql-migration/build.gradle.kts +++ b/edc-extensions/postgresql-migration/build.gradle.kts @@ -30,5 +30,5 @@ dependencies { implementation(libs.edc.sql.core) runtimeOnly(libs.postgres) - implementation("org.flywaydb:flyway-core:9.22.2") + implementation("org.flywaydb:flyway-core:9.22.3") } From f95f3d50a6c79f18643ed639f89c30a7176b8223 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 10:32:00 +0200 Subject: [PATCH 12/47] chore(deps): bump aws from 2.20.162 to 2.21.5 (#843) * chore(deps): bump aws from 2.20.162 to 2.21.5 Bumps `aws` from 2.20.162 to 2.21.5. Updates `software.amazon.awssdk:s3` from 2.20.162 to 2.21.5 Updates `software.amazon.awssdk:s3-transfer-manager` from 2.20.162 to 2.21.5 --- updated-dependencies: - dependency-name: software.amazon.awssdk:s3 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: software.amazon.awssdk:s3-transfer-manager dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * chore: update dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 48 ++++++++++++++++++++++----------------- gradle/libs.versions.toml | 2 +- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index b41d10855..cee6f44f5 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -452,46 +452,52 @@ maven/mavencentral/org.testcontainers/vault/1.19.1, MIT, approved, #10852 maven/mavencentral/org.yaml/snakeyaml/2.0, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #7275 maven/mavencentral/org.yaml/snakeyaml/2.2, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #10232 maven/mavencentral/software.amazon.awssdk/annotations/2.20.146, Apache-2.0, approved, #8598 -maven/mavencentral/software.amazon.awssdk/annotations/2.20.162, Apache-2.0, approved, #8598 +maven/mavencentral/software.amazon.awssdk/annotations/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/apache-client/2.20.146, Apache-2.0, approved, #8609 -maven/mavencentral/software.amazon.awssdk/apache-client/2.20.162, Apache-2.0, approved, #8609 +maven/mavencentral/software.amazon.awssdk/apache-client/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/arns/2.20.146, Apache-2.0, approved, #8616 -maven/mavencentral/software.amazon.awssdk/arns/2.20.162, Apache-2.0, approved, #8616 +maven/mavencentral/software.amazon.awssdk/arns/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/auth/2.20.146, Apache-2.0, approved, #8602 -maven/mavencentral/software.amazon.awssdk/auth/2.20.162, Apache-2.0, approved, #8602 +maven/mavencentral/software.amazon.awssdk/auth/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/aws-core/2.20.146, Apache-2.0, approved, #8612 -maven/mavencentral/software.amazon.awssdk/aws-core/2.20.162, Apache-2.0, approved, #8612 +maven/mavencentral/software.amazon.awssdk/aws-core/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.146, Apache-2.0, approved, #8629 -maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.162, Apache-2.0, approved, #8629 +maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.146, Apache-2.0, approved, #8624 -maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.162, Apache-2.0, approved, #8624 +maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/checksums-spi/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/checksums/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/crt-core/2.20.146, Apache-2.0, approved, #8627 -maven/mavencentral/software.amazon.awssdk/crt-core/2.20.162, Apache-2.0, approved, #8627 +maven/mavencentral/software.amazon.awssdk/crt-core/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.146, Apache-2.0, approved, #8604 -maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.162, Apache-2.0, approved, #8604 +maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/http-auth-aws/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/http-auth-spi/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/http-auth/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.146, Apache-2.0, approved, #8608 -maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.162, Apache-2.0, approved, #8608 +maven/mavencentral/software.amazon.awssdk/http-client-spi/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/iam/2.20.146, Apache-2.0, approved, #9271 +maven/mavencentral/software.amazon.awssdk/identity-spi/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/json-utils/2.20.146, Apache-2.0, approved, #8614 -maven/mavencentral/software.amazon.awssdk/json-utils/2.20.162, Apache-2.0, approved, #8614 +maven/mavencentral/software.amazon.awssdk/json-utils/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.146, Apache-2.0, approved, #8636 -maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.162, Apache-2.0, approved, #8636 +maven/mavencentral/software.amazon.awssdk/metrics-spi/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.146, Apache-2.0, approved, #8613 -maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.162, Apache-2.0, approved, #8613 +maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/profiles/2.20.146, Apache-2.0, approved, #8600 -maven/mavencentral/software.amazon.awssdk/profiles/2.20.162, Apache-2.0, approved, #8600 +maven/mavencentral/software.amazon.awssdk/profiles/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.146, Apache-2.0, approved, #8635 -maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.162, Apache-2.0, approved, #8635 +maven/mavencentral/software.amazon.awssdk/protocol-core/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/regions/2.20.146, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/regions/2.20.162, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.20.162, Apache-2.0, approved, #10521 +maven/mavencentral/software.amazon.awssdk/regions/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/s3/2.20.146, Apache-2.0, approved, #8623 -maven/mavencentral/software.amazon.awssdk/s3/2.20.162, Apache-2.0, approved, #8623 +maven/mavencentral/software.amazon.awssdk/s3/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.146, Apache-2.0, approved, #8611 -maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.162, Apache-2.0, approved, #8611 +maven/mavencentral/software.amazon.awssdk/sdk-core/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/sts/2.20.146, Apache-2.0, approved, #9269 maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.146, Apache-2.0, approved, #8622 -maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.162, Apache-2.0, approved, #8622 +maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/utils/2.20.146, Apache-2.0, approved, #8625 -maven/mavencentral/software.amazon.awssdk/utils/2.20.162, Apache-2.0, approved, #8625 +maven/mavencentral/software.amazon.awssdk/utils/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.eventstream/eventstream/1.0.1, Apache-2.0, approved, clearlydefined diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8a4c189a2..6a70e7f22 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,7 +15,7 @@ mockito = "5.2.0" restAssured = "5.3.2" apache-sshd = "2.10.0" testcontainers = "1.19.1" -aws = "2.20.162" +aws = "2.21.5" rsApi = "3.1.0" jupiter = "5.10.0" assertj = "3.24.2" From 528b30c768d329ce75ba0a1205b685869434a775 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 11:57:28 +0200 Subject: [PATCH 13/47] chore(deps): bump com.azure:azure-security-keyvault-secrets from 4.7.0 to 4.7.1 (#845) * chore(deps): bump com.azure:azure-security-keyvault-secrets Bumps [com.azure:azure-security-keyvault-secrets](https://github.com/Azure/azure-sdk-for-java) from 4.7.0 to 4.7.1. - [Release notes](https://github.com/Azure/azure-sdk-for-java/releases) - [Commits](https://github.com/Azure/azure-sdk-for-java/compare/azure-cosmos_4.7.0...azure-cosmos_4.7.1) --- updated-dependencies: - dependency-name: com.azure:azure-security-keyvault-secrets dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * chore: update dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 2 +- edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index cee6f44f5..8f6d18a4d 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -13,7 +13,7 @@ maven/mavencentral/com.azure/azure-identity/1.10.1, MIT AND Apache-2.0, approved maven/mavencentral/com.azure/azure-identity/1.10.4, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-json/1.1.0, MIT AND Apache-2.0, approved, #10547 maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.6.5, MIT, approved, #7940 -maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.7.0, MIT, approved, #10868 +maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.7.1, MIT, approved, #10868 maven/mavencentral/com.azure/azure-storage-blob/12.24.0, MIT, approved, #10568 maven/mavencentral/com.azure/azure-storage-common/12.23.0, MIT, approved, #10569 maven/mavencentral/com.azure/azure-storage-internal-avro/12.9.0, MIT, approved, #10560 diff --git a/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts b/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts index 64c0d379b..26c20d326 100644 --- a/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts +++ b/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts @@ -32,7 +32,7 @@ dependencies { } } implementation(libs.edc.azure.identity) - implementation("com.azure:azure-security-keyvault-secrets:4.7.0") + implementation("com.azure:azure-security-keyvault-secrets:4.7.1") runtimeOnly(project(":edc-extensions:edr:edr-cache-sql")) runtimeOnly(libs.edc.transaction.local) runtimeOnly(libs.edc.sql.pool) From 6ffe4eb3ce18dbc5c7f38ee94f181fae7b46ad6b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 12:23:04 +0200 Subject: [PATCH 14/47] chore(deps): bump com.bmuschko.docker-remote-api from 9.3.3 to 9.3.4 (#802) Bumps com.bmuschko.docker-remote-api from 9.3.3 to 9.3.4. --- updated-dependencies: - dependency-name: com.bmuschko.docker-remote-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 23013ce7b..075c7df9a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,7 +26,7 @@ plugins { `maven-publish` `jacoco-report-aggregation` id("com.github.johnrengelman.shadow") version "8.1.1" - id("com.bmuschko.docker-remote-api") version "9.3.3" + id("com.bmuschko.docker-remote-api") version "9.3.4" id("io.github.gradle-nexus.publish-plugin") version "1.3.0" } From d4a69a24d91f1f07a35e6729334dc3fc8325459b Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Wed, 25 Oct 2023 08:50:24 +0200 Subject: [PATCH 15/47] feat(Edr API): associates contractNegotiationId EdrEntry (#847) * feat(Edr API): associates contractNegotiationId if present to the EndpointDataReferenceEntry and make it filtrable * chore: update dependencies file * pr remarks --- DEPENDENCIES | 52 +++++++++---------- .../EdrCacheEntryPredicateConverter.java | 36 ++++++++----- .../eclipse/tractusx/edc/api/edr/EdrApi.java | 2 +- .../tractusx/edc/api/edr/EdrController.java | 17 ++++-- ...EndpointDataReferenceEntryTransformer.java | 18 +++++-- .../edc/api/edr/EdrControllerTest.java | 49 +++++++++++++++++ ...ointDataReferenceEntryTransformerTest.java | 3 ++ .../edr/edr-cache-sql/docs/schema.sql | 1 + .../sql/SqlEndpointDataReferenceCache.java | 2 + .../sql/schema/BaseSqlEdrStatements.java | 3 +- .../edc/edr/store/sql/schema/EdrMapping.java | 1 + .../edr/store/sql/schema/EdrStatements.java | 4 ++ .../edc/callback/LocalCallbackExtension.java | 6 ++- .../TransferProcessLocalCallback.java | 18 +++++-- .../TransferProcessLocalCallbackTest.java | 11 ++-- ..._0_4__Add_ContractNegotiationId_Column.sql | 19 +++++++ .../tractusx/edc/lifecycle/Participant.java | 11 ++++ .../tests/edr/AbstractNegotiateEdrTest.java | 12 ++++- .../spi/types/EndpointDataReferenceEntry.java | 15 ++++++ .../EndpointDataReferenceCacheTestBase.java | 18 +++++++ .../tractusx/edc/edr/spi/TestFunctions.java | 9 ++++ 21 files changed, 247 insertions(+), 60 deletions(-) create mode 100644 edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/edr/V0_0_4__Add_ContractNegotiationId_Column.sql diff --git a/DEPENDENCIES b/DEPENDENCIES index 8f6d18a4d..2c23bcd70 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -452,52 +452,52 @@ maven/mavencentral/org.testcontainers/vault/1.19.1, MIT, approved, #10852 maven/mavencentral/org.yaml/snakeyaml/2.0, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #7275 maven/mavencentral/org.yaml/snakeyaml/2.2, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #10232 maven/mavencentral/software.amazon.awssdk/annotations/2.20.146, Apache-2.0, approved, #8598 -maven/mavencentral/software.amazon.awssdk/annotations/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/annotations/2.21.5, Apache-2.0, approved, #11137 maven/mavencentral/software.amazon.awssdk/apache-client/2.20.146, Apache-2.0, approved, #8609 -maven/mavencentral/software.amazon.awssdk/apache-client/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/apache-client/2.21.5, Apache-2.0, approved, #11133 maven/mavencentral/software.amazon.awssdk/arns/2.20.146, Apache-2.0, approved, #8616 -maven/mavencentral/software.amazon.awssdk/arns/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/arns/2.21.5, Apache-2.0, approved, #11143 maven/mavencentral/software.amazon.awssdk/auth/2.20.146, Apache-2.0, approved, #8602 -maven/mavencentral/software.amazon.awssdk/auth/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/auth/2.21.5, Apache-2.0, approved, #11139 maven/mavencentral/software.amazon.awssdk/aws-core/2.20.146, Apache-2.0, approved, #8612 -maven/mavencentral/software.amazon.awssdk/aws-core/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/aws-core/2.21.5, Apache-2.0, approved, #11126 maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.146, Apache-2.0, approved, #8629 -maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.21.5, Apache-2.0, approved, #11123 maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.146, Apache-2.0, approved, #8624 -maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.21.5, , restricted, clearlydefined -maven/mavencentral/software.amazon.awssdk/checksums-spi/2.21.5, , restricted, clearlydefined -maven/mavencentral/software.amazon.awssdk/checksums/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.21.5, Apache-2.0, approved, #11124 +maven/mavencentral/software.amazon.awssdk/checksums-spi/2.21.5, Apache-2.0, approved, #11131 +maven/mavencentral/software.amazon.awssdk/checksums/2.21.5, Apache-2.0, approved, #11134 maven/mavencentral/software.amazon.awssdk/crt-core/2.20.146, Apache-2.0, approved, #8627 -maven/mavencentral/software.amazon.awssdk/crt-core/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/crt-core/2.21.5, Apache-2.0, approved, #11130 maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.146, Apache-2.0, approved, #8604 -maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.21.5, , restricted, clearlydefined -maven/mavencentral/software.amazon.awssdk/http-auth-aws/2.21.5, , restricted, clearlydefined -maven/mavencentral/software.amazon.awssdk/http-auth-spi/2.21.5, , restricted, clearlydefined -maven/mavencentral/software.amazon.awssdk/http-auth/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.21.5, Apache-2.0, approved, #11118 +maven/mavencentral/software.amazon.awssdk/http-auth-aws/2.21.5, Apache-2.0, approved, #11145 +maven/mavencentral/software.amazon.awssdk/http-auth-spi/2.21.5, Apache-2.0, approved, #11128 +maven/mavencentral/software.amazon.awssdk/http-auth/2.21.5, Apache-2.0, approved, #11120 maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.146, Apache-2.0, approved, #8608 -maven/mavencentral/software.amazon.awssdk/http-client-spi/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/http-client-spi/2.21.5, Apache-2.0, approved, #11132 maven/mavencentral/software.amazon.awssdk/iam/2.20.146, Apache-2.0, approved, #9271 -maven/mavencentral/software.amazon.awssdk/identity-spi/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/identity-spi/2.21.5, Apache-2.0, approved, #11129 maven/mavencentral/software.amazon.awssdk/json-utils/2.20.146, Apache-2.0, approved, #8614 -maven/mavencentral/software.amazon.awssdk/json-utils/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/json-utils/2.21.5, Apache-2.0, approved, #11119 maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.146, Apache-2.0, approved, #8636 -maven/mavencentral/software.amazon.awssdk/metrics-spi/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/metrics-spi/2.21.5, Apache-2.0, approved, #11144 maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.146, Apache-2.0, approved, #8613 -maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.21.5, Apache-2.0, approved, #11140 maven/mavencentral/software.amazon.awssdk/profiles/2.20.146, Apache-2.0, approved, #8600 -maven/mavencentral/software.amazon.awssdk/profiles/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/profiles/2.21.5, Apache-2.0, approved, #11148 maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.146, Apache-2.0, approved, #8635 -maven/mavencentral/software.amazon.awssdk/protocol-core/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/protocol-core/2.21.5, Apache-2.0, approved, #11141 maven/mavencentral/software.amazon.awssdk/regions/2.20.146, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/regions/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/regions/2.21.5, Apache-2.0, approved, #11142 maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.21.5, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/s3/2.20.146, Apache-2.0, approved, #8623 -maven/mavencentral/software.amazon.awssdk/s3/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/s3/2.21.5, Apache-2.0, approved, #11135 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.146, Apache-2.0, approved, #8611 -maven/mavencentral/software.amazon.awssdk/sdk-core/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/sdk-core/2.21.5, Apache-2.0, approved, #11121 maven/mavencentral/software.amazon.awssdk/sts/2.20.146, Apache-2.0, approved, #9269 maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.146, Apache-2.0, approved, #8622 -maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.21.5, Apache-2.0, approved, #11127 maven/mavencentral/software.amazon.awssdk/utils/2.20.146, Apache-2.0, approved, #8625 -maven/mavencentral/software.amazon.awssdk/utils/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/utils/2.21.5, Apache-2.0, approved, #11136 maven/mavencentral/software.amazon.eventstream/eventstream/1.0.1, Apache-2.0, approved, clearlydefined diff --git a/core/edr-cache-core/src/main/java/org/eclipse/tractusx/edc/edr/core/defaults/EdrCacheEntryPredicateConverter.java b/core/edr-cache-core/src/main/java/org/eclipse/tractusx/edc/edr/core/defaults/EdrCacheEntryPredicateConverter.java index 23845d991..ec725a6ee 100644 --- a/core/edr-cache-core/src/main/java/org/eclipse/tractusx/edc/edr/core/defaults/EdrCacheEntryPredicateConverter.java +++ b/core/edr-cache-core/src/main/java/org/eclipse/tractusx/edc/edr/core/defaults/EdrCacheEntryPredicateConverter.java @@ -32,6 +32,12 @@ */ public class EdrCacheEntryPredicateConverter implements CriterionToPredicateConverter { + public static final String ASSET_ID = "assetId"; + public static final String AGREEMENT_ID = "agreementId"; + public static final String PROVIDER_ID = "providerId"; + public static final String CONTRACT_NEGOTIATION_ID = "contractNegotiationId"; + public static final String STATE = "state"; + @Override public Predicate convert(Criterion criterion) { var operator = criterion.getOperator().toLowerCase(); @@ -40,10 +46,25 @@ public Predicate convert(Criterion criterion) { case "=" -> equalPredicate(criterion); case "in" -> inPredicate(criterion); case "like" -> likePredicate(criterion); - default -> throw new IllegalArgumentException(format("Operator [%s] is not supported by this converter!", criterion.getOperator())); + default -> + throw new IllegalArgumentException(format("Operator [%s] is not supported by this converter!", criterion.getOperator())); }; } + protected Object property(String key, Object object) { + if (object instanceof EndpointDataReferenceEntry entry) { + return switch (key) { + case ASSET_ID -> entry.getAssetId(); + case AGREEMENT_ID -> entry.getAgreementId(); + case PROVIDER_ID -> entry.getProviderId(); + case CONTRACT_NEGOTIATION_ID -> entry.getContractNegotiationId(); + case STATE -> entry.getState(); + default -> null; + }; + } + throw new IllegalArgumentException("Can only handle objects of type " + EndpointDataReferenceEntry.class.getSimpleName() + " but received an " + object.getClass().getSimpleName()); + } + @NotNull private Predicate equalPredicate(Criterion criterion) { return t -> { @@ -117,17 +138,4 @@ private Predicate likePredicate(Criterion criterion) { return false; }; } - - protected Object property(String key, Object object) { - if (object instanceof EndpointDataReferenceEntry entry) { - return switch (key) { - case "assetId" -> entry.getAssetId(); - case "agreementId" -> entry.getAgreementId(); - case "providerId" -> entry.getProviderId(); - case "state" -> entry.getState(); - default -> null; - }; - } - throw new IllegalArgumentException("Can only handle objects of type " + EndpointDataReferenceEntry.class.getSimpleName() + " but received an " + object.getClass().getSimpleName()); - } } diff --git a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/EdrApi.java b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/EdrApi.java index a09601b36..cfc92db32 100644 --- a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/EdrApi.java +++ b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/EdrApi.java @@ -49,7 +49,7 @@ public interface EdrApi { @ApiResponse(responseCode = "400", description = "Request was malformed", content = @Content(array = @ArraySchema(schema = @Schema(implementation = ApiErrorDetail.class)))) } ) - JsonArray queryEdrs(String assetId, String agreementId, String providerId); + JsonArray queryEdrs(String assetId, String agreementId, String contractNegotiationId, String providerId); @Operation(description = "Gets an EDR with the given transfer process ID", responses = { diff --git a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/EdrController.java b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/EdrController.java index 79abbdb5c..99bcbc02b 100644 --- a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/EdrController.java +++ b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/EdrController.java @@ -47,6 +47,7 @@ import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_TYPE; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.AGREEMENT_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.ASSET_ID; +import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.CONTRACT_NEGOTIATION_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.PROVIDER_ID; @Consumes({ MediaType.APPLICATION_JSON }) @@ -89,11 +90,14 @@ public JsonObject initiateEdrNegotiation(JsonObject requestObject) { @GET @Override - public JsonArray queryEdrs(@QueryParam("assetId") String assetId, @QueryParam("agreementId") String agreementId, @QueryParam("providerId") String providerId) { - if (assetId == null && agreementId == null) { - throw new InvalidRequestException("At least one of this query parameter is required [assetId,agreementId]"); + public JsonArray queryEdrs(@QueryParam("assetId") String assetId, + @QueryParam("agreementId") String agreementId, + @QueryParam("contractNegotiationId") String contractNegotiationId, + @QueryParam("providerId") String providerId) { + if (assetId == null && agreementId == null && contractNegotiationId == null) { + throw new InvalidRequestException("At least one of this query parameter is required [assetId, agreementId, contractNegotiationId]"); } - return edrService.findBy(querySpec(assetId, agreementId, providerId)) + return edrService.findBy(querySpec(assetId, agreementId, contractNegotiationId, providerId)) .orElseThrow(exceptionMapper(EndpointDataReferenceEntry.class)) .stream() .map(edrCached -> transformerRegistry.transform(edrCached, JsonObject.class)) @@ -124,7 +128,7 @@ private void logIfError(Result result) { result.onFailure(f -> monitor.warning(f.getFailureDetail())); } - private QuerySpec querySpec(String assetId, String agreementId, String providerId) { + private QuerySpec querySpec(String assetId, String agreementId, String contractNegotiationId, String providerId) { var queryBuilder = QuerySpec.Builder.newInstance(); if (assetId != null) { queryBuilder.filter(fieldFilter(ASSET_ID, assetId)); @@ -132,6 +136,9 @@ private QuerySpec querySpec(String assetId, String agreementId, String providerI if (agreementId != null) { queryBuilder.filter(fieldFilter(AGREEMENT_ID, agreementId)); } + if (contractNegotiationId != null) { + queryBuilder.filter(fieldFilter(CONTRACT_NEGOTIATION_ID, contractNegotiationId)); + } if (providerId != null) { queryBuilder.filter(fieldFilter(PROVIDER_ID, providerId)); } diff --git a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectFromEndpointDataReferenceEntryTransformer.java b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectFromEndpointDataReferenceEntryTransformer.java index ce0d1ef97..f0dd211cf 100644 --- a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectFromEndpointDataReferenceEntryTransformer.java +++ b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectFromEndpointDataReferenceEntryTransformer.java @@ -25,6 +25,7 @@ import static org.eclipse.edc.jsonld.spi.JsonLdKeywords.TYPE; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_AGREEMENT_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_ASSET_ID; +import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_CONTRACT_NEGOTIATION_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_EXPIRATION_DATE; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_PROVIDER_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_STATE; @@ -40,15 +41,24 @@ public JsonObjectFromEndpointDataReferenceEntryTransformer() { @Override public @Nullable JsonObject transform(@NotNull EndpointDataReferenceEntry dto, @NotNull TransformerContext context) { - return Json.createObjectBuilder() + + var builder = Json.createObjectBuilder() .add(TYPE, EDR_ENTRY_TYPE) .add(EDR_ENTRY_AGREEMENT_ID, dto.getAgreementId()) .add(EDR_ENTRY_TRANSFER_PROCESS_ID, dto.getTransferProcessId()) .add(EDR_ENTRY_ASSET_ID, dto.getAssetId()) - .add(EDR_ENTRY_PROVIDER_ID, dto.getProviderId()) .add(EDR_ENTRY_STATE, dto.getEdrState()) - .add(EDR_ENTRY_EXPIRATION_DATE, dto.getExpirationTimestamp()) - .build(); + .add(EDR_ENTRY_EXPIRATION_DATE, dto.getExpirationTimestamp()); + + if (dto.getProviderId() != null) { + builder.add(EDR_ENTRY_PROVIDER_ID, dto.getProviderId()); + } + + if (dto.getContractNegotiationId() != null) { + builder.add(EDR_ENTRY_CONTRACT_NEGOTIATION_ID, dto.getContractNegotiationId()); + } + + return builder.build(); } diff --git a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrControllerTest.java b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrControllerTest.java index 11e122553..81ae69845 100644 --- a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrControllerTest.java +++ b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrControllerTest.java @@ -58,8 +58,10 @@ import static org.eclipse.tractusx.edc.edr.spi.CoreConstants.TX_NAMESPACE; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.AGREEMENT_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.ASSET_ID; +import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.CONTRACT_NEGOTIATION_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_AGREEMENT_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_ASSET_ID; +import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_CONTRACT_NEGOTIATION_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_PROVIDER_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_STATE; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_TRANSFER_PROCESS_ID; @@ -269,6 +271,53 @@ void queryEdrs_shouldReturnCachedEntries_whenAgreementIdIsProvided() { .body("[0].'edc:providerId'", is(entry.getProviderId())); } + @Test + void queryEdrs_shouldReturnCachedEntries_whenContractNegotiationIdIsProvided() { + var assetId = "assetId"; + var transferProcessId = "transferProcessId"; + var agreementId = "agreementId"; + var providerId = "providerId"; + var contractNegotiationId = "contractNegotiationId"; + + var entry = EndpointDataReferenceEntry.Builder.newInstance() + .transferProcessId(transferProcessId) + .agreementId(agreementId) + .assetId(assetId) + .providerId(providerId) + .contractNegotiationId(contractNegotiationId) + .build(); + + + var response = Json.createObjectBuilder() + .add(TYPE, EDR_ENTRY_TYPE) + .add(EDR_ENTRY_ASSET_ID, entry.getAssetId()) + .add(EDR_ENTRY_TRANSFER_PROCESS_ID, entry.getTransferProcessId()) + .add(EDR_ENTRY_AGREEMENT_ID, entry.getAgreementId()) + .add(EDR_ENTRY_CONTRACT_NEGOTIATION_ID, entry.getContractNegotiationId()) + .add(EDR_ENTRY_PROVIDER_ID, entry.getProviderId()) + .build(); + + var filter = QuerySpec.Builder.newInstance() + .filter(fieldFilter(CONTRACT_NEGOTIATION_ID, contractNegotiationId)) + .filter(fieldFilter(PROVIDER_ID, entry.getProviderId())) + .build(); + + when(edrService.findBy(eq(filter))).thenReturn(ServiceResult.success(List.of(entry))); + when(transformerRegistry.transform(any(EndpointDataReferenceEntry.class), eq(JsonObject.class))).thenReturn(Result.success(response)); + + baseRequest() + .contentType(MediaType.APPLICATION_JSON) + .get(EDR_PATH + format("?=contractNegotiationId=%s&providerId=%s", entry.getContractNegotiationId(), entry.getProviderId())) + .then() + .log().all(true) + .statusCode(200) + .body("[0].'edc:transferProcessId'", is(entry.getTransferProcessId())) + .body("[0].'edc:agreementId'", is(entry.getAgreementId())) + .body("[0].'edc:contractNegotiationId'", is(entry.getContractNegotiationId())) + .body("[0].'edc:assetId'", is(entry.getAssetId())) + .body("[0].'edc:providerId'", is(entry.getProviderId())); + } + @Test void deleteEdr() { var transferProcessId = "id"; diff --git a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectFromEndpointDataReferenceEntryTransformerTest.java b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectFromEndpointDataReferenceEntryTransformerTest.java index a038ee1e0..b500f29f4 100644 --- a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectFromEndpointDataReferenceEntryTransformerTest.java +++ b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectFromEndpointDataReferenceEntryTransformerTest.java @@ -25,6 +25,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_AGREEMENT_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_ASSET_ID; +import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_CONTRACT_NEGOTIATION_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_EXPIRATION_DATE; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_PROVIDER_ID; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry.EDR_ENTRY_STATE; @@ -49,6 +50,7 @@ void transform() { .transferProcessId("tpId") .agreementId("aId") .providerId("providerId") + .contractNegotiationId("contractNegotiationId") .state(EndpointDataReferenceEntryStates.NEGOTIATED.code()) .expirationTimestamp(Instant.now().toEpochMilli()) .build(); @@ -57,6 +59,7 @@ void transform() { assertThat(jsonObject).isNotNull(); assertThat(jsonObject.getJsonString(EDR_ENTRY_AGREEMENT_ID).getString()).isNotNull().isEqualTo(dto.getAgreementId()); + assertThat(jsonObject.getJsonString(EDR_ENTRY_CONTRACT_NEGOTIATION_ID).getString()).isNotNull().isEqualTo(dto.getContractNegotiationId()); assertThat(jsonObject.getJsonString(EDR_ENTRY_ASSET_ID).getString()).isNotNull().isEqualTo(dto.getAssetId()); assertThat(jsonObject.getJsonString(EDR_ENTRY_TRANSFER_PROCESS_ID).getString()).isNotNull().isEqualTo(dto.getTransferProcessId()); assertThat(jsonObject.getJsonString(EDR_ENTRY_PROVIDER_ID).getString()).isNotNull().isEqualTo(dto.getProviderId()); diff --git a/edc-extensions/edr/edr-cache-sql/docs/schema.sql b/edc-extensions/edr/edr-cache-sql/docs/schema.sql index 9e707af1b..24a94045f 100644 --- a/edc-extensions/edr/edr-cache-sql/docs/schema.sql +++ b/edc-extensions/edr/edr-cache-sql/docs/schema.sql @@ -36,6 +36,7 @@ CREATE TABLE IF NOT EXISTS edc_edr_cache agreement_id VARCHAR NOT NULL, asset_id VARCHAR NOT NULL, edr_id VARCHAR NOT NULL, + contract_negotiation_id VARCHAR, provider_id VARCHAR, expiration_timestamp BIGINT, state INTEGER DEFAULT 0 NOT NULL, diff --git a/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCache.java b/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCache.java index 8b22138cc..5da73c62f 100644 --- a/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCache.java +++ b/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCache.java @@ -135,6 +135,7 @@ public void save(EndpointDataReferenceEntry entry, EndpointDataReference edr) { entry.getAgreementId(), edr.getId(), entry.getProviderId(), + entry.getContractNegotiationId(), entry.getExpirationTimestamp(), entry.getState(), entry.getStateCount(), @@ -253,6 +254,7 @@ private EndpointDataReferenceEntry mapResultSet(ResultSet resultSet) throws SQLE .transferProcessId(resultSet.getString(statements.getTransferProcessIdColumn())) .assetId(resultSet.getString(statements.getAssetIdColumn())) .agreementId(resultSet.getString(statements.getAgreementIdColumn())) + .contractNegotiationId(resultSet.getString(statements.getContractNegotiationIdColumn())) .providerId(resultSet.getString(statements.getProviderIdColumn())) .state(resultSet.getInt(statements.getStateColumn())) .stateTimestamp(resultSet.getLong(statements.getStateTimestampColumn())) diff --git a/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/BaseSqlEdrStatements.java b/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/BaseSqlEdrStatements.java index ddd2d462d..3b22f8d41 100644 --- a/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/BaseSqlEdrStatements.java +++ b/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/BaseSqlEdrStatements.java @@ -34,13 +34,14 @@ public SqlQueryStatement createQuery(QuerySpec querySpec) { @Override public String getInsertTemplate() { - return format("INSERT INTO %s (%s, %s, %s, %s,%s, %s, %s, %s, %s, %s, %s, %s) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + return format("INSERT INTO %s (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", getEdrTable(), getTransferProcessIdColumn(), getAssetIdColumn(), getAgreementIdColumn(), getEdrId(), getProviderIdColumn(), + getContractNegotiationIdColumn(), getExpirationTimestampColumn(), getStateColumn(), getStateCountColumn(), diff --git a/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/EdrMapping.java b/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/EdrMapping.java index fa75652a3..2a99d2c35 100644 --- a/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/EdrMapping.java +++ b/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/EdrMapping.java @@ -26,6 +26,7 @@ public EdrMapping(EdrStatements statements) { add("assetId", statements.getAssetIdColumn()); add("agreementId", statements.getAgreementIdColumn()); add("providerId", statements.getProviderIdColumn()); + add("contractNegotiationId", statements.getContractNegotiationIdColumn()); add("state", statements.getStateColumn()); } } diff --git a/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/EdrStatements.java b/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/EdrStatements.java index 9414a3d1b..68a980050 100644 --- a/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/EdrStatements.java +++ b/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/schema/EdrStatements.java @@ -39,6 +39,10 @@ default String getProviderIdColumn() { return "provider_id"; } + default String getContractNegotiationIdColumn() { + return "contract_negotiation_id"; + } + default String getAssetIdColumn() { return "asset_id"; } diff --git a/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/LocalCallbackExtension.java b/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/LocalCallbackExtension.java index 1eb68859e..bf2a76534 100644 --- a/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/LocalCallbackExtension.java +++ b/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/LocalCallbackExtension.java @@ -15,6 +15,7 @@ package org.eclipse.tractusx.edc.callback; import org.eclipse.edc.connector.spi.callback.CallbackProtocolResolverRegistry; +import org.eclipse.edc.connector.spi.contractagreement.ContractAgreementService; import org.eclipse.edc.connector.spi.transferprocess.TransferProcessService; import org.eclipse.edc.connector.transfer.spi.store.TransferProcessStore; import org.eclipse.edc.runtime.metamodel.annotation.Extension; @@ -62,6 +63,9 @@ public class LocalCallbackExtension implements ServiceExtension { @Inject private EndpointDataReferenceCache endpointDataReferenceCache; + @Inject + private ContractAgreementService agreementService; + @Inject private TypeTransformerRegistry transformerRegistry; @@ -74,7 +78,7 @@ public String name() { public void initialize(ServiceExtensionContext context) { callbackRegistry.registerHandler(new ContractNegotiationCallback(transferProcessService, monitor)); - callbackRegistry.registerHandler(new TransferProcessLocalCallback(edrCache, transferProcessStore, transformerRegistry, transactionContext, monitor)); + callbackRegistry.registerHandler(new TransferProcessLocalCallback(edrCache, transferProcessStore, agreementService, transformerRegistry, transactionContext, monitor)); resolverRegistry.registerResolver(this::resolveProtocol); registry.register(new InProcessCallbackMessageDispatcher(callbackRegistry)); diff --git a/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallback.java b/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallback.java index 50c1791a5..b05593f2e 100644 --- a/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallback.java +++ b/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallback.java @@ -16,6 +16,7 @@ import com.nimbusds.jwt.SignedJWT; import org.eclipse.edc.connector.spi.callback.CallbackEventRemoteMessage; +import org.eclipse.edc.connector.spi.contractagreement.ContractAgreementService; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessStarted; import org.eclipse.edc.connector.transfer.spi.store.TransferProcessStore; import org.eclipse.edc.spi.event.Event; @@ -41,14 +42,16 @@ public class TransferProcessLocalCallback implements InProcessCallback { private final EndpointDataReferenceCache edrCache; private final TransferProcessStore transferProcessStore; private final TypeTransformerRegistry transformerRegistry; - private final TransactionContext transactionContext; - private final Monitor monitor; + private final ContractAgreementService agreementService; - public TransferProcessLocalCallback(EndpointDataReferenceCache edrCache, TransferProcessStore transferProcessStore, TypeTransformerRegistry transformerRegistry, TransactionContext transactionContext, Monitor monitor) { + public TransferProcessLocalCallback(EndpointDataReferenceCache edrCache, TransferProcessStore transferProcessStore, + ContractAgreementService agreementService, TypeTransformerRegistry transformerRegistry, + TransactionContext transactionContext, Monitor monitor) { this.edrCache = edrCache; this.transferProcessStore = transferProcessStore; + this.agreementService = agreementService; this.transformerRegistry = transformerRegistry; this.transactionContext = transactionContext; this.monitor = monitor; @@ -69,7 +72,15 @@ public Result invoke(CallbackEventRemoteMessage messa private Result storeEdr(EndpointDataReference edr) { return transactionContext.execute(() -> { var transferProcess = transferProcessStore.findForCorrelationId(edr.getId()); + if (transferProcess != null) { + String contractNegotiationId = null; + var contractNegotiation = agreementService.findNegotiation(transferProcess.getContractId()); + if (contractNegotiation != null) { + contractNegotiationId = contractNegotiation.getId(); + } else { + monitor.warning(format("Contract negotiation for agreement with id: %s is missing.", transferProcess.getContractId())); + } var expirationTime = extractExpirationTime(edr); if (expirationTime.failed()) { @@ -82,6 +93,7 @@ private Result storeEdr(EndpointDataReference edr) { .providerId(transferProcess.getDataRequest().getConnectorId()) .state(EndpointDataReferenceEntryStates.NEGOTIATED.code()) .expirationTimestamp(expirationTime.getContent()) + .contractNegotiationId(contractNegotiationId) .build(); cleanOldEdr(transferProcess.getDataRequest().getAssetId(), transferProcess.getDataRequest().getContractId()); diff --git a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallbackTest.java b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallbackTest.java index 19c5d280e..b64b82e89 100644 --- a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallbackTest.java +++ b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallbackTest.java @@ -14,6 +14,7 @@ package org.eclipse.tractusx.edc.callback; +import org.eclipse.edc.connector.spi.contractagreement.ContractAgreementService; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessCompleted; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessDeprovisioned; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessEvent; @@ -63,19 +64,21 @@ public class TransferProcessLocalCallbackTest { - TransferProcessStore transferProcessStore = mock(TransferProcessStore.class); - EndpointDataReferenceCache edrCache = mock(EndpointDataReferenceCache.class); + TransferProcessStore transferProcessStore = mock(); + EndpointDataReferenceCache edrCache = mock(); TransactionContext transactionContext = new NoopTransactionContext(); TransferProcessLocalCallback callback; + ContractAgreementService agreementService = mock(); + TypeTransformerRegistry transformerRegistry = mock(TypeTransformerRegistry.class); @BeforeEach void setup() { - callback = new TransferProcessLocalCallback(edrCache, transferProcessStore, transformerRegistry, transactionContext, mock(Monitor.class)); + callback = new TransferProcessLocalCallback(edrCache, transferProcessStore, agreementService, transformerRegistry, transactionContext, mock(Monitor.class)); } @Test @@ -122,7 +125,7 @@ void invoke_shouldStoreTheEdrInCache_whenDataAddressIsPresent() { verify(edrCache).save(cacheEntryCaptor.capture(), edrCaptor.capture()); verify(edrCache).update(argThat(entry -> entry.getState() == EndpointDataReferenceEntryStates.EXPIRED.code())); - + assertThat(edrCaptor.getValue()).usingRecursiveComparison().isEqualTo(edr); } diff --git a/edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/edr/V0_0_4__Add_ContractNegotiationId_Column.sql b/edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/edr/V0_0_4__Add_ContractNegotiationId_Column.sql new file mode 100644 index 000000000..291f325c3 --- /dev/null +++ b/edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/edr/V0_0_4__Add_ContractNegotiationId_Column.sql @@ -0,0 +1,19 @@ +-- +-- Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +-- +-- 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: +-- Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation +-- + +-- Statements are designed for and tested with Postgres only! + + +-- add column +ALTER TABLE edc_edr_cache ADD COLUMN contract_negotiation_id VARCHAR; + diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/Participant.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/Participant.java index da0c45b30..d807494fe 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/Participant.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/Participant.java @@ -242,6 +242,17 @@ public JsonArray getEdrEntriesByAssetId(String assetId) { .as(JsonArray.class); } + public JsonArray getEdrEntriesByContractNegotiationId(String contractNegotiationId) { + return baseRequest() + .when() + .get("/edrs?contractNegotiationId={contractNegotiationId}", contractNegotiationId) + .then() + .statusCode(200) + .extract() + .body() + .as(JsonArray.class); + } + public JsonArray getEdrEntriesByAgreementId(String agreementId) { return baseRequest() .when() diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractNegotiateEdrTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractNegotiateEdrTest.java index 71a54ebc9..82aabe165 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractNegotiateEdrTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractNegotiateEdrTest.java @@ -111,7 +111,7 @@ void negotiateEdr_shouldInvokeCallbacks() throws IOException { .add(createCallback(url.toString(), true, Set.of("contract.negotiation", "transfer.process"))) .build(); - SOKRATES.negotiateEdr(PLATO, assetId, callbacks); + var contractNegotiationId = SOKRATES.negotiateEdr(PLATO, assetId, callbacks); var events = expectedEvents.stream() .map(receivedEvent -> waitForEvent(server, receivedEvent)) @@ -131,7 +131,17 @@ void negotiateEdr_shouldInvokeCallbacks() throws IOException { assertThat(edrCaches).hasSize(1); + assertThat(SOKRATES.getEdrEntriesByContractNegotiationId(contractNegotiationId)).hasSize(1); + + assertThat(edrCaches).hasSize(1); + var transferProcessId = edrCaches.get(0).asJsonObject().getString("edc:transferProcessId"); + var cnId = edrCaches.get(0).asJsonObject().getString("edc:contractNegotiationId"); + var agreementId = edrCaches.get(0).asJsonObject().getString("edc:agreementId"); + + assertThat(cnId).isEqualTo(contractNegotiationId); + assertThat(SOKRATES.getEdrEntriesByAgreementId(agreementId)).hasSize(1); + var edr = SOKRATES.getEdr(transferProcessId); diff --git a/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/types/EndpointDataReferenceEntry.java b/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/types/EndpointDataReferenceEntry.java index 3e0b0a15f..a54026fe9 100644 --- a/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/types/EndpointDataReferenceEntry.java +++ b/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/types/EndpointDataReferenceEntry.java @@ -49,6 +49,9 @@ public class EndpointDataReferenceEntry extends StatefulEntity edrEntry("assetId" + i, "agreementId" + i, "tpId" + i, "contractNegotiationId" + i)) + .forEach(entry -> getStore().save(entry, edr(entry.getTransferProcessId()))); + + var entry = edrEntry("assetId", "agreementId", "tpId", "contractNegotiationId"); + getStore().save(entry, edr("edrId")); + + var filter = Criterion.Builder.newInstance() + .operandLeft("contractNegotiationId") + .operator("=") + .operandRight(entry.getContractNegotiationId()) + .build(); + + assertThat(getStore().queryForEntries(QuerySpec.Builder.newInstance().filter(filter).build())).containsOnly(entry); + } + @Test void queryEntries_providerIdQuerySpec() { IntStream.range(0, 10) diff --git a/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/TestFunctions.java b/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/TestFunctions.java index 69f07ecca..97d823275 100644 --- a/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/TestFunctions.java +++ b/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/TestFunctions.java @@ -37,12 +37,21 @@ public static EndpointDataReferenceEntry edrEntry(String assetId, String agreeme return edrEntry(assetId, agreementId, transferProcessId, NEGOTIATED); } + public static EndpointDataReferenceEntry edrEntry(String assetId, String agreementId, String transferProcessId, String contractNegotiationId) { + return edrEntry(assetId, agreementId, transferProcessId, NEGOTIATED, contractNegotiationId); + } + public static EndpointDataReferenceEntry edrEntry(String assetId, String agreementId, String transferProcessId, EndpointDataReferenceEntryStates state) { + return edrEntry(assetId, agreementId, transferProcessId, state, null); + } + + public static EndpointDataReferenceEntry edrEntry(String assetId, String agreementId, String transferProcessId, EndpointDataReferenceEntryStates state, String contractNegotiationId) { return EndpointDataReferenceEntry.Builder.newInstance() .assetId(assetId) .agreementId(agreementId) .transferProcessId(transferProcessId) .providerId(UUID.randomUUID().toString()) + .contractNegotiationId(contractNegotiationId) .state(state.code()) .build(); } From 2eefefaf9503d31ca598aba9a5c7b96da826a6d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 09:07:33 +0100 Subject: [PATCH 16/47] chore(deps): bump actions/setup-node from 3 to 4 (#852) * chore(deps): bump actions/setup-node from 3 to 4 Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * chore: update dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- .github/workflows/publish-swaggerhub.yaml | 2 +- DEPENDENCIES | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-swaggerhub.yaml b/.github/workflows/publish-swaggerhub.yaml index f9422b5ce..c0f21b627 100644 --- a/.github/workflows/publish-swaggerhub.yaml +++ b/.github/workflows/publish-swaggerhub.yaml @@ -54,7 +54,7 @@ jobs: - uses: ./.github/actions/setup-java - name: Setup node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 - name: Install Swagger CLI run: | diff --git a/DEPENDENCIES b/DEPENDENCIES index 2c23bcd70..f775d593c 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -81,13 +81,13 @@ maven/mavencentral/com.squareup.okhttp3/mockwebserver3/5.0.0-alpha.11, Apache-2. maven/mavencentral/com.squareup.okhttp3/okhttp-dnsoverhttps/4.11.0, Apache-2.0, approved, clearlydefined maven/mavencentral/com.squareup.okhttp3/okhttp-jvm/5.0.0-alpha.11, Apache-2.0, approved, #9263 maven/mavencentral/com.squareup.okhttp3/okhttp/4.11.0, Apache-2.0, approved, #9240 -maven/mavencentral/com.squareup.okhttp3/okhttp/4.12.0, , restricted, clearlydefined +maven/mavencentral/com.squareup.okhttp3/okhttp/4.12.0, Apache-2.0, approved, #11156 maven/mavencentral/com.squareup.okhttp3/okhttp/4.9.3, Apache-2.0 AND MPL-2.0, approved, #3225 maven/mavencentral/com.squareup.okhttp3/okhttp/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined maven/mavencentral/com.squareup.okio/okio-jvm/3.2.0, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.squareup.okio/okio-jvm/3.6.0, , restricted, clearlydefined +maven/mavencentral/com.squareup.okio/okio-jvm/3.6.0, Apache-2.0, approved, #11158 maven/mavencentral/com.squareup.okio/okio/3.2.0, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.squareup.okio/okio/3.6.0, , restricted, clearlydefined +maven/mavencentral/com.squareup.okio/okio/3.6.0, Apache-2.0, approved, #11155 maven/mavencentral/com.sun.activation/jakarta.activation/2.0.0, EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jaf maven/mavencentral/commons-beanutils/commons-beanutils/1.9.4, Apache-2.0, approved, CQ12654 maven/mavencentral/commons-codec/commons-codec/1.11, Apache-2.0 AND BSD-3-Clause, approved, CQ15971 From e1ae22e562682f4b98ca928903c4e2704e1d2551 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 09:22:28 +0100 Subject: [PATCH 17/47] chore(deps): bump com.bmuschko.docker-remote-api from 9.3.4 to 9.3.6 (#851) Bumps com.bmuschko.docker-remote-api from 9.3.4 to 9.3.6. --- updated-dependencies: - dependency-name: com.bmuschko.docker-remote-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 075c7df9a..70e2172b1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,7 +26,7 @@ plugins { `maven-publish` `jacoco-report-aggregation` id("com.github.johnrengelman.shadow") version "8.1.1" - id("com.bmuschko.docker-remote-api") version "9.3.4" + id("com.bmuschko.docker-remote-api") version "9.3.6" id("io.github.gradle-nexus.publish-plugin") version "1.3.0" } From 15e6befd10d53606490508ab7b53d6375905a4dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 09:36:02 +0100 Subject: [PATCH 18/47] chore(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp from 2.15.2 to 2.15.3 (#850) * chore(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp Bumps [com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp](https://github.com/FasterXML/jackson-datatypes-misc) from 2.15.2 to 2.15.3. - [Commits](https://github.com/FasterXML/jackson-datatypes-misc/compare/jackson-datatypes-misc-parent-2.15.2...jackson-datatypes-misc-parent-2.15.3) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * chore: update dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 18 +++++++++++++----- gradle/libs.versions.toml | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index f775d593c..586c2d788 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -23,34 +23,41 @@ maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.14.1, Apache maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.14.2, Apache-2.0, approved, #5303 maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.15.1, Apache-2.0, approved, #7947 maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.15.2, Apache-2.0, approved, #7947 +maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.15.3, Apache-2.0, approved, #7947 maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.13.5, Apache-2.0, approved, #2133 maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.14.2, Apache-2.0 AND MIT, approved, #4303 maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.15.1, MIT AND Apache-2.0, approved, #7932 maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.15.2, MIT AND Apache-2.0, approved, #7932 +maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.15.3, MIT AND Apache-2.0, approved, #7932 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.13.4.2, Apache-2.0, approved, #2134 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.13.5, Apache-2.0, approved, #2134 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.14.1, Apache-2.0, approved, #4105 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.14.2, Apache-2.0, approved, #4105 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.15.1, Apache-2.0, approved, #7934 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.15.2, Apache-2.0, approved, #7934 +maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.15.3, Apache-2.0, approved, #7934 maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-toml/2.15.2, Apache-2.0, approved, #9160 +maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-toml/2.15.3, Apache-2.0, approved, #9160 maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-xml/2.13.5, Apache-2.0, approved, #3768 maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-xml/2.14.2, Apache-2.0, approved, #4300 -maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-xml/2.15.2, Apache-2.0, approved, #9237 +maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-xml/2.15.3, Apache-2.0, approved, #9237 maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.15.1, Apache-2.0, approved, #8802 -maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.15.2, Apache-2.0, approved, #8802 +maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.15.3, Apache-2.0, approved, #8802 maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jakarta-jsonp/2.15.2, Apache-2.0, approved, #9179 +maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jakarta-jsonp/2.15.3, Apache-2.0, approved, #9179 maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.13.5, Apache-2.0, approved, clearlydefined maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.14.2, Apache-2.0, approved, #4699 maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.15.1, Apache-2.0, approved, #7930 maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.15.2, Apache-2.0, approved, #7930 -maven/mavencentral/com.fasterxml.jackson.jakarta.rs/jackson-jakarta-rs-base/2.15.2, Apache-2.0, approved, #9235 +maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.15.3, Apache-2.0, approved, #7930 +maven/mavencentral/com.fasterxml.jackson.jakarta.rs/jackson-jakarta-rs-base/2.15.3, Apache-2.0, approved, #9235 maven/mavencentral/com.fasterxml.jackson.jakarta.rs/jackson-jakarta-rs-json-provider/2.15.1, Apache-2.0, approved, #9236 -maven/mavencentral/com.fasterxml.jackson.jakarta.rs/jackson-jakarta-rs-json-provider/2.15.2, Apache-2.0, approved, #9236 +maven/mavencentral/com.fasterxml.jackson.jakarta.rs/jackson-jakarta-rs-json-provider/2.15.3, Apache-2.0, approved, #9236 maven/mavencentral/com.fasterxml.jackson.module/jackson-module-jakarta-xmlbind-annotations/2.14.1, Apache-2.0, approved, #5308 -maven/mavencentral/com.fasterxml.jackson.module/jackson-module-jakarta-xmlbind-annotations/2.15.2, Apache-2.0, approved, #9241 +maven/mavencentral/com.fasterxml.jackson.module/jackson-module-jakarta-xmlbind-annotations/2.15.3, Apache-2.0, approved, #9241 maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.1, Apache-2.0, approved, #7929 maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.2, Apache-2.0, approved, #7929 +maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.3, Apache-2.0, approved, #7929 maven/mavencentral/com.fasterxml.woodstox/woodstox-core/6.5.1, Apache-2.0, approved, #7950 maven/mavencentral/com.github.docker-java/docker-java-api/3.3.3, Apache-2.0, approved, #10346 maven/mavencentral/com.github.docker-java/docker-java-transport-zerodep/3.3.3, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #7946 @@ -450,6 +457,7 @@ maven/mavencentral/org.testcontainers/testcontainers/1.19.0, Apache-2.0 AND MIT, maven/mavencentral/org.testcontainers/testcontainers/1.19.1, Apache-2.0 AND MIT, approved, #10347 maven/mavencentral/org.testcontainers/vault/1.19.1, MIT, approved, #10852 maven/mavencentral/org.yaml/snakeyaml/2.0, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #7275 +maven/mavencentral/org.yaml/snakeyaml/2.1, Apache-2.0, approved, #9847 maven/mavencentral/org.yaml/snakeyaml/2.2, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #10232 maven/mavencentral/software.amazon.awssdk/annotations/2.20.146, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/annotations/2.21.5, Apache-2.0, approved, #11137 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6a70e7f22..399b4f093 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -20,7 +20,7 @@ rsApi = "3.1.0" jupiter = "5.10.0" assertj = "3.24.2" titanium = "1.3.2" -jackson = "2.15.2" +jackson = "2.15.3" jakarta-json = "2.0.1" tink = "1.11.0" iron-vc = "0.8.1" From abb36675f19094cddd52d8152f91613287061fab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 10:27:30 +0100 Subject: [PATCH 19/47] chore(deps): bump apache-sshd from 2.10.0 to 2.11.0 (#848) * chore(deps): bump apache-sshd from 2.10.0 to 2.11.0 Bumps `apache-sshd` from 2.10.0 to 2.11.0. Updates `org.apache.sshd:sshd-core` from 2.10.0 to 2.11.0 - [Release notes](https://github.com/apache/mina-sshd/releases) - [Changelog](https://github.com/apache/mina-sshd/blob/master/CHANGES.md) - [Commits](https://github.com/apache/mina-sshd/compare/sshd-2.10.0...sshd-2.11.0) Updates `org.apache.sshd:sshd-sftp` from 2.10.0 to 2.11.0 - [Release notes](https://github.com/apache/mina-sshd/releases) - [Changelog](https://github.com/apache/mina-sshd/blob/master/CHANGES.md) - [Commits](https://github.com/apache/mina-sshd/compare/sshd-2.10.0...sshd-2.11.0) --- updated-dependencies: - dependency-name: org.apache.sshd:sshd-core dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.apache.sshd:sshd-sftp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * chore: update dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 6 +++--- gradle/libs.versions.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 586c2d788..60322c81e 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -214,9 +214,9 @@ maven/mavencentral/org.apache.groovy/groovy/4.0.11, Apache-2.0 AND BSD-3-Clause maven/mavencentral/org.apache.httpcomponents/httpclient/4.5.13, Apache-2.0 AND LicenseRef-Public-Domain, approved, CQ23527 maven/mavencentral/org.apache.httpcomponents/httpcore/4.4.13, Apache-2.0, approved, CQ23528 maven/mavencentral/org.apache.httpcomponents/httpmime/4.5.13, Apache-2.0, approved, CQ11718 -maven/mavencentral/org.apache.sshd/sshd-common/2.10.0, Apache-2.0 AND ISC, approved, #8454 -maven/mavencentral/org.apache.sshd/sshd-core/2.10.0, Apache-2.0, approved, #8455 -maven/mavencentral/org.apache.sshd/sshd-sftp/2.10.0, Apache-2.0, approved, #8457 +maven/mavencentral/org.apache.sshd/sshd-common/2.11.0, Apache-2.0 AND ISC, approved, #11101 +maven/mavencentral/org.apache.sshd/sshd-core/2.11.0, Apache-2.0, approved, #11100 +maven/mavencentral/org.apache.sshd/sshd-sftp/2.11.0, Apache-2.0, approved, #11103 maven/mavencentral/org.apiguardian/apiguardian-api/1.1.2, Apache-2.0, approved, clearlydefined maven/mavencentral/org.assertj/assertj-core/3.24.2, Apache-2.0, approved, #6161 maven/mavencentral/org.awaitility/awaitility/4.2.0, Apache-2.0, approved, clearlydefined diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 399b4f093..b1c49479c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ mockwebserver = "5.0.0-alpha.11" bouncyCastle-jdk18on = "1.76" mockito = "5.2.0" restAssured = "5.3.2" -apache-sshd = "2.10.0" +apache-sshd = "2.11.0" testcontainers = "1.19.1" aws = "2.21.5" rsApi = "3.1.0" From 71c78e093cd9f1419037dbdc5cf59dda1a9506b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 09:05:23 +0100 Subject: [PATCH 20/47] chore(deps): bump helm/chart-testing-action from 2.4.0 to 2.6.1 (#861) * chore(deps): bump helm/chart-testing-action from 2.4.0 to 2.6.1 Bumps [helm/chart-testing-action](https://github.com/helm/chart-testing-action) from 2.4.0 to 2.6.1. - [Release notes](https://github.com/helm/chart-testing-action/releases) - [Commits](https://github.com/helm/chart-testing-action/compare/v2.4.0...v2.6.1) --- updated-dependencies: - dependency-name: helm/chart-testing-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * chore: dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- .github/workflows/helm-lint.yaml | 2 +- DEPENDENCIES | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/helm-lint.yaml b/.github/workflows/helm-lint.yaml index ead85858a..663cb1a7a 100644 --- a/.github/workflows/helm-lint.yaml +++ b/.github/workflows/helm-lint.yaml @@ -56,7 +56,7 @@ jobs: with: python-version: 3.7 - name: chart-testing (setup) - uses: helm/chart-testing-action@v2.4.0 + uses: helm/chart-testing-action@v2.6.1 ##################### ### Chart Testing ### ##################### diff --git a/DEPENDENCIES b/DEPENDENCIES index 60322c81e..2daf3e256 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -157,7 +157,7 @@ maven/mavencentral/io.opentelemetry/opentelemetry-context/1.29.0, Apache-2.0, ap maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.34, Apache-2.0, approved, #9687 maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.38, Apache-2.0, approved, #9687 maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.34, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.38, , restricted, clearlydefined +maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.38, Apache-2.0, approved, clearlydefined maven/mavencentral/io.projectreactor/reactor-core/3.4.31, Apache-2.0, approved, #7517 maven/mavencentral/io.projectreactor/reactor-core/3.4.33, Apache-2.0, approved, #7517 maven/mavencentral/io.rest-assured/json-path/5.3.2, Apache-2.0, approved, #9261 @@ -166,7 +166,7 @@ maven/mavencentral/io.rest-assured/rest-assured/5.3.2, Apache-2.0, approved, #92 maven/mavencentral/io.rest-assured/xml-path/5.3.2, Apache-2.0, approved, #9267 maven/mavencentral/io.setl/rdf-urdna/1.1, Apache-2.0, approved, clearlydefined maven/mavencentral/io.swagger.core.v3/swagger-annotations-jakarta/2.2.15, Apache-2.0, approved, #5947 -maven/mavencentral/io.swagger.core.v3/swagger-annotations/2.2.15, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.swagger.core.v3/swagger-annotations/2.2.15, Apache-2.0, approved, #11362 maven/mavencentral/io.swagger.core.v3/swagger-core-jakarta/2.2.15, Apache-2.0, approved, #5929 maven/mavencentral/io.swagger.core.v3/swagger-core/2.2.15, Apache-2.0, approved, #9265 maven/mavencentral/io.swagger.core.v3/swagger-integration-jakarta/2.2.15, Apache-2.0, approved, clearlydefined From 8721c0e4da22e3fa641d5534877186b6e0d07b30 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Mon, 6 Nov 2023 13:42:24 +0100 Subject: [PATCH 21/47] feat: handling renewals failure (#855) * feat: hardening EDR refresh * feat: mark the transfer as completed on EDR expiration * chore: dependencies file * Update edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractRenewalEdrTest.java Co-authored-by: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> * chore: fix checkstyle --------- Co-authored-by: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> --- core/edr-core/build.gradle.kts | 1 - .../TransferProcessLocalCallback.java | 57 ++++++++++++++++--- .../tractusx/edc/callback/TestFunctions.java | 13 +++++ .../TransferProcessLocalCallbackTest.java | 41 +++++++++++++ .../edc/iam/ssi/miw/api/MiwApiClientImpl.java | 9 ++- .../iam/ssi/miw/api/MiwClientException.java | 38 +++++++++++++ .../iam/ssi/miw/api/MiwFallbackFactories.java | 55 ++++++++++++++++++ .../edc/tests/edr/AbstractRenewalEdrTest.java | 23 ++++++-- 8 files changed, 223 insertions(+), 14 deletions(-) create mode 100644 edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwClientException.java create mode 100644 edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwFallbackFactories.java diff --git a/core/edr-core/build.gradle.kts b/core/edr-core/build.gradle.kts index c8fe53456..2b136f325 100644 --- a/core/edr-core/build.gradle.kts +++ b/core/edr-core/build.gradle.kts @@ -28,7 +28,6 @@ dependencies { implementation(project(":spi:edr-spi")) implementation(project(":spi:core-spi")) - testImplementation(libs.edc.junit) testImplementation(libs.awaitility) testImplementation(testFixtures(project(":spi:edr-spi"))) diff --git a/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallback.java b/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallback.java index b05593f2e..6d7774bf8 100644 --- a/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallback.java +++ b/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallback.java @@ -18,6 +18,7 @@ import org.eclipse.edc.connector.spi.callback.CallbackEventRemoteMessage; import org.eclipse.edc.connector.spi.contractagreement.ContractAgreementService; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessStarted; +import org.eclipse.edc.connector.transfer.spi.event.TransferProcessTerminated; import org.eclipse.edc.connector.transfer.spi.store.TransferProcessStore; import org.eclipse.edc.spi.event.Event; import org.eclipse.edc.spi.monitor.Monitor; @@ -36,6 +37,7 @@ import java.time.ZoneOffset; import static java.lang.String.format; +import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntryStates.REFRESHING; public class TransferProcessLocalCallback implements InProcessCallback { @@ -59,14 +61,28 @@ public TransferProcessLocalCallback(EndpointDataReferenceCache edrCache, Transfe @Override public Result invoke(CallbackEventRemoteMessage message) { - if (message.getEventEnvelope().getPayload() instanceof TransferProcessStarted transferProcessStarted) { - if (transferProcessStarted.getDataAddress() != null) { - return transformerRegistry.transform(transferProcessStarted.getDataAddress(), EndpointDataReference.class) - .compose(this::storeEdr) - .mapTo(); - } + if (message.getEventEnvelope().getPayload() instanceof TransferProcessStarted transferProcessStarted && transferProcessStarted.getDataAddress() != null) { + return transformerRegistry.transform(transferProcessStarted.getDataAddress(), EndpointDataReference.class) + .compose(this::storeEdr) + .mapTo(); + } else if (message.getEventEnvelope().getPayload() instanceof TransferProcessTerminated terminated && terminated.getReason() != null) { + return handleTransferProcessTermination(terminated); + } else { + return Result.success(); } - return Result.success(); + } + + private Result handleTransferProcessTermination(TransferProcessTerminated terminated) { + return transactionContext.execute(() -> { + var transferProcess = transferProcessStore.findById(terminated.getTransferProcessId()); + if (transferProcess != null) { + stopEdrNegotiation(transferProcess.getDataRequest().getAssetId(), transferProcess.getDataRequest().getContractId(), terminated.getReason()); + return Result.success(); + } else { + return Result.failure(format("Failed to find a transfer process with ID %s", terminated.getTransferProcessId())); + } + }); + } private Result storeEdr(EndpointDataReference edr) { @@ -107,6 +123,21 @@ private Result storeEdr(EndpointDataReference edr) { } + private void stopEdrNegotiation(String assetId, String agreementId, String errorDetail) { + var querySpec = QuerySpec.Builder.newInstance() + .filter(fieldFilter("agreementId", agreementId)) + .filter(fieldFilter("assetId", assetId)) + .filter(fieldFilter("state", REFRESHING.code())) + .build(); + + edrCache.queryForEntries(querySpec).forEach((entry -> { + monitor.debug(format("Transitioning EDR to Error Refreshing for transfer process %s", entry.getTransferProcessId())); + entry.setErrorDetail(errorDetail); + entry.transitionError(); + edrCache.update(entry); + })); + } + private void cleanOldEdr(String assetId, String agreementId) { var querySpec = QuerySpec.Builder.newInstance() .filter(fieldFilter("agreementId", agreementId)) @@ -117,6 +148,16 @@ private void cleanOldEdr(String assetId, String agreementId) { monitor.debug(format("Expiring EDR for transfer process %s", entry.getTransferProcessId())); entry.transitionToExpired(); edrCache.update(entry); + + var transferProcess = transferProcessStore.findById(entry.getTransferProcessId()); + + if (transferProcess != null && transferProcess.canBeCompleted()) { + transferProcess.transitionCompleting(); + transferProcessStore.save(transferProcess); + } else { + monitor.info(format("Cannot terminate transfer process with id: %s", entry.getTransferProcessId())); + } + })); } @@ -138,7 +179,7 @@ private Result extractExpirationTime(EndpointDataReference edr) { return Result.success(0L); } - private Criterion fieldFilter(String field, String value) { + private Criterion fieldFilter(String field, Object value) { return Criterion.Builder.newInstance() .operandLeft(field) .operator("=") diff --git a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TestFunctions.java b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TestFunctions.java index a44b2fe4e..1884b9d60 100644 --- a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TestFunctions.java +++ b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TestFunctions.java @@ -26,6 +26,7 @@ import org.eclipse.edc.connector.contract.spi.types.agreement.ContractAgreement; import org.eclipse.edc.connector.spi.callback.CallbackEventRemoteMessage; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessStarted; +import org.eclipse.edc.connector.transfer.spi.event.TransferProcessTerminated; import org.eclipse.edc.policy.model.Policy; import org.eclipse.edc.spi.event.Event; import org.eclipse.edc.spi.event.EventEnvelope; @@ -80,6 +81,18 @@ public static TransferProcessStarted getTransferProcessStartedEvent(DataAddress .build(); } + public static TransferProcessTerminated getTransferTerminatedEvent(String transferProcessId, String reason) { + return TransferProcessTerminated.Builder.newInstance() + .callbackAddresses(List.of(CallbackAddress.Builder.newInstance() + .uri("local://test") + .events(Set.of("test")) + .transactional(true) + .build())) + .reason(reason) + .transferProcessId(transferProcessId) + .build(); + } + public static EndpointDataReference getEdr() { return EndpointDataReference.Builder.newInstance() .id("dataRequestId") diff --git a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallbackTest.java b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallbackTest.java index b64b82e89..84dc5eb0a 100644 --- a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallbackTest.java +++ b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TransferProcessLocalCallbackTest.java @@ -52,7 +52,9 @@ import static org.eclipse.edc.spi.types.domain.edr.EndpointDataReference.EDR_SIMPLE_TYPE; import static org.eclipse.tractusx.edc.callback.TestFunctions.getEdr; import static org.eclipse.tractusx.edc.callback.TestFunctions.getTransferProcessStartedEvent; +import static org.eclipse.tractusx.edc.callback.TestFunctions.getTransferTerminatedEvent; import static org.eclipse.tractusx.edc.callback.TestFunctions.remoteMessage; +import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntryStates.REFRESHING; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.ArgumentMatchers.eq; @@ -182,6 +184,45 @@ void invoke_shouldFail_withInvalidDataAddress() { verifyNoInteractions(transferProcessStore); } + @Test + void invoke_shouldStopEdrNegotiation_whenTerminatedMessageReceived() { + + var transferProcessId = "transferProcessId"; + var assetId = "assetId"; + var contractId = "contractId"; + var edr = getEdr(); + + var dataRequest = DataRequest.Builder.newInstance().id(edr.getId()) + .destinationType("HttpProxy") + .assetId(assetId) + .contractId(contractId) + .build(); + + var transferProcess = TransferProcess.Builder.newInstance() + .id(transferProcessId) + .dataRequest(dataRequest) + .build(); + + var edrEntry = EndpointDataReferenceEntry.Builder.newInstance() + .agreementId(contractId) + .transferProcessId(transferProcessId) + .assetId(assetId) + .state(REFRESHING.code()) + .build(); + + when(transferProcessStore.findById(transferProcessId)).thenReturn(transferProcess); + when(edrCache.queryForEntries(any())).thenReturn(Stream.of(edrEntry)); + + var event = getTransferTerminatedEvent(transferProcessId, "Failure"); + var message = remoteMessage(event); + + var result = callback.invoke(message); + assertThat(result.succeeded()).isTrue(); + + verify(edrCache).update(argThat(entry -> entry.getState() == EndpointDataReferenceEntryStates.ERROR.code())); + + } + @ParameterizedTest @ArgumentsSource(EventInstances.class) void invoke_shouldIgnoreOtherEvents(TransferProcessEvent event) { diff --git a/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImpl.java b/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImpl.java index c8de50c4b..09ea5d058 100644 --- a/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImpl.java +++ b/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImpl.java @@ -36,6 +36,7 @@ import java.util.Set; import static java.lang.String.format; +import static org.eclipse.tractusx.edc.iam.ssi.miw.api.MiwFallbackFactories.retryWhenStatusIsNotIn; public class MiwApiClientImpl implements MiwApiClient { @@ -144,8 +145,14 @@ private Result handleVerifyResult(Map response) { } private Result executeRequest(Request request, TypeReference typeReference) { - try (var response = httpClient.execute(request)) { + try (var response = httpClient.execute(request, List.of(retryWhenStatusIsNotIn(200, 201)))) { return handleResponse(response, typeReference); + } catch (MiwClientException e) { + if (e.getResponse() != null) { + return handleError(e.getResponse()); + } else { + return Result.failure(e.getMessage()); + } } catch (IOException e) { return Result.failure(e.getMessage()); } diff --git a/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwClientException.java b/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwClientException.java new file mode 100644 index 000000000..e241c6981 --- /dev/null +++ b/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwClientException.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) + * + * 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: + * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation + * + */ + +package org.eclipse.tractusx.edc.iam.ssi.miw.api; + +import okhttp3.Response; +import org.eclipse.edc.spi.http.EdcHttpClientException; + +/** + * Custom client exception for handling failure and retries when fetching data from MIW. + */ +public class MiwClientException extends EdcHttpClientException { + private final Response response; + + public MiwClientException(String message) { + this(message, null); + } + + public MiwClientException(String message, Response response) { + super(message); + this.response = response; + } + + public Response getResponse() { + return response; + } +} diff --git a/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwFallbackFactories.java b/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwFallbackFactories.java new file mode 100644 index 000000000..fdc07f5fa --- /dev/null +++ b/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwFallbackFactories.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) + * + * 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: + * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation + * + */ + +package org.eclipse.tractusx.edc.iam.ssi.miw.api; + +import dev.failsafe.Fallback; +import dev.failsafe.event.ExecutionAttemptedEvent; +import dev.failsafe.function.CheckedFunction; +import okhttp3.Response; +import org.eclipse.edc.spi.http.FallbackFactory; + +import java.util.Arrays; +import java.util.stream.Collectors; + +import static java.lang.String.format; + +public interface MiwFallbackFactories { + + static FallbackFactory retryWhenStatusIsNot(int status) { + return retryWhenStatusIsNotIn(status); + } + + /** + * Verifies that the response has a specific statuses, otherwise it should be retried + * + * @return the {@link FallbackFactory} + */ + static FallbackFactory retryWhenStatusIsNotIn(int... status) { + var codes = Arrays.stream(status).boxed().collect(Collectors.toSet()); + return request -> { + CheckedFunction, Exception> exceptionSupplier = event -> { + var response = event.getLastResult(); + if (response == null) { + return new MiwClientException(event.getLastException().getMessage()); + } else { + return new MiwClientException(format("Server response to %s was not one of %s but was %s", request, Arrays.toString(status), response.code()), response); + } + }; + return Fallback.builderOfException(exceptionSupplier) + .handleResultIf(r -> !codes.contains(r.code())) + .build(); + }; + } +} diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractRenewalEdrTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractRenewalEdrTest.java index 3fceac948..e1314d733 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractRenewalEdrTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractRenewalEdrTest.java @@ -15,11 +15,11 @@ package org.eclipse.tractusx.edc.tests.edr; import jakarta.json.Json; -import jakarta.json.JsonArrayBuilder; import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; import org.assertj.core.api.Condition; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessStarted; +import org.eclipse.edc.connector.transfer.spi.types.TransferProcessStates; import org.eclipse.edc.policy.model.Operator; import org.eclipse.tractusx.edc.lifecycle.Participant; import org.junit.jupiter.api.AfterEach; @@ -38,6 +38,7 @@ import static org.assertj.core.api.Assertions.anyOf; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; +import static org.awaitility.pollinterval.FibonacciPollInterval.fibonacci; import static org.eclipse.edc.spi.CoreConstants.EDC_NAMESPACE; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntryStates.EXPIRED; import static org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntryStates.NEGOTIATED; @@ -108,21 +109,35 @@ void negotiateEdr_shouldRenewTheEdr() throws IOException { assertThat(expectedEvents).usingRecursiveFieldByFieldElementComparator().containsAll(events); - JsonArrayBuilder edrCaches = Json.createArrayBuilder(); + var edrCachesBuilder = Json.createArrayBuilder(); await().atMost(ASYNC_TIMEOUT) .pollInterval(ASYNC_POLL_INTERVAL) .untilAsserted(() -> { var localEdrCaches = SOKRATES.getEdrEntriesByAssetId(assetId); assertThat(localEdrCaches).hasSizeGreaterThan(1); - localEdrCaches.forEach(edrCaches::add); + localEdrCaches.forEach(edrCachesBuilder::add); }); + var edrCaches = edrCachesBuilder.build(); - assertThat(edrCaches.build()) + assertThat(edrCaches) .extracting(json -> json.asJsonObject().getJsonString("tx:edrState").getString()) .areAtMost(1, anyOf(stateCondition(NEGOTIATED.name(), "Negotiated"), stateCondition(REFRESHING.name(), "Refreshing"))) .areAtLeast(1, stateCondition(EXPIRED.name(), "Expired")); + + var transferProcessId = edrCaches.stream() + .filter(json -> json.asJsonObject().getJsonString("tx:edrState").getString().equals(EXPIRED.name())) + .map(json -> json.asJsonObject().getJsonString("edc:transferProcessId").getString()) + .findFirst() + .orElseThrow(); + + await().pollInterval(fibonacci()) + .atMost(ASYNC_TIMEOUT) + .untilAsserted(() -> { + var tpState = SOKRATES.getTransferProcessState(transferProcessId); + assertThat(tpState).isNotNull().isEqualTo(TransferProcessStates.COMPLETED.toString()); + }); } From 6771394b5b2d335857c79914cf25c584cafd3667 Mon Sep 17 00:00:00 2001 From: Kilian Haag Date: Tue, 14 Nov 2023 15:36:35 +0100 Subject: [PATCH 22/47] fix(helm): Replace deprecated WEB_HTTP_IDS_* --- .../templates/deployment-runtime.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/tractusx-connector-memory/templates/deployment-runtime.yaml b/charts/tractusx-connector-memory/templates/deployment-runtime.yaml index 4df159470..abb51e2bd 100644 --- a/charts/tractusx-connector-memory/templates/deployment-runtime.yaml +++ b/charts/tractusx-connector-memory/templates/deployment-runtime.yaml @@ -196,9 +196,9 @@ spec: value: {{ .Values.runtime.endpoints.control.port | quote }} - name: "WEB_HTTP_CONTROL_PATH" value: {{ .Values.runtime.endpoints.control.path | quote }} - - name: "WEB_HTTP_IDS_PORT" + - name: "WEB_HTTP_PROTOCOL_PORT" value: {{ .Values.runtime.endpoints.protocol.port | quote }} - - name: "WEB_HTTP_IDS_PATH" + - name: "WEB_HTTP_PROTOCOL_PATH" value: {{ .Values.runtime.endpoints.protocol.path | quote }} - name: "WEB_HTTP_PUBLIC_PORT" value: {{ .Values.runtime.endpoints.public.port | quote }} From d7afdefc96be00296dce5d4d265833288d58e7f2 Mon Sep 17 00:00:00 2001 From: Kilian Haag Date: Thu, 16 Nov 2023 10:45:49 +0100 Subject: [PATCH 23/47] chore(deps): Update DEPENDENCIES --- DEPENDENCIES | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 2daf3e256..971940540 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -8,7 +8,7 @@ maven/mavencentral/com.azure/azure-core-http-netty/1.13.7, MIT AND Apache-2.0, a maven/mavencentral/com.azure/azure-core-http-netty/1.13.9, MIT AND Apache-2.0, approved, #7948 maven/mavencentral/com.azure/azure-core/1.42.0, MIT AND Apache-2.0, approved, #10089 maven/mavencentral/com.azure/azure-core/1.43.0, MIT AND Apache-2.0, approved, #10548 -maven/mavencentral/com.azure/azure-core/1.44.1, , restricted, clearlydefined +maven/mavencentral/com.azure/azure-core/1.44.1, MIT, approved, clearlydefined maven/mavencentral/com.azure/azure-identity/1.10.1, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-identity/1.10.4, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-json/1.1.0, MIT AND Apache-2.0, approved, #10547 @@ -138,7 +138,7 @@ maven/mavencentral/io.netty/netty-resolver/4.1.94.Final, Apache-2.0 AND BSD-3-Cl maven/mavencentral/io.netty/netty-tcnative-boringssl-static/2.0.61.Final, Apache-2.0 OR LicenseRef-Public-Domain OR BSD-2-Clause OR MIT, approved, CQ15280 maven/mavencentral/io.netty/netty-tcnative-boringssl-static/2.0.62.Final, Apache-2.0 OR LicenseRef-Public-Domain OR BSD-2-Clause OR MIT, approved, CQ15280 maven/mavencentral/io.netty/netty-tcnative-classes/2.0.61.Final, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.netty/netty-tcnative-classes/2.0.62.Final, , restricted, clearlydefined +maven/mavencentral/io.netty/netty-tcnative-classes/2.0.62.Final, Apache-2.0, approved, clearlydefined maven/mavencentral/io.netty/netty-transport-classes-epoll/4.1.100.Final, Apache-2.0, approved, #6366 maven/mavencentral/io.netty/netty-transport-classes-epoll/4.1.94.Final, Apache-2.0, approved, #6366 maven/mavencentral/io.netty/netty-transport-classes-kqueue/4.1.100.Final, Apache-2.0, approved, #4107 @@ -169,9 +169,9 @@ maven/mavencentral/io.swagger.core.v3/swagger-annotations-jakarta/2.2.15, Apache maven/mavencentral/io.swagger.core.v3/swagger-annotations/2.2.15, Apache-2.0, approved, #11362 maven/mavencentral/io.swagger.core.v3/swagger-core-jakarta/2.2.15, Apache-2.0, approved, #5929 maven/mavencentral/io.swagger.core.v3/swagger-core/2.2.15, Apache-2.0, approved, #9265 -maven/mavencentral/io.swagger.core.v3/swagger-integration-jakarta/2.2.15, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.swagger.core.v3/swagger-integration-jakarta/2.2.15, Apache-2.0, approved, #11475 maven/mavencentral/io.swagger.core.v3/swagger-integration/2.2.15, Apache-2.0, approved, #10352 -maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2-jakarta/2.2.15, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2-jakarta/2.2.15, Apache-2.0, approved, #11477 maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2/2.2.15, Apache-2.0, approved, #9814 maven/mavencentral/io.swagger.core.v3/swagger-models-jakarta/2.2.15, Apache-2.0, approved, #5919 maven/mavencentral/io.swagger.core.v3/swagger-models/2.2.15, Apache-2.0, approved, #10353 @@ -498,7 +498,7 @@ maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.146, Apache-2.0, ap maven/mavencentral/software.amazon.awssdk/protocol-core/2.21.5, Apache-2.0, approved, #11141 maven/mavencentral/software.amazon.awssdk/regions/2.20.146, Apache-2.0, approved, #8632 maven/mavencentral/software.amazon.awssdk/regions/2.21.5, Apache-2.0, approved, #11142 -maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.21.5, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.21.5, Apache-2.0, approved, clearlydefined maven/mavencentral/software.amazon.awssdk/s3/2.20.146, Apache-2.0, approved, #8623 maven/mavencentral/software.amazon.awssdk/s3/2.21.5, Apache-2.0, approved, #11135 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.146, Apache-2.0, approved, #8611 From 0e9fc0c3ebf62a5ec1a09a2c20743ec65dda1aac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Nov 2023 09:21:32 +0100 Subject: [PATCH 24/47] chore(deps): bump mikefarah/yq from 4.35.2 to 4.40.1 (#873) * chore(deps): bump mikefarah/yq from 4.35.2 to 4.40.1 Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.35.2 to 4.40.1. - [Release notes](https://github.com/mikefarah/yq/releases) - [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt) - [Commits](https://github.com/mikefarah/yq/compare/v4.35.2...v4.40.1) --- updated-dependencies: - dependency-name: mikefarah/yq dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * chore: dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- .github/workflows/draft-new-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/draft-new-release.yaml b/.github/workflows/draft-new-release.yaml index 7dfba2698..399fbfbfa 100644 --- a/.github/workflows/draft-new-release.yaml +++ b/.github/workflows/draft-new-release.yaml @@ -53,7 +53,7 @@ jobs: GITHUB_PACKAGE_USERNAME: ${{ github.actor }} GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }} - name: Bump version in /charts - uses: mikefarah/yq@v4.35.2 + uses: mikefarah/yq@v4.40.1 with: cmd: |- find charts -name Chart.yaml -maxdepth 3 | xargs -n1 yq -i '.appVersion = "${{ github.event.inputs.version }}" | .version = "${{ github.event.inputs.version }}"' From 4264ca4348910cea32f07b9af308115e30056c60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Nov 2023 08:48:53 +0100 Subject: [PATCH 25/47] chore(deps): bump mikefarah/yq from 4.40.1 to 4.40.2 (#878) Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.40.1 to 4.40.2. - [Release notes](https://github.com/mikefarah/yq/releases) - [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt) - [Commits](https://github.com/mikefarah/yq/compare/v4.40.1...v4.40.2) --- updated-dependencies: - dependency-name: mikefarah/yq dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/draft-new-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/draft-new-release.yaml b/.github/workflows/draft-new-release.yaml index 399fbfbfa..20582aac7 100644 --- a/.github/workflows/draft-new-release.yaml +++ b/.github/workflows/draft-new-release.yaml @@ -53,7 +53,7 @@ jobs: GITHUB_PACKAGE_USERNAME: ${{ github.actor }} GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }} - name: Bump version in /charts - uses: mikefarah/yq@v4.40.1 + uses: mikefarah/yq@v4.40.2 with: cmd: |- find charts -name Chart.yaml -maxdepth 3 | xargs -n1 yq -i '.appVersion = "${{ github.event.inputs.version }}" | .version = "${{ github.event.inputs.version }}"' From c8e9675faf417ec5cded9537964da834d49c52cb Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Tue, 21 Nov 2023 09:21:12 +0100 Subject: [PATCH 26/47] chore: upgrade to EDC 0.4.1 (#877) * chore: upgrade to EDC 0.4.0 * DEPENDENCIES * fix tests * fix sql migration, fix tests * fix dataplane tests * DEPENDENCIES --- DEPENDENCIES | 389 +++++++++--------- .../defaults/PersistentCacheEntryTest.java | 1 + core/edr-core/build.gradle.kts | 1 - .../edc/edr/core/manager/EdrManagerImpl.java | 36 +- .../edc/edr/core/service/EdrServiceImpl.java | 2 +- .../edc/edr/core/fixtures/TestFunctions.java | 2 +- .../edr/core/manager/EdrManagerImplTest.java | 2 +- .../edr/core/service/EdrServiceImplTest.java | 16 +- .../tractusx/edc/jsonld/JsonLdExtension.java | 2 +- .../bpn-validation-api/build.gradle.kts | 1 - .../AbstractBusinessPartnerValidation.java | 32 +- ...AbstractBusinessPartnerValidationTest.java | 2 +- .../bpn-validation-spi/build.gradle.kts | 1 - .../FrameworkAgreementConstraintFunction.java | 23 +- .../cx/summary/SummaryConstraintFunction.java | 3 +- ...meworkAgreementConstraintFunctionTest.java | 4 +- .../SummaryConstraintFunctionTest.java | 4 +- .../build.gradle.kts | 1 + .../DataPlaneProxyConsumerApiExtension.java | 6 +- .../asset/ConsumerAssetRequestController.java | 26 +- .../ConsumerAssetRequestControllerTest.java | 54 ++- .../build.gradle.kts | 1 + .../DataPlaneProxyProviderApiExtension.java | 8 +- .../gateway/ProviderGatewayController.java | 17 +- edc-extensions/edr/edr-api/build.gradle.kts | 1 - .../api/edr/dto/NegotiateEdrRequestDto.java | 30 +- .../edc/api/edr/schema/EdrSchema.java | 10 +- ...ctToNegotiateEdrRequestDtoTransformer.java | 14 +- ...tDtoToNegotiatedEdrRequestTransformer.java | 6 +- .../NegotiateEdrRequestDtoValidator.java | 4 +- .../tractusx/edc/api/edr/EdrApiTest.java | 8 +- .../edc/api/edr/EdrControllerTest.java | 8 +- .../tractusx/edc/api/edr/TestFunctions.java | 2 +- ...ReferenceToDataAddressTransformerTest.java | 1 + ...NegotiateEdrRequestDtoTransformerTest.java | 12 +- ...oToNegotiateEdrRequestTransformerTest.java | 6 +- .../NegotiateEdrRequestDtoValidatorTest.java | 8 +- .../edr/edr-callback/build.gradle.kts | 2 + .../callback/ContractNegotiationCallback.java | 2 +- .../ContractNegotiationCallbackTest.java | 26 +- ...nProcessCallbackMessageDispatcherTest.java | 4 +- .../tractusx/edc/callback/TestFunctions.java | 39 +- ..._5__Alter_Asset_Internalize_Properties.sql | 54 +++ ...tractDefinition_Add_Private_Properties.sql | 16 + .../build.gradle.kts | 1 + .../AdditionalHeadersProvisioner.java | 2 +- ...nalHeadersResourceDefinitionGenerator.java | 2 +- .../AdditionalHeadersProvisionerTest.java | 2 +- ...eadersResourceDefinitionGeneratorTest.java | 4 +- .../sftp/client/SftpDataSink.java | 2 +- .../sftp/client/SftpDataSource.java | 3 + .../edc/helpers/CatalogHelperFunctions.java | 2 +- .../EdrNegotiationHelperFunctions.java | 4 +- .../tractusx/edc/lifecycle/Participant.java | 6 +- .../edc/tests/edr/AbstractDeleteEdrTest.java | 2 +- .../tests/edr/AbstractNegotiateEdrTest.java | 16 +- .../edc/tests/edr/AbstractRenewalEdrTest.java | 2 +- .../transfer/test/AzureToAzureTest.java | 18 +- .../transfer/test/MultiCloudTest.java | 13 +- .../dataplane/transfer/test/S3ToS3Test.java | 7 +- .../transfer/test/TestConstants.java | 5 +- .../proxy/e2e/DpfProxyEndToEndTest.java | 49 +-- .../dataplane/proxy/e2e/EdrCacheSetup.java | 50 +-- edc-tests/runtime/extensions/build.gradle.kts | 1 + gradle/libs.versions.toml | 5 +- spi/callback-spi/build.gradle.kts | 1 - spi/edr-spi/build.gradle.kts | 3 +- .../edc/edr/spi/service/EdrService.java | 2 +- .../edr/spi/types/NegotiateEdrRequest.java | 10 +- .../tractusx/edc/edr/spi/TestFunctions.java | 1 + 70 files changed, 602 insertions(+), 498 deletions(-) create mode 100644 edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/asset/V0_0_5__Alter_Asset_Internalize_Properties.sql create mode 100644 edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/contractdefinition/V0_0_7__Alter_ContractDefinition_Add_Private_Properties.sql diff --git a/DEPENDENCIES b/DEPENDENCIES index 971940540..eba6ff137 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -3,38 +3,33 @@ maven/mavencentral/com.apicatalog/iron-verifiable-credentials/0.8.1, Apache-2.0, maven/mavencentral/com.apicatalog/titanium-json-ld/1.0.0, Apache-2.0, approved, clearlydefined maven/mavencentral/com.apicatalog/titanium-json-ld/1.3.1, Apache-2.0, approved, #8912 maven/mavencentral/com.apicatalog/titanium-json-ld/1.3.2, Apache-2.0, approved, #8912 -maven/mavencentral/com.azure/azure-core-http-netty/1.13.6, MIT AND Apache-2.0, approved, #7948 maven/mavencentral/com.azure/azure-core-http-netty/1.13.7, MIT AND Apache-2.0, approved, #7948 maven/mavencentral/com.azure/azure-core-http-netty/1.13.9, MIT AND Apache-2.0, approved, #7948 -maven/mavencentral/com.azure/azure-core/1.42.0, MIT AND Apache-2.0, approved, #10089 maven/mavencentral/com.azure/azure-core/1.43.0, MIT AND Apache-2.0, approved, #10548 maven/mavencentral/com.azure/azure-core/1.44.1, MIT, approved, clearlydefined maven/mavencentral/com.azure/azure-identity/1.10.1, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-identity/1.10.4, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-json/1.1.0, MIT AND Apache-2.0, approved, #10547 -maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.6.5, MIT, approved, #7940 +maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.7.0, MIT, approved, #10868 maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.7.1, MIT, approved, #10868 -maven/mavencentral/com.azure/azure-storage-blob/12.24.0, MIT, approved, #10568 -maven/mavencentral/com.azure/azure-storage-common/12.23.0, MIT, approved, #10569 -maven/mavencentral/com.azure/azure-storage-internal-avro/12.9.0, MIT, approved, #10560 +maven/mavencentral/com.azure/azure-storage-blob/12.24.1, MIT, approved, #10568 +maven/mavencentral/com.azure/azure-storage-common/12.23.1, MIT, approved, #10569 +maven/mavencentral/com.azure/azure-storage-internal-avro/12.9.1, MIT, approved, #10560 maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.10.3, Apache-2.0, approved, CQ21280 maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.13.5, Apache-2.0, approved, clearlydefined maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.14.1, Apache-2.0, approved, #5303 maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.14.2, Apache-2.0, approved, #5303 maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.15.1, Apache-2.0, approved, #7947 -maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.15.2, Apache-2.0, approved, #7947 maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.15.3, Apache-2.0, approved, #7947 maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.13.5, Apache-2.0, approved, #2133 maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.14.2, Apache-2.0 AND MIT, approved, #4303 maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.15.1, MIT AND Apache-2.0, approved, #7932 -maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.15.2, MIT AND Apache-2.0, approved, #7932 maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.15.3, MIT AND Apache-2.0, approved, #7932 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.13.4.2, Apache-2.0, approved, #2134 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.13.5, Apache-2.0, approved, #2134 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.14.1, Apache-2.0, approved, #4105 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.14.2, Apache-2.0, approved, #4105 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.15.1, Apache-2.0, approved, #7934 -maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.15.2, Apache-2.0, approved, #7934 maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.15.3, Apache-2.0, approved, #7934 maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-toml/2.15.2, Apache-2.0, approved, #9160 maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-toml/2.15.3, Apache-2.0, approved, #9160 @@ -43,12 +38,10 @@ maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-xml/2.14. maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-xml/2.15.3, Apache-2.0, approved, #9237 maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.15.1, Apache-2.0, approved, #8802 maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.15.3, Apache-2.0, approved, #8802 -maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jakarta-jsonp/2.15.2, Apache-2.0, approved, #9179 maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jakarta-jsonp/2.15.3, Apache-2.0, approved, #9179 maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.13.5, Apache-2.0, approved, clearlydefined maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.14.2, Apache-2.0, approved, #4699 maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.15.1, Apache-2.0, approved, #7930 -maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.15.2, Apache-2.0, approved, #7930 maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.15.3, Apache-2.0, approved, #7930 maven/mavencentral/com.fasterxml.jackson.jakarta.rs/jackson-jakarta-rs-base/2.15.3, Apache-2.0, approved, #9235 maven/mavencentral/com.fasterxml.jackson.jakarta.rs/jackson-jakarta-rs-json-provider/2.15.1, Apache-2.0, approved, #9236 @@ -56,12 +49,14 @@ maven/mavencentral/com.fasterxml.jackson.jakarta.rs/jackson-jakarta-rs-json-prov maven/mavencentral/com.fasterxml.jackson.module/jackson-module-jakarta-xmlbind-annotations/2.14.1, Apache-2.0, approved, #5308 maven/mavencentral/com.fasterxml.jackson.module/jackson-module-jakarta-xmlbind-annotations/2.15.3, Apache-2.0, approved, #9241 maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.1, Apache-2.0, approved, #7929 -maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.2, Apache-2.0, approved, #7929 maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.3, Apache-2.0, approved, #7929 maven/mavencentral/com.fasterxml.woodstox/woodstox-core/6.5.1, Apache-2.0, approved, #7950 maven/mavencentral/com.github.docker-java/docker-java-api/3.3.3, Apache-2.0, approved, #10346 +maven/mavencentral/com.github.docker-java/docker-java-api/3.3.4, Apache-2.0, approved, #10346 maven/mavencentral/com.github.docker-java/docker-java-transport-zerodep/3.3.3, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #7946 +maven/mavencentral/com.github.docker-java/docker-java-transport-zerodep/3.3.4, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #7946 maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.3, Apache-2.0, approved, #7942 +maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.4, Apache-2.0, approved, #7942 maven/mavencentral/com.github.stephenc.jcip/jcip-annotations/1.0-1, Apache-2.0, approved, CQ21949 maven/mavencentral/com.google.code.findbugs/jsr305/3.0.2, Apache-2.0, approved, #20 maven/mavencentral/com.google.code.gson/gson/2.10.1, Apache-2.0, approved, #6159 @@ -79,15 +74,13 @@ maven/mavencentral/com.microsoft.azure/msal4j/1.4.0, MIT, approved, clearlydefin maven/mavencentral/com.nimbusds/content-type/2.2, Apache-2.0, approved, clearlydefined maven/mavencentral/com.nimbusds/lang-tag/1.7, Apache-2.0, approved, clearlydefined maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.30.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.32, Apache-2.0, approved, #10561 maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.37, Apache-2.0, approved, #11086 maven/mavencentral/com.nimbusds/oauth2-oidc-sdk/10.7.1, Apache-2.0, approved, clearlydefined maven/mavencentral/com.puppycrawl.tools/checkstyle/10.0, LGPL-2.1-or-later, approved, #7936 maven/mavencentral/com.squareup.okhttp3/mockwebserver/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined maven/mavencentral/com.squareup.okhttp3/mockwebserver3/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.squareup.okhttp3/okhttp-dnsoverhttps/4.11.0, Apache-2.0, approved, clearlydefined +maven/mavencentral/com.squareup.okhttp3/okhttp-dnsoverhttps/4.12.0, Apache-2.0, approved, #11159 maven/mavencentral/com.squareup.okhttp3/okhttp-jvm/5.0.0-alpha.11, Apache-2.0, approved, #9263 -maven/mavencentral/com.squareup.okhttp3/okhttp/4.11.0, Apache-2.0, approved, #9240 maven/mavencentral/com.squareup.okhttp3/okhttp/4.12.0, Apache-2.0, approved, #11156 maven/mavencentral/com.squareup.okhttp3/okhttp/4.9.3, Apache-2.0 AND MPL-2.0, approved, #3225 maven/mavencentral/com.squareup.okhttp3/okhttp/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined @@ -106,9 +99,9 @@ maven/mavencentral/dev.failsafe/failsafe/3.3.1, Apache-2.0, approved, #9268 maven/mavencentral/dev.failsafe/failsafe/3.3.2, Apache-2.0, approved, #9268 maven/mavencentral/info.picocli/picocli/4.6.3, Apache-2.0, approved, clearlydefined maven/mavencentral/io.github.classgraph/classgraph/4.8.154, MIT, approved, CQ22530 -maven/mavencentral/io.micrometer/micrometer-commons/1.11.4, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #9243 -maven/mavencentral/io.micrometer/micrometer-core/1.11.4, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #9238 -maven/mavencentral/io.micrometer/micrometer-observation/1.11.4, Apache-2.0, approved, #9242 +maven/mavencentral/io.micrometer/micrometer-commons/1.12.0, , restricted, clearlydefined +maven/mavencentral/io.micrometer/micrometer-core/1.12.0, , restricted, clearlydefined +maven/mavencentral/io.micrometer/micrometer-observation/1.12.0, , restricted, clearlydefined maven/mavencentral/io.netty/netty-buffer/4.1.100.Final, Apache-2.0, approved, CQ21842 maven/mavencentral/io.netty/netty-buffer/4.1.94.Final, Apache-2.0, approved, CQ21842 maven/mavencentral/io.netty/netty-codec-dns/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 @@ -151,9 +144,9 @@ maven/mavencentral/io.netty/netty-transport-native-unix-common/4.1.100.Final, Ap maven/mavencentral/io.netty/netty-transport-native-unix-common/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-transport/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.netty/netty-transport/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 -maven/mavencentral/io.opentelemetry.instrumentation/opentelemetry-instrumentation-annotations/1.29.0, Apache-2.0, approved, #10087 -maven/mavencentral/io.opentelemetry/opentelemetry-api/1.29.0, Apache-2.0, approved, #10088 -maven/mavencentral/io.opentelemetry/opentelemetry-context/1.29.0, Apache-2.0, approved, #10090 +maven/mavencentral/io.opentelemetry.instrumentation/opentelemetry-instrumentation-annotations/1.31.0, Apache-2.0, approved, #11085 +maven/mavencentral/io.opentelemetry/opentelemetry-api/1.31.0, Apache-2.0, approved, #11087 +maven/mavencentral/io.opentelemetry/opentelemetry-context/1.31.0, Apache-2.0, approved, #11088 maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.34, Apache-2.0, approved, #9687 maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.38, Apache-2.0, approved, #9687 maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.34, Apache-2.0, approved, clearlydefined @@ -166,6 +159,7 @@ maven/mavencentral/io.rest-assured/rest-assured/5.3.2, Apache-2.0, approved, #92 maven/mavencentral/io.rest-assured/xml-path/5.3.2, Apache-2.0, approved, #9267 maven/mavencentral/io.setl/rdf-urdna/1.1, Apache-2.0, approved, clearlydefined maven/mavencentral/io.swagger.core.v3/swagger-annotations-jakarta/2.2.15, Apache-2.0, approved, #5947 +maven/mavencentral/io.swagger.core.v3/swagger-annotations-jakarta/2.2.19, Apache-2.0, approved, #5947 maven/mavencentral/io.swagger.core.v3/swagger-annotations/2.2.15, Apache-2.0, approved, #11362 maven/mavencentral/io.swagger.core.v3/swagger-core-jakarta/2.2.15, Apache-2.0, approved, #5929 maven/mavencentral/io.swagger.core.v3/swagger-core/2.2.15, Apache-2.0, approved, #9265 @@ -202,11 +196,10 @@ maven/mavencentral/net.minidev/json-smart/2.4.10, Apache-2.0, approved, #3288 maven/mavencentral/net.minidev/json-smart/2.5.0, Apache-2.0, approved, clearlydefined maven/mavencentral/net.sf.saxon/Saxon-HE/10.6, MPL-2.0 AND W3C, approved, #7945 maven/mavencentral/org.antlr/antlr4-runtime/4.9.3, BSD-3-Clause, approved, #322 -maven/mavencentral/org.apache.commons/commons-compress/1.23.0, Apache-2.0 AND BSD-3-Clause, approved, #7506 maven/mavencentral/org.apache.commons/commons-compress/1.24.0, Apache-2.0 AND BSD-3-Clause AND bzip2-1.0.6 AND LicenseRef-Public-Domain, approved, #10368 maven/mavencentral/org.apache.commons/commons-lang3/3.11, Apache-2.0, approved, CQ22642 maven/mavencentral/org.apache.commons/commons-lang3/3.12.0, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.apache.commons/commons-pool2/2.11.1, Apache-2.0, approved, CQ23795 +maven/mavencentral/org.apache.commons/commons-pool2/2.12.0, Apache-2.0 AND LicenseRef-Public-Domain, approved, #10843 maven/mavencentral/org.apache.groovy/groovy-bom/4.0.11, Apache-2.0, approved, #9266 maven/mavencentral/org.apache.groovy/groovy-json/4.0.11, Apache-2.0, approved, #7411 maven/mavencentral/org.apache.groovy/groovy-xml/4.0.11, Apache-2.0, approved, #10179 @@ -227,143 +220,143 @@ maven/mavencentral/org.ccil.cowan.tagsoup/tagsoup/1.2.1, Apache-2.0, approved, c maven/mavencentral/org.checkerframework/checker-qual/3.12.0, MIT, approved, clearlydefined maven/mavencentral/org.checkerframework/checker-qual/3.31.0, MIT, approved, clearlydefined maven/mavencentral/org.codehaus.woodstox/stax2-api/4.2.1, BSD-2-Clause, approved, #2670 -maven/mavencentral/org.eclipse.edc/aggregate-service-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/api-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/api-observability/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-index-sql/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/auth-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/auth-tokenbased/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/autodoc-processor/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/aws-s3-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/aws-s3-test/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/azure-blob-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/azure-test/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/boot/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/callback-event-dispatcher/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/callback-http-dispatcher/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/configuration-filesystem/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/connector-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-agreement-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-definition-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-definition-store-sql/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-negotiation-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-negotiation-store-sql/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-api-configuration/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-aggregate-services/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-api-client-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-api-client/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/core-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-aws-s3/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-azure-storage/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-client/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-client/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-util/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-http-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/http-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/http/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/iam-mock/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-micrometer/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-providers/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jetty-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jetty-micrometer/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/json-ld-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/json-ld/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/junit/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jwt-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jwt-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/management-api-configuration/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/management-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/micrometer-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/oauth2-client/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/oauth2-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-definition-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-definition-store-sql/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-engine/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-evaluator/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-model/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-lease/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-pool-apache-commons/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/state-machine/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-local/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-data-plane/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-process-api/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-process-store-sql/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-pull-http-dynamic-receiver/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transform-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transform-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/util/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/validator-core/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/validator-spi/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/vault-azure/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/vault-hashicorp/0.3.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/web-spi/0.3.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/api-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/api-observability/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/asset-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/asset-index-sql/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/asset-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/auth-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/auth-tokenbased/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/autodoc-processor/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/aws-s3-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/aws-s3-test/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/azure-blob-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/azure-test/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/boot/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/callback-event-dispatcher/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/callback-http-dispatcher/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/catalog-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/catalog-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/catalog-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/configuration-filesystem/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/connector-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-agreement-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-definition-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-definition-store-sql/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-negotiation-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-negotiation-store-sql/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-api-configuration/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-aggregate-services/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-api-client-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-api-client/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/core-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-address-http-data-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-aws-s3/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-azure-storage/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-client/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-selector-client/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-selector-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-selector-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-util/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-http-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/http-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/http/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/iam-mock/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-micrometer/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-providers/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jetty-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jetty-micrometer/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/json-ld-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/json-ld/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/junit/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jwt-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jwt-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/management-api-configuration/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/management-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/micrometer-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/oauth2-client/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/oauth2-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-definition-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-definition-store-sql/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-engine/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-evaluator/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-model/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/sql-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/sql-lease/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/sql-pool-apache-commons/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/state-machine/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-local/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-data-plane/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-process-api/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-process-store-sql/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-pull-http-dynamic-receiver/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transform-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transform-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/util/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/validator-core/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/validator-spi/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/vault-azure/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/vault-hashicorp/0.4.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/web-spi/0.4.1, Apache-2.0, approved, technology.edc maven/mavencentral/org.eclipse.jetty.toolchain/jetty-jakarta-servlet-api/5.0.2, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty.toolchain/jetty-jakarta-websocket-api/2.0.0, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-client/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-common/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-server/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-client/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-common/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-server/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-servlet/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-alpn-client/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-annotations/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-client/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-http/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-io/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-jndi/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-plus/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-security/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-server/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-client/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-common/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-server/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-client/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-common/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-server/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-servlet/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-alpn-client/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-annotations/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-client/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-http/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-io/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-jndi/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-plus/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-security/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-server/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.flywaydb/flyway-core/9.22.3, Apache-2.0, approved, #10349 maven/mavencentral/org.glassfish.hk2.external/aopalliance-repackaged/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish maven/mavencentral/org.glassfish.hk2/hk2-api/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish @@ -392,31 +385,37 @@ maven/mavencentral/org.javassist/javassist/3.28.0-GA, Apache-2.0 OR LGPL-2.1-or- maven/mavencentral/org.javassist/javassist/3.29.2-GA, Apache-2.0 AND LGPL-2.1-or-later AND MPL-1.1, approved, #6023 maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.20, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.7.10, Apache-2.0, approved, clearlydefined +maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.8.21, Apache-2.0, approved, #8910 maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.9.10, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.20, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.7.10, Apache-2.0, approved, clearlydefined +maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.8.21, Apache-2.0, approved, #8807 maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.9.10, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.6.10, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.6.20, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.7.10, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.8.21, Apache-2.0, approved, #8919 maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.9.10, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.6.20, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.7.10, Apache-2.0, approved, clearlydefined +maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.8.21, Apache-2.0, approved, #8865 maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.9.10, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains/annotations/13.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains/annotations/17.0.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains/annotations/24.0.1, Apache-2.0, approved, #7417 maven/mavencentral/org.junit-pioneer/junit-pioneer/2.1.0, EPL-2.0, approved, #10550 maven/mavencentral/org.junit.jupiter/junit-jupiter-api/5.10.0, EPL-2.0, approved, #9714 +maven/mavencentral/org.junit.jupiter/junit-jupiter-api/5.10.1, EPL-2.0, approved, #9714 maven/mavencentral/org.junit.jupiter/junit-jupiter-api/5.9.3, EPL-2.0, approved, #3133 maven/mavencentral/org.junit.jupiter/junit-jupiter-engine/5.10.0, EPL-2.0, approved, #9711 +maven/mavencentral/org.junit.jupiter/junit-jupiter-engine/5.10.1, EPL-2.0, approved, #9711 maven/mavencentral/org.junit.jupiter/junit-jupiter-engine/5.9.3, EPL-2.0, approved, #3125 maven/mavencentral/org.junit.jupiter/junit-jupiter-params/5.10.0, EPL-2.0, approved, #9708 +maven/mavencentral/org.junit.jupiter/junit-jupiter-params/5.10.1, EPL-2.0, approved, #9708 maven/mavencentral/org.junit.platform/junit-platform-commons/1.10.0, EPL-2.0, approved, #9715 +maven/mavencentral/org.junit.platform/junit-platform-commons/1.10.1, EPL-2.0, approved, #9715 maven/mavencentral/org.junit.platform/junit-platform-engine/1.10.0, EPL-2.0, approved, #9709 -maven/mavencentral/org.junit.platform/junit-platform-launcher/1.10.0, EPL-2.0, approved, #9704 +maven/mavencentral/org.junit.platform/junit-platform-engine/1.10.1, EPL-2.0, approved, #9709 +maven/mavencentral/org.junit.platform/junit-platform-launcher/1.10.1, EPL-2.0, approved, #9704 maven/mavencentral/org.junit/junit-bom/5.10.0, EPL-2.0, approved, #9844 +maven/mavencentral/org.junit/junit-bom/5.10.1, EPL-2.0, approved, #9844 maven/mavencentral/org.junit/junit-bom/5.9.2, EPL-2.0, approved, #4711 maven/mavencentral/org.jvnet.mimepull/mimepull/1.9.15, CDDL-1.1 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, CQ21484 maven/mavencentral/org.latencyutils/LatencyUtils/2.0.3, BSD-2-Clause, approved, CQ17408 @@ -426,12 +425,12 @@ maven/mavencentral/org.objenesis/objenesis/3.3, Apache-2.0, approved, clearlydef maven/mavencentral/org.opentest4j/opentest4j/1.3.0, Apache-2.0, approved, #9713 maven/mavencentral/org.ow2.asm/asm-analysis/9.2, BSD-3-Clause, approved, clearlydefined maven/mavencentral/org.ow2.asm/asm-commons/9.2, BSD-3-Clause, approved, clearlydefined -maven/mavencentral/org.ow2.asm/asm-commons/9.5, BSD-3-Clause, approved, #7553 +maven/mavencentral/org.ow2.asm/asm-commons/9.6, BSD-3-Clause, approved, #10775 maven/mavencentral/org.ow2.asm/asm-tree/9.2, BSD-3-Clause, approved, clearlydefined -maven/mavencentral/org.ow2.asm/asm-tree/9.5, BSD-3-Clause, approved, #7555 +maven/mavencentral/org.ow2.asm/asm-tree/9.6, BSD-3-Clause, approved, #10773 maven/mavencentral/org.ow2.asm/asm/9.2, BSD-3-Clause, approved, CQ23635 maven/mavencentral/org.ow2.asm/asm/9.3, BSD-3-Clause, approved, clearlydefined -maven/mavencentral/org.ow2.asm/asm/9.5, BSD-3-Clause, approved, #7554 +maven/mavencentral/org.ow2.asm/asm/9.6, BSD-3-Clause, approved, #10776 maven/mavencentral/org.postgresql/postgresql/42.6.0, BSD-2-Clause AND Apache-2.0, approved, #9159 maven/mavencentral/org.reactivestreams/reactive-streams/1.0.4, CC0-1.0, approved, CQ16332 maven/mavencentral/org.reflections/reflections/0.10.2, Apache-2.0 AND WTFPL, approved, clearlydefined @@ -445,67 +444,73 @@ maven/mavencentral/org.slf4j/slf4j-api/1.7.36, MIT, approved, CQ13368 maven/mavencentral/org.slf4j/slf4j-api/1.7.7, MIT, approved, CQ9827 maven/mavencentral/org.slf4j/slf4j-api/2.0.5, MIT, approved, #5915 maven/mavencentral/org.slf4j/slf4j-api/2.0.9, MIT, approved, #5915 -maven/mavencentral/org.testcontainers/database-commons/1.19.0, Apache-2.0, approved, #10345 maven/mavencentral/org.testcontainers/database-commons/1.19.1, Apache-2.0, approved, #10345 -maven/mavencentral/org.testcontainers/jdbc/1.19.0, Apache-2.0, approved, #10348 +maven/mavencentral/org.testcontainers/database-commons/1.19.2, Apache-2.0, approved, #10345 maven/mavencentral/org.testcontainers/jdbc/1.19.1, Apache-2.0, approved, #10348 -maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, MIT, approved, #10344 +maven/mavencentral/org.testcontainers/jdbc/1.19.2, Apache-2.0, approved, #10348 maven/mavencentral/org.testcontainers/junit-jupiter/1.19.1, MIT, approved, #10344 -maven/mavencentral/org.testcontainers/postgresql/1.19.0, MIT, approved, #10350 +maven/mavencentral/org.testcontainers/junit-jupiter/1.19.2, MIT, approved, #10344 maven/mavencentral/org.testcontainers/postgresql/1.19.1, MIT, approved, #10350 -maven/mavencentral/org.testcontainers/testcontainers/1.19.0, Apache-2.0 AND MIT, approved, #10347 +maven/mavencentral/org.testcontainers/postgresql/1.19.2, MIT, approved, #10350 maven/mavencentral/org.testcontainers/testcontainers/1.19.1, Apache-2.0 AND MIT, approved, #10347 +maven/mavencentral/org.testcontainers/testcontainers/1.19.2, Apache-2.0 AND MIT, approved, #10347 maven/mavencentral/org.testcontainers/vault/1.19.1, MIT, approved, #10852 maven/mavencentral/org.yaml/snakeyaml/2.0, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #7275 maven/mavencentral/org.yaml/snakeyaml/2.1, Apache-2.0, approved, #9847 maven/mavencentral/org.yaml/snakeyaml/2.2, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #10232 -maven/mavencentral/software.amazon.awssdk/annotations/2.20.146, Apache-2.0, approved, #8598 +maven/mavencentral/software.amazon.awssdk/annotations/2.21.15, Apache-2.0, approved, #11137 maven/mavencentral/software.amazon.awssdk/annotations/2.21.5, Apache-2.0, approved, #11137 -maven/mavencentral/software.amazon.awssdk/apache-client/2.20.146, Apache-2.0, approved, #8609 +maven/mavencentral/software.amazon.awssdk/apache-client/2.21.15, Apache-2.0, approved, #11133 maven/mavencentral/software.amazon.awssdk/apache-client/2.21.5, Apache-2.0, approved, #11133 -maven/mavencentral/software.amazon.awssdk/arns/2.20.146, Apache-2.0, approved, #8616 +maven/mavencentral/software.amazon.awssdk/arns/2.21.15, Apache-2.0, approved, #11143 maven/mavencentral/software.amazon.awssdk/arns/2.21.5, Apache-2.0, approved, #11143 -maven/mavencentral/software.amazon.awssdk/auth/2.20.146, Apache-2.0, approved, #8602 +maven/mavencentral/software.amazon.awssdk/auth/2.21.15, Apache-2.0, approved, #11139 maven/mavencentral/software.amazon.awssdk/auth/2.21.5, Apache-2.0, approved, #11139 -maven/mavencentral/software.amazon.awssdk/aws-core/2.20.146, Apache-2.0, approved, #8612 +maven/mavencentral/software.amazon.awssdk/aws-core/2.21.15, Apache-2.0, approved, #11126 maven/mavencentral/software.amazon.awssdk/aws-core/2.21.5, Apache-2.0, approved, #11126 -maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.146, Apache-2.0, approved, #8629 +maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.21.15, Apache-2.0, approved, #11123 maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.21.5, Apache-2.0, approved, #11123 -maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.146, Apache-2.0, approved, #8624 +maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.21.15, Apache-2.0, approved, #11124 maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.21.5, Apache-2.0, approved, #11124 +maven/mavencentral/software.amazon.awssdk/checksums-spi/2.21.15, Apache-2.0, approved, #11131 maven/mavencentral/software.amazon.awssdk/checksums-spi/2.21.5, Apache-2.0, approved, #11131 +maven/mavencentral/software.amazon.awssdk/checksums/2.21.15, Apache-2.0, approved, #11134 maven/mavencentral/software.amazon.awssdk/checksums/2.21.5, Apache-2.0, approved, #11134 -maven/mavencentral/software.amazon.awssdk/crt-core/2.20.146, Apache-2.0, approved, #8627 +maven/mavencentral/software.amazon.awssdk/crt-core/2.21.15, Apache-2.0, approved, #11130 maven/mavencentral/software.amazon.awssdk/crt-core/2.21.5, Apache-2.0, approved, #11130 -maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.146, Apache-2.0, approved, #8604 +maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.21.15, Apache-2.0, approved, #11118 maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.21.5, Apache-2.0, approved, #11118 +maven/mavencentral/software.amazon.awssdk/http-auth-aws/2.21.15, Apache-2.0, approved, #11145 maven/mavencentral/software.amazon.awssdk/http-auth-aws/2.21.5, Apache-2.0, approved, #11145 +maven/mavencentral/software.amazon.awssdk/http-auth-spi/2.21.15, Apache-2.0, approved, #11128 maven/mavencentral/software.amazon.awssdk/http-auth-spi/2.21.5, Apache-2.0, approved, #11128 +maven/mavencentral/software.amazon.awssdk/http-auth/2.21.15, Apache-2.0, approved, #11120 maven/mavencentral/software.amazon.awssdk/http-auth/2.21.5, Apache-2.0, approved, #11120 -maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.146, Apache-2.0, approved, #8608 +maven/mavencentral/software.amazon.awssdk/http-client-spi/2.21.15, Apache-2.0, approved, #11132 maven/mavencentral/software.amazon.awssdk/http-client-spi/2.21.5, Apache-2.0, approved, #11132 -maven/mavencentral/software.amazon.awssdk/iam/2.20.146, Apache-2.0, approved, #9271 +maven/mavencentral/software.amazon.awssdk/iam/2.21.15, Apache-2.0, approved, #11138 +maven/mavencentral/software.amazon.awssdk/identity-spi/2.21.15, Apache-2.0, approved, #11129 maven/mavencentral/software.amazon.awssdk/identity-spi/2.21.5, Apache-2.0, approved, #11129 -maven/mavencentral/software.amazon.awssdk/json-utils/2.20.146, Apache-2.0, approved, #8614 +maven/mavencentral/software.amazon.awssdk/json-utils/2.21.15, Apache-2.0, approved, #11119 maven/mavencentral/software.amazon.awssdk/json-utils/2.21.5, Apache-2.0, approved, #11119 -maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.146, Apache-2.0, approved, #8636 +maven/mavencentral/software.amazon.awssdk/metrics-spi/2.21.15, Apache-2.0, approved, #11144 maven/mavencentral/software.amazon.awssdk/metrics-spi/2.21.5, Apache-2.0, approved, #11144 -maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.146, Apache-2.0, approved, #8613 +maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.21.15, Apache-2.0, approved, #11140 maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.21.5, Apache-2.0, approved, #11140 -maven/mavencentral/software.amazon.awssdk/profiles/2.20.146, Apache-2.0, approved, #8600 +maven/mavencentral/software.amazon.awssdk/profiles/2.21.15, Apache-2.0, approved, #11148 maven/mavencentral/software.amazon.awssdk/profiles/2.21.5, Apache-2.0, approved, #11148 -maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.146, Apache-2.0, approved, #8635 +maven/mavencentral/software.amazon.awssdk/protocol-core/2.21.15, Apache-2.0, approved, #11141 maven/mavencentral/software.amazon.awssdk/protocol-core/2.21.5, Apache-2.0, approved, #11141 -maven/mavencentral/software.amazon.awssdk/regions/2.20.146, Apache-2.0, approved, #8632 +maven/mavencentral/software.amazon.awssdk/regions/2.21.15, Apache-2.0, approved, #11142 maven/mavencentral/software.amazon.awssdk/regions/2.21.5, Apache-2.0, approved, #11142 maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.21.5, Apache-2.0, approved, clearlydefined -maven/mavencentral/software.amazon.awssdk/s3/2.20.146, Apache-2.0, approved, #8623 +maven/mavencentral/software.amazon.awssdk/s3/2.21.15, Apache-2.0, approved, #11135 maven/mavencentral/software.amazon.awssdk/s3/2.21.5, Apache-2.0, approved, #11135 -maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.146, Apache-2.0, approved, #8611 +maven/mavencentral/software.amazon.awssdk/sdk-core/2.21.15, Apache-2.0, approved, #11121 maven/mavencentral/software.amazon.awssdk/sdk-core/2.21.5, Apache-2.0, approved, #11121 -maven/mavencentral/software.amazon.awssdk/sts/2.20.146, Apache-2.0, approved, #9269 -maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.146, Apache-2.0, approved, #8622 +maven/mavencentral/software.amazon.awssdk/sts/2.21.15, Apache-2.0, approved, #11146 +maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.21.15, Apache-2.0, approved, #11127 maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.21.5, Apache-2.0, approved, #11127 -maven/mavencentral/software.amazon.awssdk/utils/2.20.146, Apache-2.0, approved, #8625 +maven/mavencentral/software.amazon.awssdk/utils/2.21.15, Apache-2.0, approved, #11136 maven/mavencentral/software.amazon.awssdk/utils/2.21.5, Apache-2.0, approved, #11136 maven/mavencentral/software.amazon.eventstream/eventstream/1.0.1, Apache-2.0, approved, clearlydefined diff --git a/core/edr-cache-core/src/test/java/org/eclipse/tractusx/edc/edr/core/defaults/PersistentCacheEntryTest.java b/core/edr-cache-core/src/test/java/org/eclipse/tractusx/edc/edr/core/defaults/PersistentCacheEntryTest.java index 22fc0af8f..179d6d660 100644 --- a/core/edr-cache-core/src/test/java/org/eclipse/tractusx/edc/edr/core/defaults/PersistentCacheEntryTest.java +++ b/core/edr-cache-core/src/test/java/org/eclipse/tractusx/edc/edr/core/defaults/PersistentCacheEntryTest.java @@ -33,6 +33,7 @@ void verify_serializeDeserialize() throws JsonProcessingException { .endpoint("http://test.com") .id(randomUUID().toString()) .authCode("11111") + .contractId("test-contract-id") .authKey("authentication").build(); var edrEntry = EndpointDataReferenceEntry.Builder.newInstance() diff --git a/core/edr-core/build.gradle.kts b/core/edr-core/build.gradle.kts index 2b136f325..2b70c7bdc 100644 --- a/core/edr-core/build.gradle.kts +++ b/core/edr-core/build.gradle.kts @@ -20,7 +20,6 @@ dependencies { implementation(libs.edc.spi.core) implementation(libs.edc.config.filesystem) implementation(libs.edc.util) - implementation(libs.edc.spi.aggregateservices) implementation(libs.edc.spi.contract) implementation(libs.edc.spi.controlplane) implementation(libs.edc.statemachine) diff --git a/core/edr-core/src/main/java/org/eclipse/tractusx/edc/edr/core/manager/EdrManagerImpl.java b/core/edr-core/src/main/java/org/eclipse/tractusx/edc/edr/core/manager/EdrManagerImpl.java index b8df8cf26..bdeb95260 100644 --- a/core/edr-core/src/main/java/org/eclipse/tractusx/edc/edr/core/manager/EdrManagerImpl.java +++ b/core/edr-core/src/main/java/org/eclipse/tractusx/edc/edr/core/manager/EdrManagerImpl.java @@ -29,8 +29,8 @@ import org.eclipse.edc.spi.system.ExecutorInstrumentation; import org.eclipse.edc.spi.telemetry.Telemetry; import org.eclipse.edc.spi.types.domain.callback.CallbackAddress; +import org.eclipse.edc.statemachine.ProcessorImpl; import org.eclipse.edc.statemachine.StateMachineManager; -import org.eclipse.edc.statemachine.StateProcessorImpl; import org.eclipse.edc.statemachine.retry.EntityRetryProcessConfiguration; import org.eclipse.edc.statemachine.retry.EntityRetryProcessFactory; import org.eclipse.tractusx.edc.edr.spi.EdrManager; @@ -44,9 +44,11 @@ import java.time.Duration; import java.time.Instant; import java.time.ZoneOffset; +import java.util.Collection; import java.util.Objects; import java.util.Set; import java.util.function.Function; +import java.util.function.Supplier; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -148,19 +150,25 @@ private void update(EndpointDataReferenceEntry edrEntry) { } - private StateProcessorImpl processEdrInState(EndpointDataReferenceEntryStates state, Function function) { + private ProcessorImpl processEdrInState(EndpointDataReferenceEntryStates state, Function function) { var filter = new Criterion[] {hasState(state.code())}; - return new StateProcessorImpl<>(() -> edrCache.nextNotLeased(batchSize, filter), telemetry.contextPropagationMiddleware(function)); + return processor(() -> edrCache.nextNotLeased(batchSize, filter), telemetry.contextPropagationMiddleware(function)); } + private ProcessorImpl processor(Supplier> o, Function telemetryPropagationFunction) { + return ProcessorImpl.Builder.newInstance(o) + .process(telemetryPropagationFunction) + .build(); + } - private StateProcessorImpl processDeletingEdr(Function function) { + + private ProcessorImpl processDeletingEdr(Function function) { var query = QuerySpec.Builder.newInstance() .filter(hasState(DELETING.code())) .limit(batchSize) .build(); - return new StateProcessorImpl<>(() -> edrCache.queryForEntries(query).collect(Collectors.toList()), telemetry.contextPropagationMiddleware(function)); + return processor(() -> edrCache.queryForEntries(query).collect(Collectors.toList()), telemetry.contextPropagationMiddleware(function)); } private ContractRequest createContractRequest(NegotiateEdrRequest request) { @@ -190,7 +198,7 @@ private boolean processNegotiated(EndpointDataReferenceEntry edrEntry) { } private boolean processExpired(EndpointDataReferenceEntry edrEntry) { - return entityRetryProcessFactory.doSimpleProcess(edrEntry, () -> checkExpiration(edrEntry)) + return entityRetryProcessFactory.doSyncProcess(edrEntry, () -> checkExpiration(edrEntry)) .onDelay(this::breakLease) .execute("Start EDR token deletion check"); @@ -208,13 +216,13 @@ private boolean processDeleting(EndpointDataReferenceEntry edrEntry) { .execute("Start EDR token deletion"); } - private boolean checkExpiration(EndpointDataReferenceEntry entry) { + private StatusResult checkExpiration(EndpointDataReferenceEntry entry) { if (shouldBeRemoved(entry)) { transitionToDeleting(entry); - return true; + return StatusResult.success(); } else { breakLease(entry); - return false; + return StatusResult.failure(ResponseStatus.ERROR_RETRY, "Not yet expired."); } } @@ -242,7 +250,7 @@ private StatusResult fireTransferProcess(EndpointDataReferenceEntry entry) .connectorId(dataRequest.getConnectorId()) .contractId(dataRequest.getContractId()) .protocol(dataRequest.getProtocol()) - .connectorAddress(dataRequest.getConnectorAddress()) + .counterPartyAddress(dataRequest.getConnectorAddress()) .dataDestination(dataRequest.getDataDestination()) .callbackAddresses(transferProcess.getCallbackAddresses()) .build(); @@ -294,10 +302,6 @@ private Builder() { edrManager = new EdrManagerImpl(); } - public static Builder newInstance() { - return new Builder(); - } - public Builder contractNegotiationService(ContractNegotiationService negotiationService) { edrManager.contractNegotiationService = negotiationService; return this; @@ -369,5 +373,9 @@ public EdrManagerImpl build() { return edrManager; } + + public static Builder newInstance() { + return new Builder(); + } } } diff --git a/core/edr-core/src/main/java/org/eclipse/tractusx/edc/edr/core/service/EdrServiceImpl.java b/core/edr-core/src/main/java/org/eclipse/tractusx/edc/edr/core/service/EdrServiceImpl.java index 5172395e6..bf6e01e7e 100644 --- a/core/edr-core/src/main/java/org/eclipse/tractusx/edc/edr/core/service/EdrServiceImpl.java +++ b/core/edr-core/src/main/java/org/eclipse/tractusx/edc/edr/core/service/EdrServiceImpl.java @@ -15,8 +15,8 @@ package org.eclipse.tractusx.edc.edr.core.service; import org.eclipse.edc.connector.contract.spi.types.negotiation.ContractNegotiation; -import org.eclipse.edc.service.spi.result.ServiceResult; import org.eclipse.edc.spi.query.QuerySpec; +import org.eclipse.edc.spi.result.ServiceResult; import org.eclipse.edc.spi.types.domain.edr.EndpointDataReference; import org.eclipse.tractusx.edc.edr.spi.EdrManager; import org.eclipse.tractusx.edc.edr.spi.service.EdrService; diff --git a/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/fixtures/TestFunctions.java b/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/fixtures/TestFunctions.java index 9b81ca30b..7ba877bcc 100644 --- a/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/fixtures/TestFunctions.java +++ b/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/fixtures/TestFunctions.java @@ -15,9 +15,9 @@ package org.eclipse.tractusx.edc.edr.core.fixtures; import org.eclipse.edc.connector.contract.spi.types.negotiation.ContractNegotiation; -import org.eclipse.edc.connector.contract.spi.types.offer.ContractOffer; import org.eclipse.edc.policy.model.Policy; import org.eclipse.edc.spi.types.domain.callback.CallbackAddress; +import org.eclipse.edc.spi.types.domain.offer.ContractOffer; import org.eclipse.tractusx.edc.edr.spi.types.NegotiateEdrRequest; import java.util.List; diff --git a/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/manager/EdrManagerImplTest.java b/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/manager/EdrManagerImplTest.java index ce90f3465..66bf010b4 100644 --- a/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/manager/EdrManagerImplTest.java +++ b/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/manager/EdrManagerImplTest.java @@ -21,10 +21,10 @@ import org.eclipse.edc.connector.transfer.spi.types.ProvisionedResourceSet; import org.eclipse.edc.connector.transfer.spi.types.TransferProcess; import org.eclipse.edc.connector.transfer.spi.types.TransferProcessStates; -import org.eclipse.edc.service.spi.result.ServiceResult; import org.eclipse.edc.spi.monitor.Monitor; import org.eclipse.edc.spi.query.Criterion; import org.eclipse.edc.spi.query.QuerySpec; +import org.eclipse.edc.spi.result.ServiceResult; import org.eclipse.edc.spi.result.StoreResult; import org.eclipse.tractusx.edc.edr.spi.store.EndpointDataReferenceCache; import org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry; diff --git a/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/service/EdrServiceImplTest.java b/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/service/EdrServiceImplTest.java index 272e63e56..e948a82a5 100644 --- a/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/service/EdrServiceImplTest.java +++ b/core/edr-core/src/test/java/org/eclipse/tractusx/edc/edr/core/service/EdrServiceImplTest.java @@ -15,15 +15,15 @@ package org.eclipse.tractusx.edc.edr.core.service; import org.eclipse.edc.connector.contract.spi.types.negotiation.ContractNegotiation; -import org.eclipse.edc.connector.contract.spi.types.offer.ContractOffer; import org.eclipse.edc.policy.model.Policy; -import org.eclipse.edc.service.spi.result.ServiceFailure; -import org.eclipse.edc.service.spi.result.ServiceResult; import org.eclipse.edc.spi.query.QuerySpec; import org.eclipse.edc.spi.response.StatusResult; +import org.eclipse.edc.spi.result.ServiceFailure; +import org.eclipse.edc.spi.result.ServiceResult; import org.eclipse.edc.spi.result.StoreResult; import org.eclipse.edc.spi.types.domain.callback.CallbackAddress; import org.eclipse.edc.spi.types.domain.edr.EndpointDataReference; +import org.eclipse.edc.spi.types.domain.offer.ContractOffer; import org.eclipse.tractusx.edc.edr.spi.EdrManager; import org.eclipse.tractusx.edc.edr.spi.store.EndpointDataReferenceCache; import org.eclipse.tractusx.edc.edr.spi.types.NegotiateEdrRequest; @@ -36,6 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -71,7 +72,12 @@ void findByTransferProcessId_shouldReturnTheEdr_whenFoundInCache() { var transferProcessId = "tpId"; - when(endpointDataReferenceCache.resolveReference(transferProcessId)).thenReturn(EndpointDataReference.Builder.newInstance().endpoint("test").build()); + when(endpointDataReferenceCache.resolveReference(eq(transferProcessId))) + .thenReturn(EndpointDataReference.Builder.newInstance() + .id("test-id") + .contractId("test-contract") + .endpoint("test") + .build()); var result = transferService.findByTransferProcessId(transferProcessId); @@ -115,7 +121,7 @@ void deleteByTransferProcessId() { void deleteByTransferProcessId_shouldNotFound_whenNotPresentInCache() { var transferProcessId = "tpId"; - when(endpointDataReferenceCache.deleteByTransferProcessId(transferProcessId)).thenReturn(StoreResult.notFound("")); + when(endpointDataReferenceCache.deleteByTransferProcessId(eq(transferProcessId))).thenReturn(StoreResult.notFound("")); var result = transferService.deleteByTransferProcessId(transferProcessId); diff --git a/core/json-ld-core/src/main/java/org/eclipse/tractusx/edc/jsonld/JsonLdExtension.java b/core/json-ld-core/src/main/java/org/eclipse/tractusx/edc/jsonld/JsonLdExtension.java index 66d33c122..f535cbb42 100644 --- a/core/json-ld-core/src/main/java/org/eclipse/tractusx/edc/jsonld/JsonLdExtension.java +++ b/core/json-ld-core/src/main/java/org/eclipse/tractusx/edc/jsonld/JsonLdExtension.java @@ -61,7 +61,7 @@ public class JsonLdExtension implements ServiceExtension { public void initialize(ServiceExtensionContext context) { jsonLdService.registerNamespace(TX_PREFIX, TX_NAMESPACE); FILES.entrySet().stream().map(this::mapToFile) - .forEach(result -> result.onSuccess(entry -> jsonLdService.registerCachedDocument(entry.getKey(), entry.getValue())) + .forEach(result -> result.onSuccess(entry -> jsonLdService.registerCachedDocument(entry.getKey(), entry.getValue().toURI())) .onFailure(failure -> monitor.warning("Failed to register cached json-ld document: " + failure.getFailureDetail()))); } diff --git a/edc-extensions/bpn-validation/bpn-validation-api/build.gradle.kts b/edc-extensions/bpn-validation/bpn-validation-api/build.gradle.kts index d26e14408..522a2d021 100644 --- a/edc-extensions/bpn-validation/bpn-validation-api/build.gradle.kts +++ b/edc-extensions/bpn-validation/bpn-validation-api/build.gradle.kts @@ -22,7 +22,6 @@ dependencies { implementation(project(":edc-extensions:bpn-validation:bpn-validation-spi")) implementation(project(":spi:core-spi")) implementation(libs.edc.api.management) - implementation(libs.edc.spi.aggregateservices) implementation(libs.jakarta.rsApi) testImplementation(testFixtures(libs.edc.core.jersey)) diff --git a/edc-extensions/bpn-validation/bpn-validation-core/src/main/java/org/eclipse/tractusx/edc/validation/businesspartner/functions/legacy/AbstractBusinessPartnerValidation.java b/edc-extensions/bpn-validation/bpn-validation-core/src/main/java/org/eclipse/tractusx/edc/validation/businesspartner/functions/legacy/AbstractBusinessPartnerValidation.java index c17b75293..ee2575ce0 100644 --- a/edc-extensions/bpn-validation/bpn-validation-core/src/main/java/org/eclipse/tractusx/edc/validation/businesspartner/functions/legacy/AbstractBusinessPartnerValidation.java +++ b/edc-extensions/bpn-validation/bpn-validation-core/src/main/java/org/eclipse/tractusx/edc/validation/businesspartner/functions/legacy/AbstractBusinessPartnerValidation.java @@ -21,11 +21,11 @@ package org.eclipse.tractusx.edc.validation.businesspartner.functions.legacy; -import org.eclipse.edc.connector.contract.spi.types.agreement.ContractAgreement; import org.eclipse.edc.policy.engine.spi.PolicyContext; import org.eclipse.edc.policy.model.Operator; import org.eclipse.edc.spi.agent.ParticipantAgent; import org.eclipse.edc.spi.monitor.Monitor; +import org.eclipse.edc.spi.types.domain.agreement.ContractAgreement; import org.jetbrains.annotations.Nullable; import java.util.Objects; @@ -65,21 +65,6 @@ protected AbstractBusinessPartnerValidation(Monitor monitor, boolean logAgreemen this.logAgreementEvaluation = logAgreementEvaluation; } - /** - * At the time of writing (11. April 2022) the business partner number is part of the - * 'referringConnector' claim, which contains a connector URL. As the CX projects are not further - * aligned about the URL formatting, the enforcement can only be done by checking whether the URL - * _contains_ the number. As this introduces some insecurities when validation business partner - * numbers, this should be addresses in the long term. - * - * @param referringConnectorClaim describing URL with business partner number - * @param businessPartnerNumber of the constraint - * @return true if claim contains the business partner number - */ - private static boolean isCorrectBusinessPartner(String referringConnectorClaim, String businessPartnerNumber) { - return referringConnectorClaim.contains(businessPartnerNumber); - } - public boolean isLogAgreementEvaluation() { return logAgreementEvaluation; } @@ -128,6 +113,21 @@ public boolean evaluate(Operator operator, Object rightValue, PolicyContext poli } } + /** + * At the time of writing (11. April 2022) the business partner number is part of the + * 'referringConnector' claim, which contains a connector URL. As the CX projects are not further + * aligned about the URL formatting, the enforcement can only be done by checking whether the URL + * _contains_ the number. As this introduces some insecurities when validation business partner + * numbers, this should be addresses in the long term. + * + * @param referringConnectorClaim describing URL with business partner number + * @param businessPartnerNumber of the constraint + * @return true if claim contains the business partner number + */ + private static boolean isCorrectBusinessPartner(String referringConnectorClaim, String businessPartnerNumber) { + return referringConnectorClaim.contains(businessPartnerNumber); + } + @Nullable private String getReferringConnectorClaim(ParticipantAgent participantAgent) { String referringConnectorClaim = null; diff --git a/edc-extensions/bpn-validation/bpn-validation-core/src/test/java/org/eclipse/tractusx/edc/validation/businesspartner/functions/AbstractBusinessPartnerValidationTest.java b/edc-extensions/bpn-validation/bpn-validation-core/src/test/java/org/eclipse/tractusx/edc/validation/businesspartner/functions/AbstractBusinessPartnerValidationTest.java index 2427ea4dd..beed92504 100644 --- a/edc-extensions/bpn-validation/bpn-validation-core/src/test/java/org/eclipse/tractusx/edc/validation/businesspartner/functions/AbstractBusinessPartnerValidationTest.java +++ b/edc-extensions/bpn-validation/bpn-validation-core/src/test/java/org/eclipse/tractusx/edc/validation/businesspartner/functions/AbstractBusinessPartnerValidationTest.java @@ -21,12 +21,12 @@ package org.eclipse.tractusx.edc.validation.businesspartner.functions; -import org.eclipse.edc.connector.contract.spi.types.agreement.ContractAgreement; import org.eclipse.edc.policy.engine.spi.PolicyContext; import org.eclipse.edc.policy.model.Operator; import org.eclipse.edc.policy.model.Policy; import org.eclipse.edc.spi.agent.ParticipantAgent; import org.eclipse.edc.spi.monitor.Monitor; +import org.eclipse.edc.spi.types.domain.agreement.ContractAgreement; import org.eclipse.tractusx.edc.validation.businesspartner.functions.legacy.AbstractBusinessPartnerValidation; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; diff --git a/edc-extensions/bpn-validation/bpn-validation-spi/build.gradle.kts b/edc-extensions/bpn-validation/bpn-validation-spi/build.gradle.kts index 01584c21c..6d5b6059a 100644 --- a/edc-extensions/bpn-validation/bpn-validation-spi/build.gradle.kts +++ b/edc-extensions/bpn-validation/bpn-validation-spi/build.gradle.kts @@ -25,7 +25,6 @@ plugins { dependencies { implementation(project(":spi:core-spi")) api(libs.edc.spi.core) - api(libs.edc.spi.aggregateservices) implementation(libs.edc.spi.policy) implementation(libs.edc.spi.contract) implementation(libs.edc.spi.policyengine) diff --git a/edc-extensions/cx-policy/src/main/java/org/eclipse/tractusx/edc/policy/cx/framework/FrameworkAgreementConstraintFunction.java b/edc-extensions/cx-policy/src/main/java/org/eclipse/tractusx/edc/policy/cx/framework/FrameworkAgreementConstraintFunction.java index bc9fca518..bdbea1e43 100644 --- a/edc-extensions/cx-policy/src/main/java/org/eclipse/tractusx/edc/policy/cx/framework/FrameworkAgreementConstraintFunction.java +++ b/edc-extensions/cx-policy/src/main/java/org/eclipse/tractusx/edc/policy/cx/framework/FrameworkAgreementConstraintFunction.java @@ -18,6 +18,7 @@ import org.eclipse.edc.policy.engine.spi.PolicyContext; import org.eclipse.edc.policy.model.Operator; import org.eclipse.edc.policy.model.Permission; +import org.eclipse.edc.spi.agent.ParticipantAgent; import org.eclipse.tractusx.edc.policy.cx.common.AbstractVpConstraintFunction; import java.util.Objects; @@ -70,7 +71,7 @@ public boolean evaluate(Operator operator, Object rightValue, Permission permiss return false; } - var vp = (JsonObject) context.getParticipantAgent().getClaims().get(VP_PROPERTY); + var vp = (JsonObject) context.getContextData(ParticipantAgent.class).getClaims().get(VP_PROPERTY); if (!validatePresentation(vp, context)) { return false; } @@ -139,16 +140,6 @@ private Builder(String credentialType) { constraint = new FrameworkAgreementConstraintFunction(credentialType); } - /** - * Ctor. - * - * @param credentialType the framework credential type required by the constraint instance. - * @return the builder - */ - public static Builder newInstance(String credentialType) { - return new Builder(credentialType); - } - /** * Sets the framework agreement type. */ @@ -169,6 +160,16 @@ public FrameworkAgreementConstraintFunction build() { requireNonNull(constraint.agreementType, "agreementType"); return constraint; } + + /** + * Ctor. + * + * @param credentialType the framework credential type required by the constraint instance. + * @return the builder + */ + public static Builder newInstance(String credentialType) { + return new Builder(credentialType); + } } diff --git a/edc-extensions/cx-policy/src/main/java/org/eclipse/tractusx/edc/policy/cx/summary/SummaryConstraintFunction.java b/edc-extensions/cx-policy/src/main/java/org/eclipse/tractusx/edc/policy/cx/summary/SummaryConstraintFunction.java index 448cc6795..eb2eae345 100644 --- a/edc-extensions/cx-policy/src/main/java/org/eclipse/tractusx/edc/policy/cx/summary/SummaryConstraintFunction.java +++ b/edc-extensions/cx-policy/src/main/java/org/eclipse/tractusx/edc/policy/cx/summary/SummaryConstraintFunction.java @@ -20,6 +20,7 @@ import org.eclipse.edc.policy.engine.spi.PolicyContext; import org.eclipse.edc.policy.model.Operator; import org.eclipse.edc.policy.model.Permission; +import org.eclipse.edc.spi.agent.ParticipantAgent; import org.eclipse.tractusx.edc.iam.ssi.spi.jsonld.CredentialsNamespaces; import org.eclipse.tractusx.edc.policy.cx.common.AbstractVpConstraintFunction; @@ -65,7 +66,7 @@ public boolean evaluate(Operator operator, Object rightValue, Permission rule, P return false; } - var vp = (JsonObject) context.getParticipantAgent().getClaims().get(VP_PROPERTY); + var vp = (JsonObject) context.getContextData(ParticipantAgent.class).getClaims().get(VP_PROPERTY); if (!validatePresentation(vp, context)) { return false; } diff --git a/edc-extensions/cx-policy/src/test/java/org/eclipse/tractusx/edc/policy/cx/framework/FrameworkAgreementConstraintFunctionTest.java b/edc-extensions/cx-policy/src/test/java/org/eclipse/tractusx/edc/policy/cx/framework/FrameworkAgreementConstraintFunctionTest.java index 3cc5085af..16314e47e 100644 --- a/edc-extensions/cx-policy/src/test/java/org/eclipse/tractusx/edc/policy/cx/framework/FrameworkAgreementConstraintFunctionTest.java +++ b/edc-extensions/cx-policy/src/test/java/org/eclipse/tractusx/edc/policy/cx/framework/FrameworkAgreementConstraintFunctionTest.java @@ -118,7 +118,7 @@ void verify_no_credential_fail() { .agreementType("PcfAgreement") .build(); - when(context.getParticipantAgent()).thenReturn(new ParticipantAgent(Map.of(), Map.of())); + when(context.getContextData(ParticipantAgent.class)).thenReturn(new ParticipantAgent(Map.of(), Map.of())); var result = function.evaluate(EQ, "active", permission, context); @@ -135,7 +135,7 @@ void setUp() { private void setVpInContextVp() throws JsonProcessingException { var vp = expand(createObjectMapper().readValue(PCF_VP, JsonObject.class), CONTEXT_CACHE); - when(context.getParticipantAgent()).thenReturn(new ParticipantAgent(Map.of(VP_PROPERTY, vp), Map.of())); + when(context.getContextData(ParticipantAgent.class)).thenReturn(new ParticipantAgent(Map.of(VP_PROPERTY, vp), Map.of())); } diff --git a/edc-extensions/cx-policy/src/test/java/org/eclipse/tractusx/edc/policy/cx/summary/SummaryConstraintFunctionTest.java b/edc-extensions/cx-policy/src/test/java/org/eclipse/tractusx/edc/policy/cx/summary/SummaryConstraintFunctionTest.java index 44c1854a1..54bc656c3 100644 --- a/edc-extensions/cx-policy/src/test/java/org/eclipse/tractusx/edc/policy/cx/summary/SummaryConstraintFunctionTest.java +++ b/edc-extensions/cx-policy/src/test/java/org/eclipse/tractusx/edc/policy/cx/summary/SummaryConstraintFunctionTest.java @@ -49,13 +49,13 @@ void verify_constraint_success() throws JsonProcessingException { var function = new SummaryConstraintFunction(CX_QUALITY); - when(context.getParticipantAgent()).thenReturn(new ParticipantAgent(Map.of(VP_PROPERTY, vp), Map.of())); + when(context.getContextData(ParticipantAgent.class)).thenReturn(new ParticipantAgent(Map.of(VP_PROPERTY, vp), Map.of())); var result = function.evaluate(EQ, "active", permission, context); assertThat(result).isTrue(); - verify(context, atLeastOnce()).getParticipantAgent(); + verify(context, atLeastOnce()).getContextData(ParticipantAgent.class); } @BeforeEach diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/build.gradle.kts b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/build.gradle.kts index 2256c0b1c..8475c39a9 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/build.gradle.kts +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/build.gradle.kts @@ -22,6 +22,7 @@ dependencies { implementation(libs.jakarta.rsApi) implementation(libs.edc.spi.http) + implementation(libs.edc.spi.dataplane.http) implementation(libs.edc.util) implementation(libs.edc.dpf.util) implementation(libs.edc.ext.http) diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/DataPlaneProxyConsumerApiExtension.java b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/DataPlaneProxyConsumerApiExtension.java index 3abbecbbc..7a67dba70 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/DataPlaneProxyConsumerApiExtension.java +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/DataPlaneProxyConsumerApiExtension.java @@ -16,7 +16,7 @@ import org.eclipse.edc.api.auth.spi.AuthenticationRequestFilter; import org.eclipse.edc.api.auth.spi.AuthenticationService; -import org.eclipse.edc.connector.dataplane.spi.manager.DataPlaneManager; +import org.eclipse.edc.connector.dataplane.spi.pipeline.PipelineService; import org.eclipse.edc.runtime.metamodel.annotation.Extension; import org.eclipse.edc.runtime.metamodel.annotation.Inject; import org.eclipse.edc.runtime.metamodel.annotation.Setting; @@ -57,7 +57,7 @@ public class DataPlaneProxyConsumerApiExtension implements ServiceExtension { private WebServer webServer; @Inject - private DataPlaneManager dataPlaneManager; + private PipelineService pipelineService; @Inject private EndpointDataReferenceCache edrCache; @@ -87,7 +87,7 @@ public void initialize(ServiceExtensionContext context) { webService.registerResource(CONSUMER_API_ALIAS, new AuthenticationRequestFilter(authenticationService)); webService.registerResource(CONSUMER_API_ALIAS, new ClientErrorExceptionMapper()); - webService.registerResource(CONSUMER_API_ALIAS, new ConsumerAssetRequestController(edrCache, dataPlaneManager, executorService, monitor)); + webService.registerResource(CONSUMER_API_ALIAS, new ConsumerAssetRequestController(edrCache, pipelineService, executorService, monitor)); } @Override diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/ConsumerAssetRequestController.java b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/ConsumerAssetRequestController.java index 33d1f01c9..fd361a1bd 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/ConsumerAssetRequestController.java +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/ConsumerAssetRequestController.java @@ -22,12 +22,12 @@ import jakarta.ws.rs.container.Suspended; import jakarta.ws.rs.core.MediaType; import jakarta.ws.rs.core.StreamingOutput; -import org.eclipse.edc.connector.dataplane.spi.manager.DataPlaneManager; +import org.eclipse.edc.connector.dataplane.http.spi.HttpDataAddress; import org.eclipse.edc.connector.dataplane.spi.pipeline.StreamResult; +import org.eclipse.edc.connector.dataplane.spi.pipeline.TransferService; import org.eclipse.edc.connector.dataplane.util.sink.AsyncStreamingDataSink; import org.eclipse.edc.spi.monitor.Monitor; import org.eclipse.edc.spi.types.domain.DataAddress; -import org.eclipse.edc.spi.types.domain.HttpDataAddress; import org.eclipse.edc.spi.types.domain.edr.EndpointDataReference; import org.eclipse.edc.spi.types.domain.transfer.DataFlowRequest; import org.eclipse.tractusx.edc.dataplane.proxy.consumer.api.asset.model.AssetRequest; @@ -48,6 +48,7 @@ import static java.util.UUID.randomUUID; import static org.eclipse.edc.connector.dataplane.spi.schema.DataFlowRequestSchema.PATH; import static org.eclipse.edc.connector.dataplane.spi.schema.DataFlowRequestSchema.QUERY_PARAMS; +import static org.eclipse.edc.spi.CoreConstants.EDC_NAMESPACE; /** * Implements the HTTP proxy API. @@ -55,24 +56,24 @@ @Path("/aas") @Produces(MediaType.APPLICATION_JSON) public class ConsumerAssetRequestController implements ConsumerAssetRequestApi { - public static final String BASE_URL = "baseUrl"; + public static final String BASE_URL = EDC_NAMESPACE + "baseUrl"; private static final String HTTP_DATA = "HttpData"; private static final String ASYNC_TYPE = "async"; private static final String HEADER_AUTHORIZATION = "header:authorization"; private static final String BEARER_PREFIX = "Bearer "; private final EndpointDataReferenceCache edrCache; - private final DataPlaneManager dataPlaneManager; + private final TransferService transferService; private final Monitor monitor; private final ExecutorService executorService; public ConsumerAssetRequestController(EndpointDataReferenceCache edrCache, - DataPlaneManager dataPlaneManager, + TransferService transferService, ExecutorService executorService, Monitor monitor) { this.edrCache = edrCache; - this.dataPlaneManager = dataPlaneManager; + this.transferService = transferService; this.executorService = executorService; this.monitor = monitor; } @@ -107,11 +108,11 @@ public void requestAsset(AssetRequest request, @Suspended AsyncResponse response .properties(properties) .build(); - // transfer the data asynchronously - var sink = new AsyncStreamingDataSink(consumer -> response.resume((StreamingOutput) consumer::accept), executorService, monitor); - try { - dataPlaneManager.transfer(sink, flowRequest).whenComplete((result, throwable) -> handleCompletion(response, result, throwable)); + // transfer the data asynchronously + var sink = new AsyncStreamingDataSink(consumer -> response.resume((StreamingOutput) consumer::accept), executorService, monitor); + + transferService.transfer(flowRequest, sink).whenComplete((result, throwable) -> handleCompletion(response, result, throwable)); } catch (Exception e) { reportError(response, e); } @@ -162,7 +163,7 @@ private EndpointDataReference resolveEdr(AssetRequest request) { /** * Handles a request completion, checking for errors. If no errors are present, nothing needs to be done as the response will have already been written to the client. */ - private void handleCompletion(AsyncResponse response, StreamResult result, Throwable throwable) { + private void handleCompletion(AsyncResponse response, StreamResult result, Throwable throwable) { if (result != null && result.failed()) { switch (result.reason()) { case NOT_FOUND -> response.resume(status(NOT_FOUND).type(APPLICATION_JSON).build()); @@ -173,6 +174,9 @@ private void handleCompletion(AsyncResponse response, StreamResult result, } else if (throwable != null) { reportError(response, throwable); } + if (result.succeeded()) { + response.resume(result.getContent()); + } } /** diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/model/ConsumerAssetRequestControllerTest.java b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/model/ConsumerAssetRequestControllerTest.java index 04acacdf7..c8a94f45f 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/model/ConsumerAssetRequestControllerTest.java +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/model/ConsumerAssetRequestControllerTest.java @@ -18,11 +18,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import io.restassured.specification.RequestSpecification; import jakarta.ws.rs.core.MediaType; -import org.eclipse.edc.connector.dataplane.spi.manager.DataPlaneManager; -import org.eclipse.edc.connector.dataplane.spi.pipeline.DataSink; import org.eclipse.edc.connector.dataplane.spi.pipeline.DataSource; +import org.eclipse.edc.connector.dataplane.spi.pipeline.PipelineService; import org.eclipse.edc.connector.dataplane.spi.pipeline.StreamResult; -import org.eclipse.edc.connector.dataplane.util.sink.AsyncStreamingDataSink; import org.eclipse.edc.junit.annotations.ApiTest; import org.eclipse.edc.spi.monitor.Monitor; import org.eclipse.edc.spi.types.domain.edr.EndpointDataReference; @@ -65,16 +63,9 @@ public class ConsumerAssetRequestControllerTest extends RestControllerTestBase { public static final String ASSET_REQUEST_PATH = "/aas/request"; private final EndpointDataReferenceCache cache = mock(EndpointDataReferenceCache.class); - private final DataPlaneManager dataPlaneManager = mock(DataPlaneManager.class); + private final PipelineService pipelineService = mock(); private final ObjectMapper mapper = new ObjectMapper(); - private static Stream provideServiceResultForProxyCall() { - return Stream.of( - Arguments.of(StreamResult.notFound(), NOT_FOUND.getStatusCode()), - Arguments.of(StreamResult.notAuthorized(), UNAUTHORIZED.getStatusCode()), - Arguments.of(StreamResult.error("error"), INTERNAL_SERVER_ERROR.getStatusCode())); - } - @Test void requestAsset_shouldReturnData_withAssetId() throws IOException { @@ -86,6 +77,7 @@ void requestAsset_shouldReturnData_withAssetId() throws IOException { .id(transferProcessId) .authKey("authKey") .authCode("authCode") + .contractId("contract-id") .endpoint(url) .build(); @@ -99,11 +91,8 @@ void requestAsset_shouldReturnData_withAssetId() throws IOException { when(partStream.openStream()).thenReturn(new ByteArrayInputStream(responseBytes)); when(cache.referencesForAsset(assetId, null)).thenReturn(List.of(edr)); - when(dataPlaneManager.transfer(any(DataSink.class), any())) - .thenAnswer(a -> { - AsyncStreamingDataSink sink = a.getArgument(0); - return sink.transfer(datasource); - }); + when(pipelineService.transfer(any(), any())) + .thenAnswer(a -> CompletableFuture.completedFuture(StreamResult.success(response))); var proxyResponseBytes = baseRequest() .contentType(MediaType.APPLICATION_JSON) @@ -121,7 +110,7 @@ void requestAsset_shouldReturnData_withAssetId() throws IOException { @ParameterizedTest @MethodSource("provideServiceResultForProxyCall") - void requestAsset_shouldReturnError_WhenProxyCallFails(StreamResult result, Integer responseCode) throws IOException { + void requestAsset_shouldReturnError_WhenProxyCallFails(StreamResult result, Integer responseCode) throws IOException { var assetId = "assetId"; var transferProcessId = "tp"; @@ -132,10 +121,11 @@ void requestAsset_shouldReturnError_WhenProxyCallFails(StreamResult result .authKey("authKey") .authCode("authCode") .endpoint(url) + .contractId("contract-id") .build(); when(cache.referencesForAsset(assetId, null)).thenReturn(List.of(edr)); - when(dataPlaneManager.transfer(any(DataSink.class), any())) + when(pipelineService.transfer(any(), any())) .thenReturn(CompletableFuture.completedFuture(result)); baseRequest() @@ -177,6 +167,7 @@ void requestAsset_shouldReturnError_whenMultipleEdrsByAssetIdFound() { .id(UUID.randomUUID().toString()) .authKey("authKey") .authCode("authCode") + .contractId("contract-id") .endpoint(url) .build(); @@ -202,6 +193,7 @@ void requestAsset_shouldReturnData_withTransferProcessId() throws IOException { .id(transferProcessId) .authKey("authKey") .authCode("authCode") + .contractId("contract-id") .endpoint(url) .build(); @@ -215,11 +207,8 @@ void requestAsset_shouldReturnData_withTransferProcessId() throws IOException { when(partStream.openStream()).thenReturn(new ByteArrayInputStream(responseBytes)); when(cache.resolveReference(transferProcessId)).thenReturn(edr); - when(dataPlaneManager.transfer(any(DataSink.class), any())) - .thenAnswer(a -> { - AsyncStreamingDataSink sink = a.getArgument(0); - return sink.transfer(datasource); - }); + when(pipelineService.transfer(any(), any())) + .thenAnswer(a -> CompletableFuture.completedFuture(StreamResult.success(response))); var proxyResponseBytes = baseRequest() .contentType(MediaType.APPLICATION_JSON) @@ -264,6 +253,7 @@ void requestAsset_shouldReturnData_withDataPlaneUrl() throws IOException { .id(transferProcessId) .authKey("authKey") .authCode("authCode") + .contractId("contract-id") .endpoint(url) .build(); @@ -277,11 +267,8 @@ void requestAsset_shouldReturnData_withDataPlaneUrl() throws IOException { when(partStream.openStream()).thenReturn(new ByteArrayInputStream(responseBytes)); when(cache.resolveReference(transferProcessId)).thenReturn(edr); - when(dataPlaneManager.transfer(any(DataSink.class), any())) - .thenAnswer(a -> { - AsyncStreamingDataSink sink = a.getArgument(0); - return sink.transfer(datasource); - }); + when(pipelineService.transfer(any(), any())) + .thenAnswer(a -> CompletableFuture.completedFuture(StreamResult.success(response))); var proxyResponseBytes = baseRequest() .contentType(MediaType.APPLICATION_JSON) @@ -297,7 +284,7 @@ void requestAsset_shouldReturnData_withDataPlaneUrl() throws IOException { assertThat(proxyResponse).containsAllEntriesOf(response); var captor = ArgumentCaptor.forClass(DataFlowRequest.class); - verify(dataPlaneManager).transfer(any(DataSink.class), captor.capture()); + verify(pipelineService).transfer(captor.capture(), any()); var flowRequest = captor.getValue(); @@ -311,7 +298,7 @@ void requestAsset_shouldReturnData_withDataPlaneUrl() throws IOException { @Override protected Object controller() { - return new ConsumerAssetRequestController(cache, dataPlaneManager, Executors.newSingleThreadExecutor(), mock(Monitor.class)); + return new ConsumerAssetRequestController(cache, pipelineService, Executors.newSingleThreadExecutor(), mock(Monitor.class)); } @Override @@ -319,6 +306,13 @@ protected Object additionalResource() { return new ClientErrorExceptionMapper(); } + private static Stream provideServiceResultForProxyCall() { + return Stream.of( + Arguments.of(StreamResult.notFound(), NOT_FOUND.getStatusCode()), + Arguments.of(StreamResult.notAuthorized(), UNAUTHORIZED.getStatusCode()), + Arguments.of(StreamResult.error("error"), INTERNAL_SERVER_ERROR.getStatusCode())); + } + private RequestSpecification baseRequest() { return given() .baseUri("http://localhost:" + port) diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/build.gradle.kts b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/build.gradle.kts index 729e2bf74..df6358ab8 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/build.gradle.kts +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/build.gradle.kts @@ -25,6 +25,7 @@ dependencies { implementation(libs.edc.ext.http) implementation(libs.edc.spi.jwt) implementation(libs.edc.jwt.core) + implementation(libs.edc.spi.dataplane.http) implementation(libs.jakarta.rsApi) implementation(libs.nimbus.jwt) diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/DataPlaneProxyProviderApiExtension.java b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/DataPlaneProxyProviderApiExtension.java index 13ca5136f..08e356a97 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/DataPlaneProxyProviderApiExtension.java +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/DataPlaneProxyProviderApiExtension.java @@ -14,7 +14,7 @@ package org.eclipse.tractusx.edc.dataplane.proxy.provider.api; -import org.eclipse.edc.connector.dataplane.spi.manager.DataPlaneManager; +import org.eclipse.edc.connector.dataplane.spi.pipeline.PipelineService; import org.eclipse.edc.runtime.metamodel.annotation.Extension; import org.eclipse.edc.runtime.metamodel.annotation.Inject; import org.eclipse.edc.runtime.metamodel.annotation.Setting; @@ -58,7 +58,7 @@ public class DataPlaneProxyProviderApiExtension implements ServiceExtension { private WebService webService; @Inject - private DataPlaneManager dataPlaneManager; + private PipelineService pipelineService; @Inject private Monitor monitor; @@ -89,8 +89,8 @@ public void initialize(ServiceExtensionContext context) { var validationEndpoint = context.getConfig().getString(CONTROL_PLANE_VALIDATION_ENDPOINT); var dataAddressResolver = new ProxyProviderDataAddressResolver(httpClient, validationEndpoint, typeManager.getMapper()); - - var controller = new ProviderGatewayController(dataPlaneManager, + + var controller = new ProviderGatewayController(pipelineService, dataAddressResolver, configurationRegistry, authorizationRegistry, diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/gateway/ProviderGatewayController.java b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/gateway/ProviderGatewayController.java index f68dcfbb3..cd506665c 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/gateway/ProviderGatewayController.java +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/provider/api/gateway/ProviderGatewayController.java @@ -23,14 +23,14 @@ import jakarta.ws.rs.core.HttpHeaders; import jakarta.ws.rs.core.PathSegment; import jakarta.ws.rs.core.StreamingOutput; -import org.eclipse.edc.connector.dataplane.spi.manager.DataPlaneManager; +import org.eclipse.edc.connector.dataplane.http.spi.HttpDataAddress; import org.eclipse.edc.connector.dataplane.spi.pipeline.StreamResult; +import org.eclipse.edc.connector.dataplane.spi.pipeline.TransferService; import org.eclipse.edc.connector.dataplane.spi.resolver.DataAddressResolver; import org.eclipse.edc.connector.dataplane.util.sink.AsyncStreamingDataSink; import org.eclipse.edc.spi.monitor.Monitor; import org.eclipse.edc.spi.result.Result; import org.eclipse.edc.spi.types.domain.DataAddress; -import org.eclipse.edc.spi.types.domain.HttpDataAddress; import org.eclipse.edc.spi.types.domain.transfer.DataFlowRequest; import org.eclipse.tractusx.edc.dataplane.proxy.spi.provider.gateway.authorization.AuthorizationHandlerRegistry; import org.eclipse.tractusx.edc.dataplane.proxy.spi.provider.gateway.configuration.GatewayConfiguration; @@ -49,6 +49,7 @@ import static java.lang.String.join; import static java.util.UUID.randomUUID; import static java.util.stream.Collectors.joining; +import static org.eclipse.edc.spi.CoreConstants.EDC_NAMESPACE; import static org.eclipse.tractusx.edc.dataplane.proxy.provider.api.response.ResponseHelper.createMessageResponse; /** @@ -57,13 +58,13 @@ @Path("/" + ProviderGatewayController.GATEWAY_PATH) public class ProviderGatewayController implements ProviderGatewayApi { protected static final String GATEWAY_PATH = "gateway"; - private static final String BASE_URL = "baseUrl"; + private static final String BASE_URL = EDC_NAMESPACE + "baseUrl"; private static final String ASYNC = "async"; private static final int ALIAS_SEGMENT = 1; private static final String BEARER_PREFIX = "Bearer "; - private final DataPlaneManager dataPlaneManager; + private final TransferService transferService; private final GatewayConfigurationRegistry configurationRegistry; private final AuthorizationHandlerRegistry authorizationRegistry; @@ -73,13 +74,13 @@ public class ProviderGatewayController implements ProviderGatewayApi { private final ExecutorService executorService; - public ProviderGatewayController(DataPlaneManager dataPlaneManager, + public ProviderGatewayController(TransferService transferService, DataAddressResolver dataAddressResolver, GatewayConfigurationRegistry configurationRegistry, AuthorizationHandlerRegistry authorizationRegistry, ExecutorService executorService, Monitor monitor) { - this.dataPlaneManager = dataPlaneManager; + this.transferService = transferService; this.dataAddressResolver = dataAddressResolver; this.configurationRegistry = configurationRegistry; this.authorizationRegistry = authorizationRegistry; @@ -149,7 +150,7 @@ public void requestAsset(@Context ContainerRequestContext context, @Suspended As var sink = new AsyncStreamingDataSink(consumer -> response.resume((StreamingOutput) consumer::accept), executorService, monitor); try { - dataPlaneManager.transfer(sink, flowRequest).whenComplete((result, throwable) -> handleCompletion(response, result, throwable)); + transferService.transfer(flowRequest, sink).whenComplete((result, throwable) -> handleCompletion(response, result, throwable)); } catch (Exception e) { reportError(response, e); } @@ -196,7 +197,7 @@ private boolean authenticate(String token, String authType, String subPath, Cont /** * Handles a request completion, checking for errors. If no errors are present, nothing needs to be done as the response will have already been written to the client. */ - private void handleCompletion(AsyncResponse response, StreamResult result, Throwable throwable) { + private void handleCompletion(AsyncResponse response, StreamResult result, Throwable throwable) { if (result != null && result.failed()) { switch (result.reason()) { case NOT_FOUND: diff --git a/edc-extensions/edr/edr-api/build.gradle.kts b/edc-extensions/edr/edr-api/build.gradle.kts index cc3e8cad7..c2d1a759f 100644 --- a/edc-extensions/edr/edr-api/build.gradle.kts +++ b/edc-extensions/edr/edr-api/build.gradle.kts @@ -24,7 +24,6 @@ dependencies { implementation(project(":spi:core-spi")) implementation(libs.edc.api.management) - implementation(libs.edc.spi.aggregateservices) implementation(libs.edc.core.validator) implementation(libs.jakarta.rsApi) diff --git a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/dto/NegotiateEdrRequestDto.java b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/dto/NegotiateEdrRequestDto.java index 318cfb575..7725d0d24 100644 --- a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/dto/NegotiateEdrRequestDto.java +++ b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/dto/NegotiateEdrRequestDto.java @@ -27,16 +27,16 @@ public class NegotiateEdrRequestDto { public static final String EDR_REQUEST_SIMPLE_DTO_TYPE = "NegotiateEdrRequestDto"; public static final String EDR_REQUEST_DTO_TYPE = TX_NAMESPACE + EDR_REQUEST_SIMPLE_DTO_TYPE; - public static final String EDR_REQUEST_DTO_CONNECTOR_ADDRESS = EDC_NAMESPACE + "connectorAddress"; + public static final String EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS = EDC_NAMESPACE + "counterPartyAddress"; public static final String EDR_REQUEST_DTO_PROTOCOL = EDC_NAMESPACE + "protocol"; - public static final String EDR_REQUEST_DTO_CONNECTOR_ID = EDC_NAMESPACE + "connectorId"; + public static final String EDR_REQUEST_DTO_COUNTERPARTY_ID = EDC_NAMESPACE + "counterPartyId"; public static final String EDR_REQUEST_DTO_PROVIDER_ID = EDC_NAMESPACE + "providerId"; public static final String EDR_REQUEST_DTO_OFFER = EDC_NAMESPACE + "offer"; public static final String EDR_REQUEST_DTO_CALLBACK_ADDRESSES = EDC_NAMESPACE + "callbackAddresses"; - private String connectorAddress; + private String counterPartyAddress; private String protocol = "ids-multipart"; - private String connectorId; + private String counterPartyId; private String providerId; @@ -47,16 +47,16 @@ private NegotiateEdrRequestDto() { } - public String getConnectorAddress() { - return connectorAddress; + public String getCounterPartyAddress() { + return counterPartyAddress; } public String getProtocol() { return protocol; } - public String getConnectorId() { - return connectorId; + public String getCounterPartyId() { + return counterPartyId; } public String getProviderId() { @@ -78,12 +78,8 @@ private Builder() { dto = new NegotiateEdrRequestDto(); } - public static Builder newInstance() { - return new Builder(); - } - public Builder connectorAddress(String connectorAddress) { - dto.connectorAddress = connectorAddress; + dto.counterPartyAddress = connectorAddress; return this; } @@ -92,8 +88,8 @@ public Builder protocol(String protocol) { return this; } - public Builder connectorId(String connectorId) { - dto.connectorId = connectorId; + public Builder counterPartyId(String connectorId) { + dto.counterPartyId = connectorId; return this; } @@ -115,5 +111,9 @@ public Builder callbackAddresses(List callbackAddresses) { public NegotiateEdrRequestDto build() { return dto; } + + public static Builder newInstance() { + return new Builder(); + } } } diff --git a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/schema/EdrSchema.java b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/schema/EdrSchema.java index 3c1d6aa4f..cddd67d1f 100644 --- a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/schema/EdrSchema.java +++ b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/schema/EdrSchema.java @@ -45,7 +45,7 @@ public record NegotiateEdrRequestSchema( { "@context": { "edc": "https://w3id.org/edc/v0.0.1/ns/" }, "@type": "NegotiateEdrRequestDto", - "connectorAddress": "http://provider-address", + "counterPartyAddress": "http://provider-address", "protocol": "dataspace-protocol-http", "providerId": "provider-id", "offer": { @@ -83,10 +83,10 @@ public record EndpointDataReferenceEntrySchema( public static final String ENDPOINT_DATA_REFERENCE_ENTRY_EXAMPLE = """ { "@type": "tx:EndpointDataReferenceEntry", - "edc:agreementId": "MQ==:MQ==:ZTY3MzQ4YWEtNTdmZC00YzA0LTg2ZmQtMGMxNzk0MWM3OTkw", - "edc:transferProcessId": "78a66945-d638-4c0a-be71-b35a0318a410", - "edc:assetId": "1", - "edc:providerId": "BPNL00DATAP00001", + "agreementId": "MQ==:MQ==:ZTY3MzQ4YWEtNTdmZC00YzA0LTg2ZmQtMGMxNzk0MWM3OTkw", + "transferProcessId": "78a66945-d638-4c0a-be71-b35a0318a410", + "assetId": "1", + "providerId": "BPNL00DATAP00001", "tx:edrState": "NEGOTIATED", "tx:expirationDate": 1690811364000, "@context": { diff --git a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectToNegotiateEdrRequestDtoTransformer.java b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectToNegotiateEdrRequestDtoTransformer.java index f877cedda..81f17606a 100644 --- a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectToNegotiateEdrRequestDtoTransformer.java +++ b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectToNegotiateEdrRequestDtoTransformer.java @@ -27,8 +27,8 @@ import java.util.ArrayList; import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_CALLBACK_ADDRESSES; -import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_CONNECTOR_ADDRESS; -import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_CONNECTOR_ID; +import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS; +import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_COUNTERPARTY_ID; import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_OFFER; import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_PROTOCOL; import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_PROVIDER_ID; @@ -51,14 +51,14 @@ public JsonObjectToNegotiateEdrRequestDtoTransformer() { private void setProperties(String key, JsonValue value, NegotiateEdrRequestDto.Builder builder, TransformerContext context) { switch (key) { - case EDR_REQUEST_DTO_CONNECTOR_ADDRESS: + case EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS: transformString(value, builder::connectorAddress, context); break; case EDR_REQUEST_DTO_PROTOCOL: transformString(value, builder::protocol, context); break; - case EDR_REQUEST_DTO_CONNECTOR_ID: - transformString(value, builder::connectorId, context); + case EDR_REQUEST_DTO_COUNTERPARTY_ID: + transformString(value, builder::counterPartyId, context); break; case EDR_REQUEST_DTO_PROVIDER_ID: transformString(value, builder::providerId, context); @@ -77,9 +77,9 @@ private void setProperties(String key, JsonValue value, NegotiateEdrRequestDto.B .type(EDR_REQUEST_DTO_TYPE) .property(key) .actual(key) - .expected(EDR_REQUEST_DTO_CONNECTOR_ADDRESS) + .expected(EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS) .expected(EDR_REQUEST_DTO_PROTOCOL) - .expected(EDR_REQUEST_DTO_CONNECTOR_ID) + .expected(EDR_REQUEST_DTO_COUNTERPARTY_ID) .expected(EDR_REQUEST_DTO_PROVIDER_ID) .expected(EDR_REQUEST_DTO_CALLBACK_ADDRESSES) .expected(EDR_REQUEST_DTO_OFFER) diff --git a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/NegotiateEdrRequestDtoToNegotiatedEdrRequestTransformer.java b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/NegotiateEdrRequestDtoToNegotiatedEdrRequestTransformer.java index 8a09fcee6..c878688ac 100644 --- a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/NegotiateEdrRequestDtoToNegotiatedEdrRequestTransformer.java +++ b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/transform/NegotiateEdrRequestDtoToNegotiatedEdrRequestTransformer.java @@ -14,7 +14,7 @@ package org.eclipse.tractusx.edc.api.edr.transform; -import org.eclipse.edc.connector.contract.spi.types.offer.ContractOffer; +import org.eclipse.edc.spi.types.domain.offer.ContractOffer; import org.eclipse.edc.transform.spi.TransformerContext; import org.eclipse.edc.transform.spi.TypeTransformer; import org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto; @@ -43,8 +43,8 @@ public Class getOutputType() { .build(); return NegotiateEdrRequest.Builder.newInstance() - .connectorId(object.getConnectorId()) - .connectorAddress(object.getConnectorAddress()) + .connectorId(object.getCounterPartyId()) + .connectorAddress(object.getCounterPartyAddress()) .protocol(object.getProtocol()) .offer(contractOffer) .callbackAddresses(object.getCallbackAddresses()) diff --git a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/validation/NegotiateEdrRequestDtoValidator.java b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/validation/NegotiateEdrRequestDtoValidator.java index 4807ab212..3dca843e6 100644 --- a/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/validation/NegotiateEdrRequestDtoValidator.java +++ b/edc-extensions/edr/edr-api/src/main/java/org/eclipse/tractusx/edc/api/edr/validation/NegotiateEdrRequestDtoValidator.java @@ -23,7 +23,7 @@ import static org.eclipse.edc.connector.api.management.contractnegotiation.model.ContractOfferDescription.ASSET_ID; import static org.eclipse.edc.connector.api.management.contractnegotiation.model.ContractOfferDescription.OFFER_ID; import static org.eclipse.edc.connector.api.management.contractnegotiation.model.ContractOfferDescription.POLICY; -import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_CONNECTOR_ADDRESS; +import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS; import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_OFFER; import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_PROTOCOL; @@ -35,7 +35,7 @@ private NegotiateEdrRequestDtoValidator() { public static Validator instance() { return JsonObjectValidator.newValidator() - .verify(EDR_REQUEST_DTO_CONNECTOR_ADDRESS, MandatoryValue::new) + .verify(EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS, MandatoryValue::new) .verify(EDR_REQUEST_DTO_PROTOCOL, MandatoryValue::new) .verify(EDR_REQUEST_DTO_OFFER, MandatoryObject::new) .verifyObject(EDR_REQUEST_DTO_OFFER, v -> v diff --git a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrApiTest.java b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrApiTest.java index 9808bcac9..71e38e650 100644 --- a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrApiTest.java +++ b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrApiTest.java @@ -95,16 +95,16 @@ void edrEntryExample() throws JsonProcessingException { .isEqualTo(jsonObject.getString("tx:edrState")); assertThat(first(content, EDR_ENTRY_ASSET_ID).getJsonString(VALUE).getString()) - .isEqualTo(jsonObject.getString("edc:assetId")); + .isEqualTo(jsonObject.getString("assetId")); assertThat(first(content, EDR_ENTRY_AGREEMENT_ID).getJsonString(VALUE).getString()) - .isEqualTo(jsonObject.getString("edc:agreementId")); + .isEqualTo(jsonObject.getString("agreementId")); assertThat(first(content, EDR_ENTRY_TRANSFER_PROCESS_ID).getJsonString(VALUE).getString()) - .isEqualTo(jsonObject.getString("edc:transferProcessId")); + .isEqualTo(jsonObject.getString("transferProcessId")); assertThat(first(content, EDR_ENTRY_PROVIDER_ID).getJsonString(VALUE).getString()) - .isEqualTo(jsonObject.getString("edc:providerId")); + .isEqualTo(jsonObject.getString("providerId")); assertThat(first(content, EDR_ENTRY_EXPIRATION_DATE).getJsonNumber(VALUE).longValue()) .isEqualTo(jsonObject.getJsonNumber("tx:expirationDate").longValue()); diff --git a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrControllerTest.java b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrControllerTest.java index 81ae69845..d74de74c7 100644 --- a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrControllerTest.java +++ b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/EdrControllerTest.java @@ -26,10 +26,10 @@ import org.eclipse.edc.jsonld.spi.JsonLd; import org.eclipse.edc.jsonld.util.JacksonJsonLd; import org.eclipse.edc.junit.annotations.ApiTest; -import org.eclipse.edc.service.spi.result.ServiceResult; import org.eclipse.edc.spi.query.Criterion; import org.eclipse.edc.spi.query.QuerySpec; import org.eclipse.edc.spi.result.Result; +import org.eclipse.edc.spi.result.ServiceResult; import org.eclipse.edc.spi.types.domain.DataAddress; import org.eclipse.edc.spi.types.domain.edr.EndpointDataReference; import org.eclipse.edc.validator.spi.JsonObjectValidatorRegistry; @@ -163,7 +163,9 @@ void initEdrNegotiation_shouldReturnError_whenNotFound() { @Test void getEdr_shouldReturnDataAddress_whenFound() { var transferProcessId = "id"; - var edr = EndpointDataReference.Builder.newInstance().endpoint("test").id(transferProcessId).build(); + var edr = EndpointDataReference.Builder.newInstance().endpoint("test") + .contractId("test-contract-id") + .id(transferProcessId).build(); var response = Json.createObjectBuilder() .add(DataAddress.EDC_DATA_ADDRESS_TYPE_PROPERTY, EndpointDataReference.EDR_SIMPLE_TYPE) .add(EndpointDataReference.ENDPOINT, edr.getEndpoint()) @@ -361,7 +363,7 @@ protected Object controller() { @Override protected Object additionalResource() { final ObjectMapper objectMapper = JacksonJsonLd.createObjectMapper(); - return new JerseyJsonLdInterceptor(this.jsonLdService, objectMapper); + return new JerseyJsonLdInterceptor(this.jsonLdService, objectMapper, "edr"); } private RequestSpecification baseRequest() { diff --git a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/TestFunctions.java b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/TestFunctions.java index b326009aa..a3bb16473 100644 --- a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/TestFunctions.java +++ b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/TestFunctions.java @@ -17,8 +17,8 @@ import jakarta.json.Json; import jakarta.json.JsonObject; import org.eclipse.edc.connector.api.management.contractnegotiation.model.ContractOfferDescription; -import org.eclipse.edc.connector.contract.spi.types.offer.ContractOffer; import org.eclipse.edc.policy.model.Policy; +import org.eclipse.edc.spi.types.domain.offer.ContractOffer; import org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto; import org.eclipse.tractusx.edc.edr.spi.types.NegotiateEdrRequest; diff --git a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/EndpointDataReferenceToDataAddressTransformerTest.java b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/EndpointDataReferenceToDataAddressTransformerTest.java index a4c88bb88..0f0966054 100644 --- a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/EndpointDataReferenceToDataAddressTransformerTest.java +++ b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/EndpointDataReferenceToDataAddressTransformerTest.java @@ -44,6 +44,7 @@ void transform() { .id("dataRequestId") .authCode("authCode") .authKey("authKey") + .contractId("test-contract-id") .endpoint("http://endpoint") .build(); diff --git a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectToNegotiateEdrRequestDtoTransformerTest.java b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectToNegotiateEdrRequestDtoTransformerTest.java index 8d7d5ca46..a8e5e1568 100644 --- a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectToNegotiateEdrRequestDtoTransformerTest.java +++ b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/JsonObjectToNegotiateEdrRequestDtoTransformerTest.java @@ -35,8 +35,6 @@ import static org.eclipse.edc.connector.api.management.contractnegotiation.model.ContractOfferDescription.OFFER_ID; import static org.eclipse.edc.connector.api.management.contractnegotiation.model.ContractOfferDescription.POLICY; import static org.eclipse.edc.connector.contract.spi.types.negotiation.ContractRequest.CALLBACK_ADDRESSES; -import static org.eclipse.edc.connector.contract.spi.types.negotiation.ContractRequest.CONNECTOR_ADDRESS; -import static org.eclipse.edc.connector.contract.spi.types.negotiation.ContractRequest.CONNECTOR_ID; import static org.eclipse.edc.connector.contract.spi.types.negotiation.ContractRequest.CONTRACT_REQUEST_TYPE; import static org.eclipse.edc.connector.contract.spi.types.negotiation.ContractRequest.OFFER; import static org.eclipse.edc.connector.contract.spi.types.negotiation.ContractRequest.PROTOCOL; @@ -50,6 +48,8 @@ import static org.eclipse.edc.spi.types.domain.callback.CallbackAddress.EVENTS; import static org.eclipse.edc.spi.types.domain.callback.CallbackAddress.IS_TRANSACTIONAL; import static org.eclipse.edc.spi.types.domain.callback.CallbackAddress.URI; +import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS; +import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_COUNTERPARTY_ID; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; @@ -73,9 +73,9 @@ void setUp() { void transform() { var jsonObject = Json.createObjectBuilder() .add(TYPE, CONTRACT_REQUEST_TYPE) - .add(CONNECTOR_ADDRESS, "test-address") + .add(EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS, "test-address") + .add(EDR_REQUEST_DTO_COUNTERPARTY_ID, "test-conn-id") .add(PROTOCOL, "test-protocol") - .add(CONNECTOR_ID, "test-conn-id") .add(PROVIDER_ID, "test-provider-id") .add(CALLBACK_ADDRESSES, createCallbackAddress()) .add(OFFER, Json.createObjectBuilder() @@ -102,8 +102,8 @@ void transform() { assertThat(dto).isNotNull(); assertThat(dto.getCallbackAddresses()).isNotEmpty(); assertThat(dto.getProtocol()).isEqualTo("test-protocol"); - assertThat(dto.getConnectorAddress()).isEqualTo("test-address"); - assertThat(dto.getConnectorId()).isEqualTo("test-conn-id"); + assertThat(dto.getCounterPartyAddress()).isEqualTo("test-address"); + assertThat(dto.getCounterPartyId()).isEqualTo("test-conn-id"); assertThat(dto.getProviderId()).isEqualTo("test-provider-id"); assertThat(dto.getOffer()).isNotNull(); diff --git a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/NegotiateEdrRequestDtoToNegotiateEdrRequestTransformerTest.java b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/NegotiateEdrRequestDtoToNegotiateEdrRequestTransformerTest.java index 7fa2a4b7e..f57735975 100644 --- a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/NegotiateEdrRequestDtoToNegotiateEdrRequestTransformerTest.java +++ b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/transform/NegotiateEdrRequestDtoToNegotiateEdrRequestTransformerTest.java @@ -43,7 +43,7 @@ void verify_transform() { .uri("local://test") .build(); var dto = NegotiateEdrRequestDto.Builder.newInstance() - .connectorId("connectorId") + .counterPartyId("connectorId") .connectorAddress("address") .protocol("protocol") .providerId("test-provider") @@ -65,7 +65,7 @@ void verify_transform() { @Test void verify_transfor_withNoProviderId() { var dto = NegotiateEdrRequestDto.Builder.newInstance() - .connectorId("connectorId") + .counterPartyId("connectorId") .connectorAddress("address") .protocol("protocol") // do not set provider ID @@ -80,7 +80,7 @@ void verify_transfor_withNoProviderId() { @Test void verify_transform_withNoConsumerId() { var dto = NegotiateEdrRequestDto.Builder.newInstance() - .connectorId("connectorId") + .counterPartyId("connectorId") .connectorAddress("address") .protocol("protocol") // do not set consumer ID diff --git a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/validation/NegotiateEdrRequestDtoValidatorTest.java b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/validation/NegotiateEdrRequestDtoValidatorTest.java index 20ba6dbc5..afb2c4df9 100644 --- a/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/validation/NegotiateEdrRequestDtoValidatorTest.java +++ b/edc-extensions/edr/edr-api/src/test/java/org/eclipse/tractusx/edc/api/edr/validation/NegotiateEdrRequestDtoValidatorTest.java @@ -31,7 +31,7 @@ import static org.eclipse.edc.connector.api.management.contractnegotiation.model.ContractOfferDescription.POLICY; import static org.eclipse.edc.jsonld.spi.JsonLdKeywords.VALUE; import static org.eclipse.edc.junit.assertions.AbstractResultAssert.assertThat; -import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_CONNECTOR_ADDRESS; +import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS; import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_OFFER; import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_PROTOCOL; import static org.eclipse.tractusx.edc.api.edr.dto.NegotiateEdrRequestDto.EDR_REQUEST_DTO_PROVIDER_ID; @@ -43,7 +43,7 @@ public class NegotiateEdrRequestDtoValidatorTest { @Test void shouldSuccess_whenObjectIsValid() { var input = Json.createObjectBuilder() - .add(EDR_REQUEST_DTO_CONNECTOR_ADDRESS, value("http://connector-address")) + .add(EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS, value("http://connector-address")) .add(EDR_REQUEST_DTO_PROTOCOL, value("protocol")) .add(EDR_REQUEST_DTO_PROVIDER_ID, value("connector-id")) .add(EDR_REQUEST_DTO_OFFER, createArrayBuilder().add(createObjectBuilder() @@ -66,7 +66,7 @@ void shouldFail_whenMandatoryPropertiesAreMissing() { assertThat(result).isFailed().extracting(ValidationFailure::getViolations).asInstanceOf(list(Violation.class)) .isNotEmpty() - .anySatisfy(violation -> assertThat(violation.path()).isEqualTo(EDR_REQUEST_DTO_CONNECTOR_ADDRESS)) + .anySatisfy(violation -> assertThat(violation.path()).isEqualTo(EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS)) .anySatisfy(violation -> assertThat(violation.path()).isEqualTo(EDR_REQUEST_DTO_PROTOCOL)) .anySatisfy(violation -> assertThat(violation.path()).isEqualTo(EDR_REQUEST_DTO_OFFER)); } @@ -74,7 +74,7 @@ void shouldFail_whenMandatoryPropertiesAreMissing() { @Test void shouldFail_whenOfferMandatoryPropertiesAreMissing() { var input = Json.createObjectBuilder() - .add(EDR_REQUEST_DTO_CONNECTOR_ADDRESS, value("http://connector-address")) + .add(EDR_REQUEST_DTO_COUNTERPARTY_ADDRESS, value("http://connector-address")) .add(EDR_REQUEST_DTO_PROTOCOL, value("protocol")) .add(EDR_REQUEST_DTO_PROVIDER_ID, value("connector-id")) .add(EDR_REQUEST_DTO_OFFER, createArrayBuilder().add(createObjectBuilder())) diff --git a/edc-extensions/edr/edr-callback/build.gradle.kts b/edc-extensions/edr/edr-callback/build.gradle.kts index 5ce2eade1..59ebc3d32 100644 --- a/edc-extensions/edr/edr-callback/build.gradle.kts +++ b/edc-extensions/edr/edr-callback/build.gradle.kts @@ -24,6 +24,8 @@ dependencies { implementation(libs.edc.spi.core) implementation(libs.edc.spi.transfer) + implementation(libs.edc.spi.transform) + implementation(libs.edc.spi.transactionspi) implementation(libs.edc.spi.controlplane) implementation(libs.nimbus.jwt) diff --git a/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/ContractNegotiationCallback.java b/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/ContractNegotiationCallback.java index d9b29bc5b..031e75c3c 100644 --- a/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/ContractNegotiationCallback.java +++ b/edc-extensions/edr/edr-callback/src/main/java/org/eclipse/tractusx/edc/callback/ContractNegotiationCallback.java @@ -55,7 +55,7 @@ private Result initiateTransfer(ContractNegotiationFinalized negotiationFi .assetId(negotiationFinalized.getContractAgreement().getAssetId()) .contractId(negotiationFinalized.getContractAgreement().getId()) .connectorId(negotiationFinalized.getCounterPartyId()) - .connectorAddress(negotiationFinalized.getCounterPartyAddress()) + .counterPartyAddress(negotiationFinalized.getCounterPartyAddress()) .protocol(negotiationFinalized.getProtocol()) .dataDestination(DATA_DESTINATION) .callbackAddresses(negotiationFinalized.getCallbackAddresses()) diff --git a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/ContractNegotiationCallbackTest.java b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/ContractNegotiationCallbackTest.java index afe4dbea5..bc3d81448 100644 --- a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/ContractNegotiationCallbackTest.java +++ b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/ContractNegotiationCallbackTest.java @@ -23,13 +23,13 @@ import org.eclipse.edc.connector.contract.spi.event.contractnegotiation.ContractNegotiationRequested; import org.eclipse.edc.connector.contract.spi.event.contractnegotiation.ContractNegotiationTerminated; import org.eclipse.edc.connector.contract.spi.event.contractnegotiation.ContractNegotiationVerified; -import org.eclipse.edc.connector.contract.spi.types.agreement.ContractAgreement; import org.eclipse.edc.connector.spi.transferprocess.TransferProcessService; import org.eclipse.edc.connector.transfer.spi.types.TransferProcess; import org.eclipse.edc.connector.transfer.spi.types.TransferRequest; import org.eclipse.edc.policy.model.Policy; -import org.eclipse.edc.service.spi.result.ServiceResult; import org.eclipse.edc.spi.monitor.Monitor; +import org.eclipse.edc.spi.result.ServiceResult; +import org.eclipse.edc.spi.types.domain.agreement.ContractAgreement; import org.eclipse.edc.spi.types.domain.callback.CallbackAddress; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -63,16 +63,6 @@ public class ContractNegotiationCallbackTest { ContractNegotiationCallback callback; - private static > B baseBuilder(B builder) { - var callbacks = List.of(CallbackAddress.Builder.newInstance().uri("http://local").events(Set.of("test")).build()); - return builder - .contractNegotiationId("id") - .protocol("test") - .callbackAddresses(callbacks) - .counterPartyAddress("addr") - .counterPartyId("provider"); - } - @BeforeEach void setup() { callback = new ContractNegotiationCallback(transferProcessService, monitor); @@ -101,7 +91,7 @@ void invoke_shouldStartTransferProcess() { assertThat(transferRequest).satisfies(tp -> { assertThat(tp.getContractId()).isEqualTo(event.getContractAgreement().getId()); assertThat(tp.getAssetId()).isEqualTo(event.getContractAgreement().getAssetId()); - assertThat(tp.getConnectorAddress()).isEqualTo(event.getCounterPartyAddress()); + assertThat(tp.getCounterPartyAddress()).isEqualTo(event.getCounterPartyAddress()); assertThat(tp.getConnectorId()).isEqualTo(event.getCounterPartyId()); assertThat(tp.getProtocol()).isEqualTo(event.getProtocol()); assertThat(tp.getDataDestination()).usingRecursiveComparison().isEqualTo(DATA_DESTINATION); @@ -150,6 +140,16 @@ void invoke_whenFinalized() { verify(transferProcessService).initiateTransfer(any(TransferRequest.class)); } + private static > B baseBuilder(B builder) { + var callbacks = List.of(CallbackAddress.Builder.newInstance().uri("http://local").events(Set.of("test")).build()); + return builder + .contractNegotiationId("id") + .protocol("test") + .callbackAddresses(callbacks) + .counterPartyAddress("addr") + .counterPartyId("provider"); + } + private static class EventInstances implements ArgumentsProvider { @Override diff --git a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/InProcessCallbackMessageDispatcherTest.java b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/InProcessCallbackMessageDispatcherTest.java index 6d4763b1c..cb603e70c 100644 --- a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/InProcessCallbackMessageDispatcherTest.java +++ b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/InProcessCallbackMessageDispatcherTest.java @@ -48,7 +48,7 @@ void send_shouldInvokeRegisteredCallback() { var msg = remoteMessage(getNegotiationFinalizedEvent()); when(callback.invoke(any())).thenReturn(Result.success()); - dispatcher.send(Object.class, msg).join(); + dispatcher.dispatch(Object.class, msg).join(); verify(callback).invoke(msg); @@ -57,7 +57,7 @@ void send_shouldInvokeRegisteredCallback() { @Test void send_shouldNotInvokeRegisteredCallback_whenItsNotCallbackRemoteMessage() { - assertThatThrownBy(() -> dispatcher.send(Object.class, new TestMessage()).join()) + assertThatThrownBy(() -> dispatcher.dispatch(Object.class, new TestMessage()).join()) .hasCauseInstanceOf(EdcException.class); diff --git a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TestFunctions.java b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TestFunctions.java index 1884b9d60..8a21ed652 100644 --- a/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TestFunctions.java +++ b/edc-extensions/edr/edr-callback/src/test/java/org/eclipse/tractusx/edc/callback/TestFunctions.java @@ -23,7 +23,6 @@ import com.nimbusds.jwt.JWTClaimsSet; import com.nimbusds.jwt.SignedJWT; import org.eclipse.edc.connector.contract.spi.event.contractnegotiation.ContractNegotiationFinalized; -import org.eclipse.edc.connector.contract.spi.types.agreement.ContractAgreement; import org.eclipse.edc.connector.spi.callback.CallbackEventRemoteMessage; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessStarted; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessTerminated; @@ -31,6 +30,7 @@ import org.eclipse.edc.spi.event.Event; import org.eclipse.edc.spi.event.EventEnvelope; import org.eclipse.edc.spi.types.domain.DataAddress; +import org.eclipse.edc.spi.types.domain.agreement.ContractAgreement; import org.eclipse.edc.spi.types.domain.callback.CallbackAddress; import org.eclipse.edc.spi.types.domain.edr.EndpointDataReference; @@ -42,6 +42,24 @@ public class TestFunctions { + private static String createToken() { + try { + var key = new RSAKeyGenerator(2048) + .keyUse(KeyUse.SIGNATURE) + .keyID(UUID.randomUUID().toString()) + .generate(); + + var claims = new JWTClaimsSet.Builder().expirationTime(new Date(Instant.now().toEpochMilli())).build(); + var header = new JWSHeader.Builder(JWSAlgorithm.RS256).keyID(UUID.randomUUID().toString()).build(); + + var jwt = new SignedJWT(header, claims); + jwt.sign(new RSASSASigner(key.toPrivateKey())); + return jwt.serialize(); + } catch (JOSEException e) { + throw new RuntimeException(e); + } + } + public static ContractNegotiationFinalized getNegotiationFinalizedEvent() { var agreement = ContractAgreement.Builder.newInstance() .id("id") @@ -96,6 +114,7 @@ public static TransferProcessTerminated getTransferTerminatedEvent(String transf public static EndpointDataReference getEdr() { return EndpointDataReference.Builder.newInstance() .id("dataRequestId") + .contractId("test-contract-id") .authCode(createToken()) .authKey("authKey") .endpoint("http://endpoint") @@ -116,22 +135,4 @@ public static CallbackEventRemoteMessage remoteMessage(T ev .build(); return new CallbackEventRemoteMessage(callback, envelope, "local"); } - - private static String createToken() { - try { - var key = new RSAKeyGenerator(2048) - .keyUse(KeyUse.SIGNATURE) - .keyID(UUID.randomUUID().toString()) - .generate(); - - var claims = new JWTClaimsSet.Builder().expirationTime(new Date(Instant.now().toEpochMilli())).build(); - var header = new JWSHeader.Builder(JWSAlgorithm.RS256).keyID(UUID.randomUUID().toString()).build(); - - var jwt = new SignedJWT(header, claims); - jwt.sign(new RSASSASigner(key.toPrivateKey())); - return jwt.serialize(); - } catch (JOSEException e) { - throw new RuntimeException(e); - } - } } diff --git a/edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/asset/V0_0_5__Alter_Asset_Internalize_Properties.sql b/edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/asset/V0_0_5__Alter_Asset_Internalize_Properties.sql new file mode 100644 index 000000000..016da40db --- /dev/null +++ b/edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/asset/V0_0_5__Alter_Asset_Internalize_Properties.sql @@ -0,0 +1,54 @@ +-- +-- Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft +-- +-- 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: +-- Bayerische Motoren Werke Aktiengesellschaft - Migration into one table +-- + +-- add columns +ALTER TABLE edc_asset + ADD COLUMN properties JSON; + +ALTER TABLE edc_asset + ADD COLUMN private_properties JSON; + +ALTER TABLE edc_asset + ADD COLUMN data_address JSON; + +-- update data address, move all JSON data into the edc_asset table +UPDATE edc_asset +SET data_address = (SELECT properties FROM edc_asset_dataaddress WHERE asset_id_fk = a.asset_id)::json +FROM edc_asset as a +WHERE edc_asset.asset_id = a.asset_id; + + +-- update properties, move all JSON data from the edc_asset_properties table +UPDATE edc_asset +SET private_properties = (SELECT json_agg(json_build_object('property_name', prop.property_name, 'property_value', + prop.property_value, 'property_type', prop.property_type)) + FROM edc_asset_property prop + WHERE asset_id_fk = a.asset_id + AND prop.property_is_private = true) +FROM edc_asset as a +WHERE edc_asset.asset_id = a.asset_id; + +-- update private properties, move all JSON data from the edc_asset_properties table +UPDATE edc_asset +SET properties = (SELECT json_agg(json_build_object('property_name', prop.property_name, 'property_value', + prop.property_value, 'property_type', prop.property_type)) + FROM edc_asset_property prop + WHERE asset_id_fk = a.asset_id + AND prop.property_is_private = false) +FROM edc_asset as a +WHERE edc_asset.asset_id = a.asset_id; + + +DROP TABLE edc_asset_dataaddress; +DROP TABLE edc_asset_property; + diff --git a/edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/contractdefinition/V0_0_7__Alter_ContractDefinition_Add_Private_Properties.sql b/edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/contractdefinition/V0_0_7__Alter_ContractDefinition_Add_Private_Properties.sql new file mode 100644 index 000000000..f077590be --- /dev/null +++ b/edc-extensions/postgresql-migration/src/main/resources/org/eclipse/tractusx/edc/postgresql/migration/contractdefinition/V0_0_7__Alter_ContractDefinition_Add_Private_Properties.sql @@ -0,0 +1,16 @@ +-- +-- Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +-- +-- 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: +-- Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation +-- + +-- add columns +ALTER TABLE edc_contract_definitions + ADD COLUMN private_properties JSON; diff --git a/edc-extensions/provision-additional-headers/build.gradle.kts b/edc-extensions/provision-additional-headers/build.gradle.kts index 34528e5a7..407380ff7 100644 --- a/edc-extensions/provision-additional-headers/build.gradle.kts +++ b/edc-extensions/provision-additional-headers/build.gradle.kts @@ -26,6 +26,7 @@ dependencies { implementation(libs.edc.spi.controlplane) implementation(libs.edc.spi.core) implementation(libs.edc.spi.transfer) + implementation(libs.edc.spi.dataplane.http) testImplementation(libs.edc.junit) } diff --git a/edc-extensions/provision-additional-headers/src/main/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersProvisioner.java b/edc-extensions/provision-additional-headers/src/main/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersProvisioner.java index 972e5c5e0..e3602be05 100644 --- a/edc-extensions/provision-additional-headers/src/main/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersProvisioner.java +++ b/edc-extensions/provision-additional-headers/src/main/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersProvisioner.java @@ -20,6 +20,7 @@ package org.eclipse.tractusx.edc.provision.additionalheaders; +import org.eclipse.edc.connector.dataplane.http.spi.HttpDataAddress; import org.eclipse.edc.connector.transfer.spi.provision.Provisioner; import org.eclipse.edc.connector.transfer.spi.types.DeprovisionedResource; import org.eclipse.edc.connector.transfer.spi.types.ProvisionResponse; @@ -27,7 +28,6 @@ import org.eclipse.edc.connector.transfer.spi.types.ResourceDefinition; import org.eclipse.edc.policy.model.Policy; import org.eclipse.edc.spi.response.StatusResult; -import org.eclipse.edc.spi.types.domain.HttpDataAddress; import java.util.UUID; import java.util.concurrent.CompletableFuture; diff --git a/edc-extensions/provision-additional-headers/src/main/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersResourceDefinitionGenerator.java b/edc-extensions/provision-additional-headers/src/main/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersResourceDefinitionGenerator.java index a1314c4f2..800641b73 100644 --- a/edc-extensions/provision-additional-headers/src/main/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersResourceDefinitionGenerator.java +++ b/edc-extensions/provision-additional-headers/src/main/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersResourceDefinitionGenerator.java @@ -20,13 +20,13 @@ package org.eclipse.tractusx.edc.provision.additionalheaders; -import org.eclipse.edc.connector.contract.spi.types.agreement.ContractAgreement; import org.eclipse.edc.connector.spi.contractagreement.ContractAgreementService; import org.eclipse.edc.connector.transfer.spi.provision.ProviderResourceDefinitionGenerator; import org.eclipse.edc.connector.transfer.spi.types.DataRequest; import org.eclipse.edc.connector.transfer.spi.types.ResourceDefinition; import org.eclipse.edc.policy.model.Policy; import org.eclipse.edc.spi.types.domain.DataAddress; +import org.eclipse.edc.spi.types.domain.agreement.ContractAgreement; import org.jetbrains.annotations.Nullable; import java.util.Optional; diff --git a/edc-extensions/provision-additional-headers/src/test/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersProvisionerTest.java b/edc-extensions/provision-additional-headers/src/test/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersProvisionerTest.java index 933ff6b74..110509b16 100644 --- a/edc-extensions/provision-additional-headers/src/test/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersProvisionerTest.java +++ b/edc-extensions/provision-additional-headers/src/test/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersProvisionerTest.java @@ -20,13 +20,13 @@ package org.eclipse.tractusx.edc.provision.additionalheaders; +import org.eclipse.edc.connector.dataplane.http.spi.HttpDataAddress; import org.eclipse.edc.connector.transfer.spi.types.ProvisionResponse; import org.eclipse.edc.connector.transfer.spi.types.ProvisionedDataAddressResource; import org.eclipse.edc.connector.transfer.spi.types.ProvisionedResource; import org.eclipse.edc.connector.transfer.spi.types.ResourceDefinition; import org.eclipse.edc.policy.model.Policy; import org.eclipse.edc.spi.response.StatusResult; -import org.eclipse.edc.spi.types.domain.HttpDataAddress; import org.junit.jupiter.api.Test; import java.util.UUID; diff --git a/edc-extensions/provision-additional-headers/src/test/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersResourceDefinitionGeneratorTest.java b/edc-extensions/provision-additional-headers/src/test/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersResourceDefinitionGeneratorTest.java index 842d121fa..bc44f0ab5 100644 --- a/edc-extensions/provision-additional-headers/src/test/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersResourceDefinitionGeneratorTest.java +++ b/edc-extensions/provision-additional-headers/src/test/java/org/eclipse/tractusx/edc/provision/additionalheaders/AdditionalHeadersResourceDefinitionGeneratorTest.java @@ -20,13 +20,13 @@ package org.eclipse.tractusx.edc.provision.additionalheaders; -import org.eclipse.edc.connector.contract.spi.types.agreement.ContractAgreement; +import org.eclipse.edc.connector.dataplane.http.spi.HttpDataAddress; import org.eclipse.edc.connector.spi.contractagreement.ContractAgreementService; import org.eclipse.edc.connector.transfer.spi.provision.ProviderResourceDefinitionGenerator; import org.eclipse.edc.connector.transfer.spi.types.DataRequest; import org.eclipse.edc.policy.model.Policy; import org.eclipse.edc.spi.types.domain.DataAddress; -import org.eclipse.edc.spi.types.domain.HttpDataAddress; +import org.eclipse.edc.spi.types.domain.agreement.ContractAgreement; import org.junit.jupiter.api.Test; import java.util.UUID; diff --git a/edc-extensions/transferprocess-sftp-client/src/main/java/org/eclipse/tractusx/edc/transferprocess/sftp/client/SftpDataSink.java b/edc-extensions/transferprocess-sftp-client/src/main/java/org/eclipse/tractusx/edc/transferprocess/sftp/client/SftpDataSink.java index 4d372f96f..f24aedebe 100644 --- a/edc-extensions/transferprocess-sftp-client/src/main/java/org/eclipse/tractusx/edc/transferprocess/sftp/client/SftpDataSink.java +++ b/edc-extensions/transferprocess-sftp-client/src/main/java/org/eclipse/tractusx/edc/transferprocess/sftp/client/SftpDataSink.java @@ -30,7 +30,7 @@ public SftpDataSink(SftpClientWrapper sftpClientWrapper) { @Override - protected StreamResult transferParts(List parts) { + protected StreamResult transferParts(List parts) { for (DataSource.Part part : parts) { try { sftpClientWrapper.uploadFile(part.openStream()); diff --git a/edc-extensions/transferprocess-sftp-client/src/main/java/org/eclipse/tractusx/edc/transferprocess/sftp/client/SftpDataSource.java b/edc-extensions/transferprocess-sftp-client/src/main/java/org/eclipse/tractusx/edc/transferprocess/sftp/client/SftpDataSource.java index d670bce04..b4cf83a26 100644 --- a/edc-extensions/transferprocess-sftp-client/src/main/java/org/eclipse/tractusx/edc/transferprocess/sftp/client/SftpDataSource.java +++ b/edc-extensions/transferprocess-sftp-client/src/main/java/org/eclipse/tractusx/edc/transferprocess/sftp/client/SftpDataSource.java @@ -33,4 +33,7 @@ public StreamResult> openPartStream() { return StreamResult.success(Stream.of(sftpPart)); } + @Override + public void close() throws Exception { + } } diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/CatalogHelperFunctions.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/CatalogHelperFunctions.java index a037b9f07..269ec3528 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/CatalogHelperFunctions.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/CatalogHelperFunctions.java @@ -31,7 +31,7 @@ public class CatalogHelperFunctions { public static JsonObject createCatalogRequest(JsonObject query, String dspEndpoint) { var jsonBuilder = Json.createObjectBuilder(); jsonBuilder.add("@type", "CatalogRequest"); - jsonBuilder.add(EDC_NAMESPACE + "providerUrl", dspEndpoint); + jsonBuilder.add(EDC_NAMESPACE + "counterPartyAddress", dspEndpoint); jsonBuilder.add(EDC_NAMESPACE + "protocol", "dataspace-protocol-http"); if (query != null) { diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/EdrNegotiationHelperFunctions.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/EdrNegotiationHelperFunctions.java index ffab67582..7d2c53626 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/EdrNegotiationHelperFunctions.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/EdrNegotiationHelperFunctions.java @@ -38,9 +38,9 @@ public class EdrNegotiationHelperFunctions { public static JsonObject createEdrNegotiationRequest(String connectorAddress, String providerId, String offerId, String assetId, JsonObject policy, JsonArray callbacks) { return Json.createObjectBuilder() .add(TYPE, NegotiateEdrRequestDto.EDR_REQUEST_DTO_TYPE) - .add(EDC_NAMESPACE + "connectorId", providerId) + .add(EDC_NAMESPACE + "counterPartyId", providerId) .add(EDC_NAMESPACE + "providerId", providerId) - .add(EDC_NAMESPACE + "connectorAddress", connectorAddress) + .add(EDC_NAMESPACE + "counterPartyAddress", connectorAddress) .add(EDC_NAMESPACE + "protocol", DATASPACE_PROTOCOL_HTTP) .add(EDC_NAMESPACE + "offer", Json.createObjectBuilder() .add(EDC_NAMESPACE + "offerId", offerId) diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/Participant.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/Participant.java index d807494fe..e7f80c32f 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/Participant.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/Participant.java @@ -205,7 +205,7 @@ public String getNegotiationState(String negotiationId) { .get("/v2/contractnegotiations/{id}/state", negotiationId) .then() .statusCode(200) - .extract().body().jsonPath().getString("'edc:state'"); + .extract().body().jsonPath().getString("'state'"); } public String getContractAgreementId(String negotiationId) { @@ -293,7 +293,7 @@ public String getTransferProcessState(String id) { .get("/v2/transferprocesses/{id}/state", id) .then() .statusCode(200) - .extract().body().jsonPath().getString("'edc:state'"); + .extract().body().jsonPath().getString("'state'"); } public EndpointDataReference getDataReference(String dataRequestId) { @@ -437,7 +437,7 @@ private String getContractNegotiationField(String negotiationId, String fieldNam .then() .statusCode(200) .extract().body().jsonPath() - .getString(format("'edc:%s'", fieldName)); + .getString(format("'%s'", fieldName)); } private String getProxyData(Map body) { diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractDeleteEdrTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractDeleteEdrTest.java index e09f77d27..65cf4ff96 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractDeleteEdrTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractDeleteEdrTest.java @@ -87,7 +87,7 @@ void negotiateEdr_shouldRemoveExpiredEdrs() throws IOException { var edrCaches = SOKRATES.getEdrEntriesByAssetId(assetId); var localExpired = edrCaches.stream() .filter(json -> json.asJsonObject().getJsonString("tx:edrState").getString().equals(EXPIRED.name())) - .map(json -> json.asJsonObject().getJsonString("edc:transferProcessId").getString()) + .map(json -> json.asJsonObject().getJsonString("transferProcessId").getString()) .toList(); assertThat(localExpired).hasSizeGreaterThan(0); expired.add(localExpired.get(0)); diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractNegotiateEdrTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractNegotiateEdrTest.java index 82aabe165..a2e7873fb 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractNegotiateEdrTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractNegotiateEdrTest.java @@ -135,9 +135,9 @@ void negotiateEdr_shouldInvokeCallbacks() throws IOException { assertThat(edrCaches).hasSize(1); - var transferProcessId = edrCaches.get(0).asJsonObject().getString("edc:transferProcessId"); - var cnId = edrCaches.get(0).asJsonObject().getString("edc:contractNegotiationId"); - var agreementId = edrCaches.get(0).asJsonObject().getString("edc:agreementId"); + var transferProcessId = edrCaches.get(0).asJsonObject().getString("transferProcessId"); + var cnId = edrCaches.get(0).asJsonObject().getString("contractNegotiationId"); + var agreementId = edrCaches.get(0).asJsonObject().getString("agreementId"); assertThat(cnId).isEqualTo(contractNegotiationId); assertThat(SOKRATES.getEdrEntriesByAgreementId(agreementId)).hasSize(1); @@ -145,11 +145,11 @@ void negotiateEdr_shouldInvokeCallbacks() throws IOException { var edr = SOKRATES.getEdr(transferProcessId); - assertThat(edr.getJsonString("edc:type").getString()).isEqualTo(EDR_SIMPLE_TYPE); - assertThat(edr.getJsonString("edc:authCode").getString()).isNotNull(); - assertThat(edr.getJsonString("edc:authKey").getString()).isNotNull(); - assertThat(edr.getJsonString("edc:endpoint").getString()).isNotNull(); - assertThat(edr.getJsonString("edc:id").getString()).isEqualTo(transferProcessId); + assertThat(edr.getJsonString("type").getString()).isEqualTo(EDR_SIMPLE_TYPE); + assertThat(edr.getJsonString("authCode").getString()).isNotNull(); + assertThat(edr.getJsonString("authKey").getString()).isNotNull(); + assertThat(edr.getJsonString("endpoint").getString()).isNotNull(); + assertThat(edr.getJsonString("id").getString()).isEqualTo(transferProcessId); } diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractRenewalEdrTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractRenewalEdrTest.java index e1314d733..ce1b24060 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractRenewalEdrTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/AbstractRenewalEdrTest.java @@ -128,7 +128,7 @@ void negotiateEdr_shouldRenewTheEdr() throws IOException { var transferProcessId = edrCaches.stream() .filter(json -> json.asJsonObject().getJsonString("tx:edrState").getString().equals(EXPIRED.name())) - .map(json -> json.asJsonObject().getJsonString("edc:transferProcessId").getString()) + .map(json -> json.asJsonObject().getJsonString("transferProcessId").getString()) .findFirst() .orElseThrow(); diff --git a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/AzureToAzureTest.java b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/AzureToAzureTest.java index 68f8190de..e862f26c4 100644 --- a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/AzureToAzureTest.java +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/AzureToAzureTest.java @@ -50,12 +50,11 @@ import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.AZBLOB_PROVIDER_KEY_ALIAS; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.AZURITE_CONTAINER_PORT; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.AZURITE_DOCKER_IMAGE; -import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.COMPLETION_MARKER; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.TESTFILE_NAME; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.blobDestinationAddress; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.blobSourceAddress; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestFunctions.createSparseFile; -import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.contains; import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.verify; import static org.testcontainers.shaded.org.awaitility.Awaitility.await; @@ -120,14 +119,15 @@ void transferFile_success() { .body(request) .post() .then() + .log().ifValidationFails() + .log().ifError() .statusCode(200); await().pollInterval(Duration.ofSeconds(2)) .atMost(Duration.ofSeconds(60)) .untilAsserted(() -> assertThat(consumerBlobHelper.listBlobs(AZBLOB_CONSUMER_CONTAINER_NAME)) .isNotEmpty() - .contains(TESTFILE_NAME) - .contains(COMPLETION_MARKER)); + .contains(TESTFILE_NAME)); } @@ -172,14 +172,15 @@ void transferFile_largeFile(long sizeBytes) throws IOException { .body(request) .post() .then() + .log().ifValidationFails() + .log().ifError() .statusCode(200); await().pollInterval(Duration.ofSeconds(10)) .atMost(Duration.ofSeconds(120)) .untilAsserted(() -> assertThat(consumerBlobHelper.listBlobs(AZBLOB_CONSUMER_CONTAINER_NAME)) .isNotEmpty() - .contains(blobName) - .contains(COMPLETION_MARKER)); + .contains(blobName)); } @@ -206,14 +207,15 @@ void transferFile_targetContainerNotExist_shouldFail() { .body(request) .post() .then() + .log().ifValidationFails() + .log().ifError() .statusCode(200); // wait until the data plane logs an exception that it cannot transfer the blob await().pollInterval(Duration.ofSeconds(2)) .atMost(Duration.ofSeconds(10)) .untilAsserted(() -> verify(DATAPLANE_RUNTIME.getContext().getMonitor()) - .severe(eq("Error creating blob for %s on account %s".formatted(TESTFILE_NAME, AZBLOB_CONSUMER_ACCOUNT_NAME)), - isA(IOException.class))); + .severe(contains("Error creating blob %s on account %s".formatted(TESTFILE_NAME, AZBLOB_CONSUMER_ACCOUNT_NAME)), isA(IOException.class))); } private DataFlowRequest createFlowRequest(String blobName) { diff --git a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/MultiCloudTest.java b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/MultiCloudTest.java index b3b366cb0..570987494 100644 --- a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/MultiCloudTest.java +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/MultiCloudTest.java @@ -55,7 +55,6 @@ import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.AZBLOB_CONSUMER_ACCOUNT_NAME; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.AZBLOB_CONSUMER_CONTAINER_NAME; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.AZBLOB_CONSUMER_KEY_ALIAS; -import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.COMPLETION_MARKER; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.MINIO_CONTAINER_PORT; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.MINIO_DOCKER_IMAGE; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.S3_ACCESS_KEY_ID; @@ -75,7 +74,7 @@ public class MultiCloudTest { public static final String BLOB_KEY_ALIAS = AZBLOB_CONSUMER_KEY_ALIAS; private static final String ACCESS_KEY_ID = S3_ACCESS_KEY_ID; // user name private static final String SECRET_ACCESS_KEY = UUID.randomUUID().toString(); // password - + // Azure Blob test constants private static final String BLOB_ACCOUNT_NAME = AZBLOB_CONSUMER_ACCOUNT_NAME; private static final String BLOB_ACCOUNT_KEY = AZBLOB_CONSUMER_ACCOUNT_KEY; @@ -136,7 +135,7 @@ void transferFile_azureToS3() { .property("container", BLOB_CONTAINER_NAME) .property("account", BLOB_ACCOUNT_NAME) .property("keyName", BLOB_KEY_ALIAS) - .property("blobname", TESTFILE_NAME) + .property("blobName", TESTFILE_NAME) .build() ) .destinationDataAddress(DataAddress.Builder.newInstance() @@ -160,14 +159,15 @@ void transferFile_azureToS3() { .body(dfr) .post() .then() + .log().ifValidationFails() + .log().ifError() .statusCode(200); await().pollInterval(Duration.ofSeconds(2)) .atMost(Duration.ofSeconds(60)) .untilAsserted(() -> assertThat(listObjects(s3Client, BUCKET_NAME)) .isNotEmpty() - .contains(TESTFILE_NAME) - .anyMatch(c -> c.endsWith(COMPLETION_MARKER))); + .contains(TESTFILE_NAME)); } @Test @@ -217,7 +217,6 @@ void transferFile_s3ToAzure() { .atMost(Duration.ofSeconds(60)) .untilAsserted(() -> assertThat(blobStoreHelper.listBlobs(BLOB_CONTAINER_NAME)) .isNotEmpty() - .contains(TESTFILE_NAME) - .contains(COMPLETION_MARKER)); + .contains(TESTFILE_NAME)); } } diff --git a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/S3ToS3Test.java b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/S3ToS3Test.java index 10a690a00..8a398c3f8 100644 --- a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/S3ToS3Test.java +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/S3ToS3Test.java @@ -57,7 +57,6 @@ import static io.restassured.RestAssured.given; import static org.assertj.core.api.Assertions.assertThat; import static org.eclipse.edc.junit.testfixtures.TestUtils.getFreePort; -import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.COMPLETION_MARKER; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.MINIO_CONTAINER_PORT; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.MINIO_DOCKER_IMAGE; import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.S3_ACCESS_KEY_ID; @@ -151,8 +150,7 @@ void transferFile_success() { .atMost(Duration.ofSeconds(60)) .untilAsserted(() -> assertThat(listObjects(consumerClient, S3_CONSUMER_BUCKET_NAME)) .isNotEmpty() - .contains(TESTFILE_NAME) - .anyMatch(c -> c.endsWith(COMPLETION_MARKER))); + .contains(TESTFILE_NAME)); } @Test @@ -220,8 +218,7 @@ void transferfile_largeFile(long sizeBytes) { .atMost(Duration.ofSeconds(60)) .untilAsserted(() -> assertThat(listObjects(consumerClient, S3_CONSUMER_BUCKET_NAME)) .isNotEmpty() - .contains(TESTFILE_NAME) - .anyMatch(c -> c.endsWith(COMPLETION_MARKER))); + .contains(TESTFILE_NAME)); }); diff --git a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/TestConstants.java b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/TestConstants.java index e500270be..c61fcb07c 100644 --- a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/TestConstants.java +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/TestConstants.java @@ -47,7 +47,6 @@ public class TestConstants { public static final String S3_ACCESS_KEY_ID = "test-access-key"; // user name // GENERIC CONSTANTS public static final String TESTFILE_NAME = "testfile.json"; - public static final String COMPLETION_MARKER = ".complete"; public static DataAddress blobSourceAddress(String blobName) { return DataAddress.Builder.newInstance() @@ -55,7 +54,7 @@ public static DataAddress blobSourceAddress(String blobName) { .property("container", AZBLOB_PROVIDER_CONTAINER_NAME) .property("account", AZBLOB_PROVIDER_ACCOUNT_NAME) .property("keyName", AZBLOB_PROVIDER_KEY_ALIAS) - .property("blobname", blobName) + .property("blobName", blobName) .build(); } @@ -64,7 +63,7 @@ public static DataAddress blobDestinationAddress(String blobName) { .type("AzureStorage") .property("container", AZBLOB_CONSUMER_CONTAINER_NAME) .property("account", AZBLOB_CONSUMER_ACCOUNT_NAME) - .property("blobname", blobName) + .property("blobName", blobName) .property("keyName", AZBLOB_CONSUMER_KEY_ALIAS) .build(); } diff --git a/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/DpfProxyEndToEndTest.java b/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/DpfProxyEndToEndTest.java index c1950ee8f..d20083c66 100644 --- a/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/DpfProxyEndToEndTest.java +++ b/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/DpfProxyEndToEndTest.java @@ -17,10 +17,10 @@ import io.restassured.specification.RequestSpecification; import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; +import org.eclipse.edc.connector.dataplane.http.spi.HttpDataAddress; import org.eclipse.edc.junit.annotations.EndToEndTest; import org.eclipse.edc.junit.extensions.EdcRuntimeExtension; import org.eclipse.edc.spi.types.TypeManager; -import org.eclipse.edc.spi.types.domain.HttpDataAddress; import org.eclipse.tractusx.edc.edr.spi.store.EndpointDataReferenceCache; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; @@ -97,26 +97,6 @@ public class DpfProxyEndToEndTest { private static MockWebServer mockValidationEndpoint = new MockWebServer(); private final TypeManager typeManager = new TypeManager(); - private static Map baseConfig(Map values) { - var map = new HashMap<>(values); - map.put("edc.keystore", createKeyStore(KEYSTORE_PASS)); - map.put("edc.keystore.password", KEYSTORE_PASS); - map.put("edc.dataplane.token.validation.endpoint", "http://localhost:" + VALIDATION_ENDPOINT_PORT); - return map; - } - - @AfterAll - static void tearDown() throws IOException { - mockEndpoint.shutdown(); - mockValidationEndpoint.shutdown(); - } - - @BeforeAll - static void setUp() { - mockEndpoint = new MockWebServer(); - mockValidationEndpoint = new MockWebServer(); - } - @Test void verify_end2EndFlows() throws IOException { @@ -140,11 +120,14 @@ void verify_end2EndFlows() throws IOException { var tpSpec = createSpecification(format(REQUEST_TEMPLATE_TP, SINGLE_TRANSFER_ID, PRODUCER_HTTP_PORT)); // verify content successfully proxied using a transfer process id - tpSpec.with() + var rs = tpSpec.with() .post(PROXY_SUBPATH) .then() + .log().ifError() .assertThat().statusCode(200) - .assertThat().body(is(MOCK_ENDPOINT_200_BODY)); + .body(is(MOCK_ENDPOINT_200_BODY)); + + var str = rs.extract().body().asString(); // verify content successfully proxied using an asset id for the case where only one active transfer process exists for the asset var assetSpec = createSpecification(format(REQUEST_TEMPLATE_ASSET, SINGLE_ASSET_ID, PRODUCER_HTTP_PORT)); @@ -181,6 +164,14 @@ void verify_end2EndFlows() throws IOException { .assertThat().statusCode(428); } + private static Map baseConfig(Map values) { + var map = new HashMap<>(values); + map.put("edc.keystore", createKeyStore(KEYSTORE_PASS)); + map.put("edc.keystore.password", KEYSTORE_PASS); + map.put("edc.dataplane.token.validation.endpoint", "http://localhost:" + VALIDATION_ENDPOINT_PORT); + return map; + } + private RequestSpecification createSpecification(String body) { return given() .baseUri("http://localhost:" + CONSUMER_PROXY_PORT) @@ -197,5 +188,17 @@ private void seedEdrCache() { createEntries().forEach(e -> edrCache.save(e.getEdrEntry(), e.getEdr())); } + @AfterAll + static void tearDown() throws IOException { + mockEndpoint.shutdown(); + mockValidationEndpoint.shutdown(); + } + + @BeforeAll + static void setUp() { + mockEndpoint = new MockWebServer(); + mockValidationEndpoint = new MockWebServer(); + } + } diff --git a/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/EdrCacheSetup.java b/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/EdrCacheSetup.java index 59a1a80b8..e25045576 100644 --- a/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/EdrCacheSetup.java +++ b/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/EdrCacheSetup.java @@ -29,6 +29,29 @@ public class EdrCacheSetup { public static final String AUTHENTICATION = "authentication"; public static final String ENDPOINT = "http://test.com"; + private static String generateAuthCode() { + //noinspection StringBufferReplaceableByString + return new StringBuilder() + .append("eyJhbGciOiJSUzI1NiIsInZlcn") + .append("Npb24iOnRydWV9.") + .append("eyJpc3MiOiJ0ZXN0LWNvb") + .append("m5lY3RvciIsInN1YiI6ImNvbnN1bW") + .append("VyLWNvbm5lY3RvciIsImF1ZCI6InRlc3Q") + .append("tY29ubmVjdG9yIiwi") + .append("aWF0IjoxNjgxOTEzN") + .append("jM2LCJleHAiOjMzNDU5NzQwNzg4LCJjaWQiOiIzMmE2M") + .append("2E3ZC04MGQ2LTRmMmUtOTBlN") + .append("i04MGJhZjVmYzJiM2MifQ.QAuotoRxpEqfuzkTcTq2w5Tcyy") + .append("3Rc3UzUjjvNc_zwgNROGLe-wO") + .append("9tFET1dJ_I5BttRxkngDS37dS4R6lN5YXaGHgcH2rf_FuVcJUS") + .append("FqTp_usGAcx6m7pQQwqpNdcYgmq0NJp3xP87EFP") + .append("HAy4kBxB5bqpmx4J-zrj9U_gerZ2WlRqpu0SdgP0S5v5D1Gm-v") + .append("YkLqgvsugrAWH3Ti7OjC5UMdj0kDFwro2NpMY8SSNryiVvBEv8hn0KZdhhebIqPd") + .append("hqbEQZ9d8WKzcgoqQ3DBd4ijzkd3Fz7ADD2gy_Hxn8Hi2LcItuB514TjCxYA") + .append("ncTNqZC_JSFEyuxwcGFVz3LdSXgw") + .toString(); + } + public static List createEntries() { var list = new ArrayList(); @@ -42,6 +65,7 @@ public static List createEntries() { .endpoint(ENDPOINT) .authKey(AUTHENTICATION) .authCode(generateAuthCode()) + .contractId("test-contract-id") .build(); list.add(new PersistentCacheEntry(edrEntry, edr)); @@ -55,6 +79,7 @@ public static List createEntries() { .endpoint(ENDPOINT) .authKey(AUTHENTICATION) .authCode(generateAuthCode()) + .contractId("test-contract-id") .build(); list.add(new PersistentCacheEntry(edrEntry2, edr2)); @@ -66,36 +91,15 @@ public static List createEntries() { var edr3 = EndpointDataReference.Builder.newInstance() .id("3563c5a1-685d-40e5-a380-0b5761523d2d") .endpoint(ENDPOINT) + .contractId("test-contract-id") .authKey(AUTHENTICATION) .authCode(generateAuthCode()) .build(); + list.add(new PersistentCacheEntry(edrEntry3, edr3)); return list; } - - private static String generateAuthCode() { - //noinspection StringBufferReplaceableByString - return new StringBuilder() - .append("eyJhbGciOiJSUzI1NiIsInZlcn") - .append("Npb24iOnRydWV9.") - .append("eyJpc3MiOiJ0ZXN0LWNvb") - .append("m5lY3RvciIsInN1YiI6ImNvbnN1bW") - .append("VyLWNvbm5lY3RvciIsImF1ZCI6InRlc3Q") - .append("tY29ubmVjdG9yIiwi") - .append("aWF0IjoxNjgxOTEzN") - .append("jM2LCJleHAiOjMzNDU5NzQwNzg4LCJjaWQiOiIzMmE2M") - .append("2E3ZC04MGQ2LTRmMmUtOTBlN") - .append("i04MGJhZjVmYzJiM2MifQ.QAuotoRxpEqfuzkTcTq2w5Tcyy") - .append("3Rc3UzUjjvNc_zwgNROGLe-wO") - .append("9tFET1dJ_I5BttRxkngDS37dS4R6lN5YXaGHgcH2rf_FuVcJUS") - .append("FqTp_usGAcx6m7pQQwqpNdcYgmq0NJp3xP87EFP") - .append("HAy4kBxB5bqpmx4J-zrj9U_gerZ2WlRqpu0SdgP0S5v5D1Gm-v") - .append("YkLqgvsugrAWH3Ti7OjC5UMdj0kDFwro2NpMY8SSNryiVvBEv8hn0KZdhhebIqPd") - .append("hqbEQZ9d8WKzcgoqQ3DBd4ijzkd3Fz7ADD2gy_Hxn8Hi2LcItuB514TjCxYA") - .append("ncTNqZC_JSFEyuxwcGFVz3LdSXgw") - .toString(); - } } diff --git a/edc-tests/runtime/extensions/build.gradle.kts b/edc-tests/runtime/extensions/build.gradle.kts index 613db089b..4295b2cd9 100644 --- a/edc-tests/runtime/extensions/build.gradle.kts +++ b/edc-tests/runtime/extensions/build.gradle.kts @@ -21,6 +21,7 @@ dependencies { implementation(libs.edc.core.controlplane) implementation(libs.edc.util) + implementation(libs.edc.spi.web) // for the controller implementation(libs.jakarta.rsApi) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b1c49479c..6d1528d84 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ format.version = "1.1" [versions] -edc = "0.3.1" +edc = "0.4.1" postgres = "42.6.0" awaitility = "4.2.0" nimbus = "9.37" @@ -35,13 +35,13 @@ edc-spi-contract = { module = "org.eclipse.edc:contract-spi", version.ref = "edc edc-spi-policyengine = { module = "org.eclipse.edc:policy-engine-spi", version.ref = "edc" } edc-spi-transaction-datasource = { module = "org.eclipse.edc:transaction-datasource-spi", version.ref = "edc" } edc-spi-transactionspi = { module = "org.eclipse.edc:transaction-spi", version.ref = "edc" } -edc-spi-aggregateservices = { module = "org.eclipse.edc:aggregate-service-spi", version.ref = "edc" } edc-spi-controlplane = { module = "org.eclipse.edc:control-plane-spi", version.ref = "edc" } edc-controlplane-apiclient = { module = "org.eclipse.edc:control-plane-api-client", version.ref = "edc" } edc-spi-web = { module = "org.eclipse.edc:web-spi", version.ref = "edc" } edc-spi-http = { module = "org.eclipse.edc:http-spi", version.ref = "edc" } edc-spi-jsonld = { module = "org.eclipse.edc:json-ld-spi", version.ref = "edc" } edc-spi-jwt = { module = "org.eclipse.edc:jwt-spi", version.ref = "edc" } +edc-spi-transform = { module = "org.eclipse.edc:transform-spi", version.ref = "edc" } edc-jwt-core = { module = "org.eclipse.edc:jwt-core", version.ref = "edc" } edc-spi-oauth2 = { module = "org.eclipse.edc:oauth2-spi", version.ref = "edc" } edc-util = { module = "org.eclipse.edc:util", version.ref = "edc" } @@ -113,6 +113,7 @@ edc-controlplane-callback-dispatcher-http = { module = "org.eclipse.edc:callback edc-spi-dataplane-dataplane = { module = "org.eclipse.edc:data-plane-spi", version.ref = "edc" } edc-spi-dataplane-transfer = { module = "org.eclipse.edc:transfer-data-plane-spi", version.ref = "edc" } edc-spi-dataplane-selector = { module = "org.eclipse.edc:data-plane-selector-spi", version.ref = "edc" } +edc-spi-dataplane-http = { module = "org.eclipse.edc:data-plane-http-spi", version.ref = "edc" } edc-dpf-transferclient = { module = "org.eclipse.edc:data-plane-transfer-client", version.ref = "edc" } edc-dpf-selector-client = { module = "org.eclipse.edc:data-plane-selector-client", version.ref = "edc" } edc-dpf-selector-spi = { module = "org.eclipse.edc:data-plane-selector-spi", version.ref = "edc" } diff --git a/spi/callback-spi/build.gradle.kts b/spi/callback-spi/build.gradle.kts index f13496ffb..2ef0f4051 100644 --- a/spi/callback-spi/build.gradle.kts +++ b/spi/callback-spi/build.gradle.kts @@ -23,7 +23,6 @@ dependencies { implementation(project(":spi:edr-spi")) implementation(libs.edc.spi.core) implementation(libs.edc.spi.contract) - implementation(libs.edc.spi.aggregateservices) implementation(libs.edc.spi.controlplane) implementation(libs.edc.spi.controlplane) } diff --git a/spi/edr-spi/build.gradle.kts b/spi/edr-spi/build.gradle.kts index e170eafc3..168049a33 100644 --- a/spi/edr-spi/build.gradle.kts +++ b/spi/edr-spi/build.gradle.kts @@ -21,12 +21,11 @@ dependencies { implementation(project(":spi:core-spi")) implementation(libs.edc.spi.core) implementation(libs.edc.spi.contract) - implementation(libs.edc.spi.aggregateservices) testFixturesImplementation(libs.edc.junit) testFixturesImplementation(libs.junit.jupiter.api) testFixturesImplementation(libs.assertj) testFixturesImplementation(libs.awaitility) - + } diff --git a/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/service/EdrService.java b/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/service/EdrService.java index 54608b005..10bcc5754 100644 --- a/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/service/EdrService.java +++ b/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/service/EdrService.java @@ -16,8 +16,8 @@ import org.eclipse.edc.connector.contract.spi.types.negotiation.ContractNegotiation; import org.eclipse.edc.runtime.metamodel.annotation.ExtensionPoint; -import org.eclipse.edc.service.spi.result.ServiceResult; import org.eclipse.edc.spi.query.QuerySpec; +import org.eclipse.edc.spi.result.ServiceResult; import org.eclipse.edc.spi.types.domain.edr.EndpointDataReference; import org.eclipse.tractusx.edc.edr.spi.types.EndpointDataReferenceEntry; import org.eclipse.tractusx.edc.edr.spi.types.NegotiateEdrRequest; diff --git a/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/types/NegotiateEdrRequest.java b/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/types/NegotiateEdrRequest.java index c6cab456c..aabc0fa74 100644 --- a/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/types/NegotiateEdrRequest.java +++ b/spi/edr-spi/src/main/java/org/eclipse/tractusx/edc/edr/spi/types/NegotiateEdrRequest.java @@ -14,8 +14,8 @@ package org.eclipse.tractusx.edc.edr.spi.types; -import org.eclipse.edc.connector.contract.spi.types.offer.ContractOffer; import org.eclipse.edc.spi.types.domain.callback.CallbackAddress; +import org.eclipse.edc.spi.types.domain.offer.ContractOffer; import java.util.ArrayList; import java.util.List; @@ -63,10 +63,6 @@ private Builder() { entity = new NegotiateEdrRequest(); } - public static Builder newInstance() { - return new Builder(); - } - public Builder connectorAddress(String connectorAddress) { entity.connectorAddress = connectorAddress; return this; @@ -98,5 +94,9 @@ public NegotiateEdrRequest build() { Objects.requireNonNull(entity.offer, "offer should not be null"); return entity; } + + public static Builder newInstance() { + return new Builder(); + } } } diff --git a/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/TestFunctions.java b/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/TestFunctions.java index 97d823275..b1b589f8b 100644 --- a/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/TestFunctions.java +++ b/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/TestFunctions.java @@ -28,6 +28,7 @@ public class TestFunctions { public static EndpointDataReference edr(String id) { return EndpointDataReference.Builder.newInstance() .endpoint("http://test.com") + .contractId("test-contract-id") .id(id) .authCode("11111") .authKey("authentication").build(); From 1d17f996f3c39e0b9967b6dce31054e552c2bc84 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Tue, 21 Nov 2023 10:58:31 +0100 Subject: [PATCH 27/47] chore: run stalebot on daily schedule (#879) --- .github/workflows/stale-bot.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/stale-bot.yml b/.github/workflows/stale-bot.yml index 2a8ca07f5..922483cef 100644 --- a/.github/workflows/stale-bot.yml +++ b/.github/workflows/stale-bot.yml @@ -23,16 +23,16 @@ name: Close Inactive Issues on: - workflow_call: - secrets: - envGH: - required: true + schedule: + - cron: "30 1 * * *" # once a day (1:30 UTC) + workflow_dispatch: # allow manual trigger jobs: close-issues-in-triage: runs-on: ubuntu-latest permissions: issues: write + steps: - uses: actions/stale@v8 with: From 4234d16bbae344385db5957ccec9ecab23507fa5 Mon Sep 17 00:00:00 2001 From: "Tuncay Tunc (ZF Friedrichshafen AG)" <100704677+tuncaytunc-zf@users.noreply.github.com> Date: Thu, 23 Nov 2023 13:31:09 +0100 Subject: [PATCH 28/47] fix: Failing trivy-actions to use the version v0.14.0 (#881) * Use version v0.14.0 of trivy-action instead of master. * Use version v0.14.0 of trivy-action instead of master. * Fix DEPENDENCIES --- .github/workflows/trivy.yml | 4 ++-- DEPENDENCIES | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml index 4df265a1a..6524a2dee 100644 --- a/.github/workflows/trivy.yml +++ b/.github/workflows/trivy.yml @@ -57,7 +57,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Run Trivy vulnerability scanner in repo mode - uses: aquasecurity/trivy-action@master + uses: aquasecurity/trivy-action@0.14.0 with: scan-type: "config" # ignore-unfixed: true @@ -102,7 +102,7 @@ jobs: ## the next two steps will only execute if the image exists check was successful - name: Run Trivy vulnerability scanner if: success() && steps.imageCheck.outcome != 'failure' - uses: aquasecurity/trivy-action@master + uses: aquasecurity/trivy-action@0.14.0 with: image-ref: "tractusx/${{ matrix.image }}:sha-${{ needs.git-sha7.outputs.value }}" format: "sarif" diff --git a/DEPENDENCIES b/DEPENDENCIES index eba6ff137..598fb9a9f 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -99,9 +99,9 @@ maven/mavencentral/dev.failsafe/failsafe/3.3.1, Apache-2.0, approved, #9268 maven/mavencentral/dev.failsafe/failsafe/3.3.2, Apache-2.0, approved, #9268 maven/mavencentral/info.picocli/picocli/4.6.3, Apache-2.0, approved, clearlydefined maven/mavencentral/io.github.classgraph/classgraph/4.8.154, MIT, approved, CQ22530 -maven/mavencentral/io.micrometer/micrometer-commons/1.12.0, , restricted, clearlydefined -maven/mavencentral/io.micrometer/micrometer-core/1.12.0, , restricted, clearlydefined -maven/mavencentral/io.micrometer/micrometer-observation/1.12.0, , restricted, clearlydefined +maven/mavencentral/io.micrometer/micrometer-commons/1.12.0, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #11679 +maven/mavencentral/io.micrometer/micrometer-core/1.12.0, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #11678 +maven/mavencentral/io.micrometer/micrometer-observation/1.12.0, Apache-2.0, approved, #11680 maven/mavencentral/io.netty/netty-buffer/4.1.100.Final, Apache-2.0, approved, CQ21842 maven/mavencentral/io.netty/netty-buffer/4.1.94.Final, Apache-2.0, approved, CQ21842 maven/mavencentral/io.netty/netty-codec-dns/4.1.100.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 @@ -149,8 +149,8 @@ maven/mavencentral/io.opentelemetry/opentelemetry-api/1.31.0, Apache-2.0, approv maven/mavencentral/io.opentelemetry/opentelemetry-context/1.31.0, Apache-2.0, approved, #11088 maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.34, Apache-2.0, approved, #9687 maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.38, Apache-2.0, approved, #9687 -maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.34, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.38, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.34, Apache-2.0, approved, #11661 +maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.38, Apache-2.0, approved, #11661 maven/mavencentral/io.projectreactor/reactor-core/3.4.31, Apache-2.0, approved, #7517 maven/mavencentral/io.projectreactor/reactor-core/3.4.33, Apache-2.0, approved, #7517 maven/mavencentral/io.rest-assured/json-path/5.3.2, Apache-2.0, approved, #9261 From 0d58fb8543f9bc516de9a5306a4e7ee140a1d725 Mon Sep 17 00:00:00 2001 From: "Sascha Isele (ZF Friedrichshafen AG)" <127207440+saschaisele-zf@users.noreply.github.com> Date: Thu, 23 Nov 2023 16:01:03 +0100 Subject: [PATCH 29/47] chore(helm): re-enable resource requests and limits (#794) chore(helm): review suggestions and changes all `values.yaml` chore(helm): updated `DEPENDENCIES` chore(helm): updated helm-docs Signed-off-by: Sascha Isele --- .../tractusx-connector-azure-vault/README.md | 8 +++++++ .../values.yaml | 24 +++++++++---------- charts/tractusx-connector-memory/README.md | 4 ++++ charts/tractusx-connector-memory/values.yaml | 12 +++++----- charts/tractusx-connector/README.md | 8 +++++++ charts/tractusx-connector/values.yaml | 24 +++++++++---------- 6 files changed, 50 insertions(+), 30 deletions(-) diff --git a/charts/tractusx-connector-azure-vault/README.md b/charts/tractusx-connector-azure-vault/README.md index 90222879a..b5f6c961f 100644 --- a/charts/tractusx-connector-azure-vault/README.md +++ b/charts/tractusx-connector-azure-vault/README.md @@ -123,6 +123,8 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | controlplane.ingresses[1].tls.enabled | bool | `false` | Enables TLS on the ingress resource | | controlplane.ingresses[1].tls.secretName | string | `""` | If present overwrites the default secret name | | controlplane.initContainers | list | `[]` | | +| controlplane.limits.cpu | float | `1.5` | | +| controlplane.limits.memory | string | `"512Mi"` | | | controlplane.livenessProbe.enabled | bool | `true` | Whether to enable kubernetes [liveness-probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) | | controlplane.livenessProbe.failureThreshold | int | `6` | when a probe fails kubernetes will try 6 times before giving up | | controlplane.livenessProbe.initialDelaySeconds | int | `30` | seconds to wait before performing the first liveness check | @@ -146,6 +148,8 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | controlplane.readinessProbe.successThreshold | int | `1` | number of consecutive successes for the probe to be considered successful after having failed | | controlplane.readinessProbe.timeoutSeconds | int | `5` | number of seconds after which the probe times out | | controlplane.replicaCount | int | `1` | | +| controlplane.requests.cpu | string | `"500m"` | | +| controlplane.requests.memory | string | `"128Mi"` | | | controlplane.resources | object | `{}` | [resource management](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the container | | controlplane.securityContext.allowPrivilegeEscalation | bool | `false` | Controls [Privilege Escalation](https://kubernetes.io/docs/concepts/security/pod-security-policy/#privilege-escalation) enabling setuid binaries changing the effective user ID | | controlplane.securityContext.capabilities.add | list | `[]` | Specifies which capabilities to add to issue specialized syscalls | @@ -207,6 +211,8 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | dataplane.ingresses[0].tls.enabled | bool | `false` | Enables TLS on the ingress resource | | dataplane.ingresses[0].tls.secretName | string | `""` | If present overwrites the default secret name | | dataplane.initContainers | list | `[]` | | +| dataplane.limits.cpu | float | `1.5` | | +| dataplane.limits.memory | string | `"1024Mi"` | | | dataplane.livenessProbe.enabled | bool | `true` | Whether to enable kubernetes [liveness-probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) | | dataplane.livenessProbe.failureThreshold | int | `6` | when a probe fails kubernetes will try 6 times before giving up | | dataplane.livenessProbe.initialDelaySeconds | int | `30` | seconds to wait before performing the first liveness check | @@ -230,6 +236,8 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | dataplane.readinessProbe.successThreshold | int | `1` | number of consecutive successes for the probe to be considered successful after having failed | | dataplane.readinessProbe.timeoutSeconds | int | `5` | number of seconds after which the probe times out | | dataplane.replicaCount | int | `1` | | +| dataplane.requests.cpu | string | `"500m"` | | +| dataplane.requests.memory | string | `"128Mi"` | | | dataplane.resources | object | `{}` | [resource management](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the container | | dataplane.securityContext.allowPrivilegeEscalation | bool | `false` | Controls [Privilege Escalation](https://kubernetes.io/docs/concepts/security/pod-security-policy/#privilege-escalation) enabling setuid binaries changing the effective user ID | | dataplane.securityContext.capabilities.add | list | `[]` | Specifies which capabilities to add to issue specialized syscalls | diff --git a/charts/tractusx-connector-azure-vault/values.yaml b/charts/tractusx-connector-azure-vault/values.yaml index be67226d1..1673727e6 100644 --- a/charts/tractusx-connector-azure-vault/values.yaml +++ b/charts/tractusx-connector-azure-vault/values.yaml @@ -253,12 +253,12 @@ controlplane: # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi + limits: + cpu: 1.5 + memory: 512Mi + requests: + cpu: 500m + memory: 128Mi replicaCount: 1 autoscaling: # -- Enables [horizontal pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) @@ -453,12 +453,12 @@ dataplane: # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi + limits: + cpu: 1.5 + memory: 1024Mi + requests: + cpu: 500m + memory: 128Mi replicaCount: 1 autoscaling: # -- Enables [horizontal pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) diff --git a/charts/tractusx-connector-memory/README.md b/charts/tractusx-connector-memory/README.md index aec09e501..4ad7c1f98 100644 --- a/charts/tractusx-connector-memory/README.md +++ b/charts/tractusx-connector-memory/README.md @@ -114,6 +114,8 @@ helm install my-release tractusx-edc/tractusx-connector-memory --version 0.6.0-r | runtime.ingresses[1].tls.enabled | bool | `false` | Enables TLS on the ingress resource | | runtime.ingresses[1].tls.secretName | string | `""` | If present overwrites the default secret name | | runtime.initContainers | list | `[]` | | +| runtime.limits.cpu | float | `1.5` | | +| runtime.limits.memory | string | `"512Mi"` | | | runtime.livenessProbe.enabled | bool | `true` | Whether to enable kubernetes [liveness-probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) | | runtime.livenessProbe.failureThreshold | int | `6` | when a probe fails kubernetes will try 6 times before giving up | | runtime.livenessProbe.initialDelaySeconds | int | `30` | seconds to wait before performing the first liveness check | @@ -136,6 +138,8 @@ helm install my-release tractusx-edc/tractusx-connector-memory --version 0.6.0-r | runtime.readinessProbe.successThreshold | int | `1` | number of consecutive successes for the probe to be considered successful after having failed | | runtime.readinessProbe.timeoutSeconds | int | `5` | number of seconds after which the probe times out | | runtime.replicaCount | int | `1` | | +| runtime.requests.cpu | string | `"500m"` | | +| runtime.requests.memory | string | `"128Mi"` | | | runtime.resources | object | `{}` | [resource management](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the container | | runtime.securityContext.allowPrivilegeEscalation | bool | `false` | Controls [Privilege Escalation](https://kubernetes.io/docs/concepts/security/pod-security-policy/#privilege-escalation) enabling setuid binaries changing the effective user ID | | runtime.securityContext.capabilities.add | list | `[]` | Specifies which capabilities to add to issue specialized syscalls | diff --git a/charts/tractusx-connector-memory/values.yaml b/charts/tractusx-connector-memory/values.yaml index 9e65fefb4..a3bd7f65a 100644 --- a/charts/tractusx-connector-memory/values.yaml +++ b/charts/tractusx-connector-memory/values.yaml @@ -254,12 +254,12 @@ runtime: # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi + limits: + cpu: 1.5 + memory: 512Mi + requests: + cpu: 500m + memory: 128Mi replicaCount: 1 autoscaling: # -- Enables [horizontal pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) diff --git a/charts/tractusx-connector/README.md b/charts/tractusx-connector/README.md index 4d82d01f8..736edf86f 100644 --- a/charts/tractusx-connector/README.md +++ b/charts/tractusx-connector/README.md @@ -117,6 +117,8 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.6.0-rc1 \ | controlplane.ingresses[1].tls.enabled | bool | `false` | Enables TLS on the ingress resource | | controlplane.ingresses[1].tls.secretName | string | `""` | If present overwrites the default secret name | | controlplane.initContainers | list | `[]` | | +| controlplane.limits.cpu | float | `1.5` | | +| controlplane.limits.memory | string | `"512Mi"` | | | controlplane.livenessProbe.enabled | bool | `true` | Whether to enable kubernetes [liveness-probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) | | controlplane.livenessProbe.failureThreshold | int | `6` | when a probe fails kubernetes will try 6 times before giving up | | controlplane.livenessProbe.initialDelaySeconds | int | `30` | seconds to wait before performing the first liveness check | @@ -140,6 +142,8 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.6.0-rc1 \ | controlplane.readinessProbe.successThreshold | int | `1` | number of consecutive successes for the probe to be considered successful after having failed | | controlplane.readinessProbe.timeoutSeconds | int | `5` | number of seconds after which the probe times out | | controlplane.replicaCount | int | `1` | | +| controlplane.requests.cpu | string | `"500m"` | | +| controlplane.requests.memory | string | `"128Mi"` | | | controlplane.resources | object | `{}` | [resource management](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the container | | controlplane.securityContext.allowPrivilegeEscalation | bool | `false` | Controls [Privilege Escalation](https://kubernetes.io/docs/concepts/security/pod-security-policy/#privilege-escalation) enabling setuid binaries changing the effective user ID | | controlplane.securityContext.capabilities.add | list | `[]` | Specifies which capabilities to add to issue specialized syscalls | @@ -201,6 +205,8 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.6.0-rc1 \ | dataplane.ingresses[0].tls.enabled | bool | `false` | Enables TLS on the ingress resource | | dataplane.ingresses[0].tls.secretName | string | `""` | If present overwrites the default secret name | | dataplane.initContainers | list | `[]` | | +| dataplane.limits.cpu | float | `1.5` | | +| dataplane.limits.memory | string | `"1024Mi"` | | | dataplane.livenessProbe.enabled | bool | `true` | Whether to enable kubernetes [liveness-probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) | | dataplane.livenessProbe.failureThreshold | int | `6` | when a probe fails kubernetes will try 6 times before giving up | | dataplane.livenessProbe.initialDelaySeconds | int | `30` | seconds to wait before performing the first liveness check | @@ -224,6 +230,8 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.6.0-rc1 \ | dataplane.readinessProbe.successThreshold | int | `1` | number of consecutive successes for the probe to be considered successful after having failed | | dataplane.readinessProbe.timeoutSeconds | int | `5` | number of seconds after which the probe times out | | dataplane.replicaCount | int | `1` | | +| dataplane.requests.cpu | string | `"500m"` | | +| dataplane.requests.memory | string | `"128Mi"` | | | dataplane.resources | object | `{}` | [resource management](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the container | | dataplane.securityContext.allowPrivilegeEscalation | bool | `false` | Controls [Privilege Escalation](https://kubernetes.io/docs/concepts/security/pod-security-policy/#privilege-escalation) enabling setuid binaries changing the effective user ID | | dataplane.securityContext.capabilities.add | list | `[]` | Specifies which capabilities to add to issue specialized syscalls | diff --git a/charts/tractusx-connector/values.yaml b/charts/tractusx-connector/values.yaml index 0a4ec6074..76b50711c 100644 --- a/charts/tractusx-connector/values.yaml +++ b/charts/tractusx-connector/values.yaml @@ -253,12 +253,12 @@ controlplane: # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi + limits: + cpu: 1.5 + memory: 512Mi + requests: + cpu: 500m + memory: 128Mi replicaCount: 1 autoscaling: # -- Enables [horizontal pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) @@ -451,12 +451,12 @@ dataplane: # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi + limits: + cpu: 1.5 + memory: 1024Mi + requests: + cpu: 500m + memory: 128Mi replicaCount: 1 autoscaling: # -- Enables [horizontal pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) From 2cf666022d8fac43b80519332ebd9e1ab3d002ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Nov 2023 08:49:41 +0100 Subject: [PATCH 30/47] chore(deps): bump mikefarah/yq from 4.40.2 to 4.40.3 (#884) Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.40.2 to 4.40.3. - [Release notes](https://github.com/mikefarah/yq/releases) - [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt) - [Commits](https://github.com/mikefarah/yq/compare/v4.40.2...v4.40.3) --- updated-dependencies: - dependency-name: mikefarah/yq dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/draft-new-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/draft-new-release.yaml b/.github/workflows/draft-new-release.yaml index 20582aac7..c104e4194 100644 --- a/.github/workflows/draft-new-release.yaml +++ b/.github/workflows/draft-new-release.yaml @@ -53,7 +53,7 @@ jobs: GITHUB_PACKAGE_USERNAME: ${{ github.actor }} GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }} - name: Bump version in /charts - uses: mikefarah/yq@v4.40.2 + uses: mikefarah/yq@v4.40.3 with: cmd: |- find charts -name Chart.yaml -maxdepth 3 | xargs -n1 yq -i '.appVersion = "${{ github.event.inputs.version }}" | .version = "${{ github.event.inputs.version }}"' From dacb7a172a28a4b573856f0821f64613a19aa5b4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Nov 2023 18:00:58 +0100 Subject: [PATCH 31/47] chore(deps): bump org.junit:junit-bom from 5.10.0 to 5.10.1 (#858) * chore(deps): bump org.junit:junit-bom from 5.10.0 to 5.10.1 Bumps [org.junit:junit-bom](https://github.com/junit-team/junit5) from 5.10.0 to 5.10.1. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.10.0...r5.10.1) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * chore: deps file * chore: dependencies file --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 3 +-- build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 598fb9a9f..47de68c6b 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -74,7 +74,7 @@ maven/mavencentral/com.microsoft.azure/msal4j/1.4.0, MIT, approved, clearlydefin maven/mavencentral/com.nimbusds/content-type/2.2, Apache-2.0, approved, clearlydefined maven/mavencentral/com.nimbusds/lang-tag/1.7, Apache-2.0, approved, clearlydefined maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.30.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.37, Apache-2.0, approved, #11086 +maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.37, Apache-2.0, approved, #11701 maven/mavencentral/com.nimbusds/oauth2-oidc-sdk/10.7.1, Apache-2.0, approved, clearlydefined maven/mavencentral/com.puppycrawl.tools/checkstyle/10.0, LGPL-2.1-or-later, approved, #7936 maven/mavencentral/com.squareup.okhttp3/mockwebserver/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined @@ -411,7 +411,6 @@ maven/mavencentral/org.junit.jupiter/junit-jupiter-params/5.10.0, EPL-2.0, appro maven/mavencentral/org.junit.jupiter/junit-jupiter-params/5.10.1, EPL-2.0, approved, #9708 maven/mavencentral/org.junit.platform/junit-platform-commons/1.10.0, EPL-2.0, approved, #9715 maven/mavencentral/org.junit.platform/junit-platform-commons/1.10.1, EPL-2.0, approved, #9715 -maven/mavencentral/org.junit.platform/junit-platform-engine/1.10.0, EPL-2.0, approved, #9709 maven/mavencentral/org.junit.platform/junit-platform-engine/1.10.1, EPL-2.0, approved, #9709 maven/mavencentral/org.junit.platform/junit-platform-launcher/1.10.1, EPL-2.0, approved, #9704 maven/mavencentral/org.junit/junit-bom/5.10.0, EPL-2.0, approved, #9844 diff --git a/build.gradle.kts b/build.gradle.kts index 70e2172b1..f342f157d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -62,7 +62,7 @@ allprojects { implementation("org.slf4j:slf4j-api:2.0.9") // this is used to counter version conflicts between the JUnit version pulled in by the plugin, // and the one expected by IntelliJ - testImplementation(platform("org.junit:junit-bom:5.10.0")) + testImplementation(platform("org.junit:junit-bom:5.10.1")) constraints { implementation("org.yaml:snakeyaml:2.2") { From f188a59fca5d09c63670d05e5d3f6b5a636f35be Mon Sep 17 00:00:00 2001 From: Sebastian Bezold Date: Thu, 30 Nov 2023 12:44:10 +0100 Subject: [PATCH 32/47] chore: add 0.5.2 and 0.5.3 changes to CHANGELOG (#892) --- CHANGELOG.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22b8cba17..070a0ac8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,20 @@ All notable changes to this project will be documented in this file. +## [0.5.3] - 2023-11-10 + +What's Canged + +- chore: backport autovacuum fix https://github.com/eclipse-edc/Connector/pull/3479 by @wolf4ood in https://github.com/eclipse-tractusx/tractusx-edc/pull/871 + +## [0.5.2] - 2023-11-08 + +What's Canged + +- chore: backport autovacuum fix https://github.com/eclipse-edc/Connector/pull/3479 by @wolf4ood in https://github.com/eclipse-tractusx/tractusx-edc/pull/866 + ## [0.5.1] - 2023-08-22 -0.5.1 Latest What's Changed - chore: Improve Helm Chart documentation by @tuncaytunc-zf in [#607](https://github.com/eclipse-tractusx/tractusx-edc/pull/607) From b410898137525a83262b39f79113eb98cf9f9b02 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Dec 2023 13:14:35 +0100 Subject: [PATCH 33/47] chore(deps): bump com.nimbusds:nimbus-jose-jwt from 9.37 to 9.37.2 (#895) Bumps [com.nimbusds:nimbus-jose-jwt](https://bitbucket.org/connect2id/nimbus-jose-jwt) from 9.37 to 9.37.2. - [Changelog](https://bitbucket.org/connect2id/nimbus-jose-jwt/src/master/CHANGELOG.txt) - [Commits](https://bitbucket.org/connect2id/nimbus-jose-jwt/branches/compare/9.37.2..9.37) --- updated-dependencies: - dependency-name: com.nimbusds:nimbus-jose-jwt dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6d1528d84..4c62f7a32 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ format.version = "1.1" edc = "0.4.1" postgres = "42.6.0" awaitility = "4.2.0" -nimbus = "9.37" +nimbus = "9.37.2" azure-identity = "1.10.4" slf4j = "2.0.9" okhttp = "4.12.0" From 614cae365d126263cab4e04413ed656ec11d1694 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Dec 2023 13:14:40 +0100 Subject: [PATCH 34/47] chore(deps): bump testcontainers from 1.19.1 to 1.19.3 (#896) Bumps `testcontainers` from 1.19.1 to 1.19.3. Updates `org.testcontainers:junit-jupiter` from 1.19.1 to 1.19.3 - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.1...1.19.3) Updates `org.testcontainers:postgresql` from 1.19.1 to 1.19.3 - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.1...1.19.3) Updates `org.testcontainers:vault` from 1.19.1 to 1.19.3 - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.1...1.19.3) --- updated-dependencies: - dependency-name: org.testcontainers:junit-jupiter dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.testcontainers:postgresql dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.testcontainers:vault dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4c62f7a32..1bd37d54b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,7 +14,7 @@ bouncyCastle-jdk18on = "1.76" mockito = "5.2.0" restAssured = "5.3.2" apache-sshd = "2.11.0" -testcontainers = "1.19.1" +testcontainers = "1.19.3" aws = "2.21.5" rsApi = "3.1.0" jupiter = "5.10.0" From bcbc8374913273d2b7b35933da645d70a4f069b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Dec 2023 13:14:51 +0100 Subject: [PATCH 35/47] chore(deps): bump org.postgresql:postgresql from 42.6.0 to 42.7.0 (#897) Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.6.0 to 42.7.0. - [Release notes](https://github.com/pgjdbc/pgjdbc/releases) - [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md) - [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.6.0...REL42.7.0) --- updated-dependencies: - dependency-name: org.postgresql:postgresql dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1bd37d54b..8eb7d927d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ format.version = "1.1" [versions] edc = "0.4.1" -postgres = "42.6.0" +postgres = "42.7.0" awaitility = "4.2.0" nimbus = "9.37.2" azure-identity = "1.10.4" From 433f2f7c073da440307151710a538fde158ae196 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Dec 2023 13:14:55 +0100 Subject: [PATCH 36/47] chore(deps): bump com.azure:azure-security-keyvault-secrets (#898) Bumps [com.azure:azure-security-keyvault-secrets](https://github.com/Azure/azure-sdk-for-java) from 4.7.1 to 4.7.2. - [Release notes](https://github.com/Azure/azure-sdk-for-java/releases) - [Commits](https://github.com/Azure/azure-sdk-for-java/compare/azure-cosmos_4.7.1...azure-security-keyvault-keys_4.7.2) --- updated-dependencies: - dependency-name: com.azure:azure-security-keyvault-secrets dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts b/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts index 26c20d326..6423aa950 100644 --- a/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts +++ b/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts @@ -32,7 +32,7 @@ dependencies { } } implementation(libs.edc.azure.identity) - implementation("com.azure:azure-security-keyvault-secrets:4.7.1") + implementation("com.azure:azure-security-keyvault-secrets:4.7.2") runtimeOnly(project(":edc-extensions:edr:edr-cache-sql")) runtimeOnly(libs.edc.transaction.local) runtimeOnly(libs.edc.sql.pool) From fb50d32e5b986d88ffbb3ce091eec0722641c5e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Dec 2023 13:14:59 +0100 Subject: [PATCH 37/47] chore(deps): bump mikefarah/yq from 4.40.3 to 4.40.4 (#899) Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.40.3 to 4.40.4. - [Release notes](https://github.com/mikefarah/yq/releases) - [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt) - [Commits](https://github.com/mikefarah/yq/compare/v4.40.3...v4.40.4) --- updated-dependencies: - dependency-name: mikefarah/yq dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/draft-new-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/draft-new-release.yaml b/.github/workflows/draft-new-release.yaml index c104e4194..a4271571c 100644 --- a/.github/workflows/draft-new-release.yaml +++ b/.github/workflows/draft-new-release.yaml @@ -53,7 +53,7 @@ jobs: GITHUB_PACKAGE_USERNAME: ${{ github.actor }} GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }} - name: Bump version in /charts - uses: mikefarah/yq@v4.40.3 + uses: mikefarah/yq@v4.40.4 with: cmd: |- find charts -name Chart.yaml -maxdepth 3 | xargs -n1 yq -i '.appVersion = "${{ github.event.inputs.version }}" | .version = "${{ github.event.inputs.version }}"' From 64e2acce602bdb3d249b980da9cc7340c0589d79 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Tue, 5 Dec 2023 14:26:30 +0100 Subject: [PATCH 38/47] chore: remove edc-controlplane-memory-hashicorp-vault (#903) * chore: remove edc-controlplane-memory-hashicorp-vault * markdown lint * DEPENDENCIES --- .github/workflows/publish-docker.yaml | 1 - .github/workflows/publish-new-release.yml | 1 - .github/workflows/publish.yaml | 1 - .github/workflows/trivy.yml | 1 - .github/workflows/veracode.yaml | 1 - CHANGELOG.md | 8 +-- DEPENDENCIES | 23 ++++---- edc-controlplane/build.gradle.kts | 1 - .../build.gradle.kts | 45 --------------- .../notice.md | 28 --------- .../src/main/docker/Dockerfile | 57 ------------------- settings.gradle.kts | 1 - 12 files changed, 16 insertions(+), 152 deletions(-) delete mode 100644 edc-controlplane/edc-controlplane-memory-hashicorp-vault/build.gradle.kts delete mode 100644 edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md delete mode 100644 edc-controlplane/edc-controlplane-memory-hashicorp-vault/src/main/docker/Dockerfile diff --git a/.github/workflows/publish-docker.yaml b/.github/workflows/publish-docker.yaml index 73a667577..8d5162142 100644 --- a/.github/workflows/publish-docker.yaml +++ b/.github/workflows/publish-docker.yaml @@ -45,7 +45,6 @@ jobs: fail-fast: false matrix: variant: [ { dir: edc-controlplane, img: edc-runtime-memory }, - { dir: edc-controlplane, img: edc-controlplane-memory-hashicorp-vault }, { dir: edc-controlplane, img: edc-controlplane-postgresql-hashicorp-vault }, { dir: edc-controlplane, img: edc-controlplane-postgresql-azure-vault }, { dir: edc-dataplane, img: edc-dataplane-azure-vault }, diff --git a/.github/workflows/publish-new-release.yml b/.github/workflows/publish-new-release.yml index a5d89f412..bdd65625a 100644 --- a/.github/workflows/publish-new-release.yml +++ b/.github/workflows/publish-new-release.yml @@ -100,7 +100,6 @@ jobs: fail-fast: false matrix: variant: [ { dir: edc-controlplane, img: edc-runtime-memory }, - { dir: edc-controlplane, img: edc-controlplane-memory-hashicorp-vault }, { dir: edc-controlplane, img: edc-controlplane-postgresql-hashicorp-vault }, { dir: edc-controlplane, img: edc-controlplane-postgresql-azure-vault }, { dir: edc-dataplane, img: edc-dataplane-azure-vault }, diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 122838a7d..56253741a 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -74,7 +74,6 @@ jobs: fail-fast: false matrix: variant: [ { dir: edc-controlplane, img: edc-runtime-memory }, - { dir: edc-controlplane, img: edc-controlplane-memory-hashicorp-vault }, { dir: edc-controlplane, img: edc-controlplane-postgresql-hashicorp-vault }, { dir: edc-controlplane, img: edc-controlplane-postgresql-azure-vault }, { dir: edc-dataplane, img: edc-dataplane-azure-vault }, diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml index 6524a2dee..5d0857579 100644 --- a/.github/workflows/trivy.yml +++ b/.github/workflows/trivy.yml @@ -84,7 +84,6 @@ jobs: matrix: image: - edc-runtime-memory - - edc-controlplane-memory-hashicorp-vault - edc-controlplane-postgresql-azure-vault - edc-controlplane-postgresql-hashicorp-vault - edc-dataplane-azure-vault diff --git a/.github/workflows/veracode.yaml b/.github/workflows/veracode.yaml index 27bd02291..87200a6fc 100644 --- a/.github/workflows/veracode.yaml +++ b/.github/workflows/veracode.yaml @@ -59,7 +59,6 @@ jobs: fail-fast: false matrix: variant: [ { dir: edc-controlplane, name: edc-runtime-memory }, - { dir: edc-controlplane, name: edc-controlplane-memory-hashicorp-vault }, { dir: edc-controlplane, name: edc-controlplane-postgresql-hashicorp-vault }, { dir: edc-controlplane, name: edc-controlplane-postgresql-azure-vault }, { dir: edc-dataplane, name: edc-dataplane-azure-vault }, diff --git a/CHANGELOG.md b/CHANGELOG.md index 070a0ac8a..82c8f1995 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,15 +4,15 @@ All notable changes to this project will be documented in this file. ## [0.5.3] - 2023-11-10 -What's Canged +What's Changed -- chore: backport autovacuum fix https://github.com/eclipse-edc/Connector/pull/3479 by @wolf4ood in https://github.com/eclipse-tractusx/tractusx-edc/pull/871 +- chore: backport [autovacuum fix](https://github.com/eclipse-edc/Connector/pull/3479) by @wolf4ood in[#871]( https://github.com/eclipse-tractusx/tractusx-edc/pull/871) ## [0.5.2] - 2023-11-08 -What's Canged +What's Changed -- chore: backport autovacuum fix https://github.com/eclipse-edc/Connector/pull/3479 by @wolf4ood in https://github.com/eclipse-tractusx/tractusx-edc/pull/866 +- chore: backport [autovacuum fix](https://github.com/eclipse-edc/Connector/pull/3479) by @wolf4ood in [#866](https://github.com/eclipse-tractusx/tractusx-edc/pull/866) ## [0.5.1] - 2023-08-22 diff --git a/DEPENDENCIES b/DEPENDENCIES index 47de68c6b..dc1939db5 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -3,15 +3,17 @@ maven/mavencentral/com.apicatalog/iron-verifiable-credentials/0.8.1, Apache-2.0, maven/mavencentral/com.apicatalog/titanium-json-ld/1.0.0, Apache-2.0, approved, clearlydefined maven/mavencentral/com.apicatalog/titanium-json-ld/1.3.1, Apache-2.0, approved, #8912 maven/mavencentral/com.apicatalog/titanium-json-ld/1.3.2, Apache-2.0, approved, #8912 +maven/mavencentral/com.azure/azure-core-http-netty/1.13.10, MIT AND Apache-2.0, approved, #7948 maven/mavencentral/com.azure/azure-core-http-netty/1.13.7, MIT AND Apache-2.0, approved, #7948 maven/mavencentral/com.azure/azure-core-http-netty/1.13.9, MIT AND Apache-2.0, approved, #7948 maven/mavencentral/com.azure/azure-core/1.43.0, MIT AND Apache-2.0, approved, #10548 maven/mavencentral/com.azure/azure-core/1.44.1, MIT, approved, clearlydefined +maven/mavencentral/com.azure/azure-core/1.45.0, , restricted, clearlydefined maven/mavencentral/com.azure/azure-identity/1.10.1, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-identity/1.10.4, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-json/1.1.0, MIT AND Apache-2.0, approved, #10547 maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.7.0, MIT, approved, #10868 -maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.7.1, MIT, approved, #10868 +maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.7.2, MIT, approved, #10868 maven/mavencentral/com.azure/azure-storage-blob/12.24.1, MIT, approved, #10568 maven/mavencentral/com.azure/azure-storage-common/12.23.1, MIT, approved, #10569 maven/mavencentral/com.azure/azure-storage-internal-avro/12.9.1, MIT, approved, #10560 @@ -51,11 +53,8 @@ maven/mavencentral/com.fasterxml.jackson.module/jackson-module-jakarta-xmlbind-a maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.1, Apache-2.0, approved, #7929 maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.3, Apache-2.0, approved, #7929 maven/mavencentral/com.fasterxml.woodstox/woodstox-core/6.5.1, Apache-2.0, approved, #7950 -maven/mavencentral/com.github.docker-java/docker-java-api/3.3.3, Apache-2.0, approved, #10346 maven/mavencentral/com.github.docker-java/docker-java-api/3.3.4, Apache-2.0, approved, #10346 -maven/mavencentral/com.github.docker-java/docker-java-transport-zerodep/3.3.3, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #7946 maven/mavencentral/com.github.docker-java/docker-java-transport-zerodep/3.3.4, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #7946 -maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.3, Apache-2.0, approved, #7942 maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.4, Apache-2.0, approved, #7942 maven/mavencentral/com.github.stephenc.jcip/jcip-annotations/1.0-1, Apache-2.0, approved, CQ21949 maven/mavencentral/com.google.code.findbugs/jsr305/3.0.2, Apache-2.0, approved, #20 @@ -75,6 +74,7 @@ maven/mavencentral/com.nimbusds/content-type/2.2, Apache-2.0, approved, clearlyd maven/mavencentral/com.nimbusds/lang-tag/1.7, Apache-2.0, approved, clearlydefined maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.30.2, Apache-2.0, approved, clearlydefined maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.37, Apache-2.0, approved, #11701 +maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.37.2, Apache-2.0, approved, #11701 maven/mavencentral/com.nimbusds/oauth2-oidc-sdk/10.7.1, Apache-2.0, approved, clearlydefined maven/mavencentral/com.puppycrawl.tools/checkstyle/10.0, LGPL-2.1-or-later, approved, #7936 maven/mavencentral/com.squareup.okhttp3/mockwebserver/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined @@ -189,7 +189,6 @@ maven/mavencentral/net.bytebuddy/byte-buddy/1.12.21, Apache-2.0 AND BSD-3-Clause maven/mavencentral/net.bytebuddy/byte-buddy/1.14.1, Apache-2.0 AND BSD-3-Clause, approved, #7163 maven/mavencentral/net.java.dev.jna/jna-platform/5.13.0, Apache-2.0 OR LGPL-2.1-or-later, approved, #6707 maven/mavencentral/net.java.dev.jna/jna-platform/5.6.0, Apache-2.0 OR LGPL-2.1-or-later, approved, CQ22390 -maven/mavencentral/net.java.dev.jna/jna/5.12.1, Apache-2.0 OR LGPL-2.1-or-later, approved, #3217 maven/mavencentral/net.java.dev.jna/jna/5.13.0, Apache-2.0 AND LGPL-2.1-or-later, approved, #6709 maven/mavencentral/net.minidev/accessors-smart/2.5.0, Apache-2.0, approved, clearlydefined maven/mavencentral/net.minidev/json-smart/2.4.10, Apache-2.0, approved, #3288 @@ -396,7 +395,7 @@ maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.8.21, Apache-2.0, a maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.9.10, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.7.10, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.8.21, Apache-2.0, approved, #8865 -maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.9.10, Apache-2.0, approved, clearlydefined +maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.9.10, Apache-2.0, approved, #11827 maven/mavencentral/org.jetbrains/annotations/13.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains/annotations/17.0.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.jetbrains/annotations/24.0.1, Apache-2.0, approved, #7417 @@ -431,6 +430,7 @@ maven/mavencentral/org.ow2.asm/asm/9.2, BSD-3-Clause, approved, CQ23635 maven/mavencentral/org.ow2.asm/asm/9.3, BSD-3-Clause, approved, clearlydefined maven/mavencentral/org.ow2.asm/asm/9.6, BSD-3-Clause, approved, #10776 maven/mavencentral/org.postgresql/postgresql/42.6.0, BSD-2-Clause AND Apache-2.0, approved, #9159 +maven/mavencentral/org.postgresql/postgresql/42.7.0, BSD-2-Clause AND LicenseRef-scancode-free-unknown AND Apache-2.0, restricted, #11681 maven/mavencentral/org.reactivestreams/reactive-streams/1.0.4, CC0-1.0, approved, CQ16332 maven/mavencentral/org.reflections/reflections/0.10.2, Apache-2.0 AND WTFPL, approved, clearlydefined maven/mavencentral/org.rnorth.duct-tape/duct-tape/1.0.8, MIT, approved, clearlydefined @@ -443,17 +443,18 @@ maven/mavencentral/org.slf4j/slf4j-api/1.7.36, MIT, approved, CQ13368 maven/mavencentral/org.slf4j/slf4j-api/1.7.7, MIT, approved, CQ9827 maven/mavencentral/org.slf4j/slf4j-api/2.0.5, MIT, approved, #5915 maven/mavencentral/org.slf4j/slf4j-api/2.0.9, MIT, approved, #5915 -maven/mavencentral/org.testcontainers/database-commons/1.19.1, Apache-2.0, approved, #10345 maven/mavencentral/org.testcontainers/database-commons/1.19.2, Apache-2.0, approved, #10345 -maven/mavencentral/org.testcontainers/jdbc/1.19.1, Apache-2.0, approved, #10348 +maven/mavencentral/org.testcontainers/database-commons/1.19.3, Apache-2.0, approved, #10345 maven/mavencentral/org.testcontainers/jdbc/1.19.2, Apache-2.0, approved, #10348 +maven/mavencentral/org.testcontainers/jdbc/1.19.3, Apache-2.0, approved, #10348 maven/mavencentral/org.testcontainers/junit-jupiter/1.19.1, MIT, approved, #10344 maven/mavencentral/org.testcontainers/junit-jupiter/1.19.2, MIT, approved, #10344 -maven/mavencentral/org.testcontainers/postgresql/1.19.1, MIT, approved, #10350 +maven/mavencentral/org.testcontainers/junit-jupiter/1.19.3, MIT, approved, #10344 maven/mavencentral/org.testcontainers/postgresql/1.19.2, MIT, approved, #10350 -maven/mavencentral/org.testcontainers/testcontainers/1.19.1, Apache-2.0 AND MIT, approved, #10347 +maven/mavencentral/org.testcontainers/postgresql/1.19.3, MIT, approved, #10350 maven/mavencentral/org.testcontainers/testcontainers/1.19.2, Apache-2.0 AND MIT, approved, #10347 -maven/mavencentral/org.testcontainers/vault/1.19.1, MIT, approved, #10852 +maven/mavencentral/org.testcontainers/testcontainers/1.19.3, Apache-2.0 AND MIT, approved, #10347 +maven/mavencentral/org.testcontainers/vault/1.19.3, MIT, approved, #10852 maven/mavencentral/org.yaml/snakeyaml/2.0, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #7275 maven/mavencentral/org.yaml/snakeyaml/2.1, Apache-2.0, approved, #9847 maven/mavencentral/org.yaml/snakeyaml/2.2, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #10232 diff --git a/edc-controlplane/build.gradle.kts b/edc-controlplane/build.gradle.kts index b7a1fee31..72cc69c6b 100644 --- a/edc-controlplane/build.gradle.kts +++ b/edc-controlplane/build.gradle.kts @@ -24,7 +24,6 @@ plugins { dependencies { implementation(project(":edc-controlplane:edc-controlplane-base")) implementation(project(":edc-controlplane:edc-runtime-memory")) - implementation(project(":edc-controlplane:edc-controlplane-memory-hashicorp-vault")) implementation(project(":edc-controlplane:edc-controlplane-postgresql-azure-vault")) implementation(project(":edc-controlplane:edc-controlplane-postgresql-hashicorp-vault")) } diff --git a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/build.gradle.kts b/edc-controlplane/edc-controlplane-memory-hashicorp-vault/build.gradle.kts deleted file mode 100644 index eee005572..000000000 --- a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/build.gradle.kts +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2022 Mercedes-Benz Tech Innovation GmbH - * Copyright (c) 2021,2022 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * 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 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ - -plugins { - `java-library` - id("application") - id("com.github.johnrengelman.shadow") version "8.1.1" -} - -dependencies { - runtimeOnly(project(":edc-controlplane:edc-controlplane-base")) - runtimeOnly(libs.edc.vault.hashicorp) - runtimeOnly(libs.edc.core.controlplane) - runtimeOnly(libs.edc.dpf.transfer) - -} - - -tasks.withType { - exclude("**/pom.properties", "**/pom.xm") - mergeServiceFiles() - archiveFileName.set("${project.name}.jar") -} - -application { - mainClass.set("org.eclipse.edc.boot.system.runtime.BaseRuntime") -} - diff --git a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md b/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md deleted file mode 100644 index ac245fbb3..000000000 --- a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md +++ /dev/null @@ -1,28 +0,0 @@ -# Notice for Docker image - -An EDC Control Plane using memory-based storage, and HashiCorp Vault as secret store. - -DockerHub: - -Eclipse Tractus-X product(s) installed within the image: - -## Tractus-X-EDC Control Plane - -- GitHub: -- Project home: -- Dockerfile: -- Project license: [Apache License, Version 2.0](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/LICENSE) - -## Used base image - -- [eclipse-temurin:17.0.8.1_1-jre-alpine](https://github.com/adoptium/containers) -- Official Eclipse Temurin DockerHub page: -- Eclipse Temurin Project: -- Additional information about the Eclipse Temurin - images: - -As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc -from the base distribution, along with any direct or indirect dependencies of the primary software being contained). - -As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies -with any relevant licenses for all software contained within. diff --git a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/src/main/docker/Dockerfile b/edc-controlplane/edc-controlplane-memory-hashicorp-vault/src/main/docker/Dockerfile deleted file mode 100644 index aab4ba9c3..000000000 --- a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/src/main/docker/Dockerfile +++ /dev/null @@ -1,57 +0,0 @@ -# -# Copyright (c) 2023 ZF Friedrichshafen AG -# Copyright (c) 2022,2023 Mercedes-Benz Tech Innovation GmbH -# Copyright (c) 2021,2023 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# 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 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# - -FROM eclipse-temurin:17.0.8.1_1-jre-alpine -ARG JAR -ARG OTEL_JAR - -ARG APP_USER=docker -ARG APP_UID=10100 - -RUN addgroup --system "$APP_USER" - -RUN adduser \ - --shell /sbin/nologin \ - --disabled-password \ - --gecos "" \ - --ingroup "$APP_USER" \ - --no-create-home \ - --uid "$APP_UID" \ - "$APP_USER" - -USER "$APP_USER" -WORKDIR /app - -COPY ${JAR} edc-controlplane.jar -COPY ${OTEL_JAR} opentelemetry-javaagent.jar - -HEALTHCHECK NONE - -CMD ["java", \ - "-javaagent:/app/opentelemetry-javaagent.jar", \ - "-Dedc.fs.config=/app/configuration.properties", \ - "-Djava.util.logging.config.file=/app/logging.properties", \ - "-Dotel.javaagent.configuration-file=/app/opentelemetry.properties", \ - "-Dotel.metrics.exporter=prometheus", \ - "-Dotel.exporter.prometheus.port=9090", \ - "-Djava.security.egd=file:/dev/urandom", \ - "-jar", \ - "edc-controlplane.jar"] diff --git a/settings.gradle.kts b/settings.gradle.kts index 5f76ed7d7..d6c0b6543 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -70,7 +70,6 @@ include(":edc-tests:edc-dataplane:cloud-transfer-tests") include(":edc-controlplane") include(":edc-controlplane:edc-controlplane-base") include(":edc-controlplane:edc-runtime-memory") -include(":edc-controlplane:edc-controlplane-memory-hashicorp-vault") include(":edc-controlplane:edc-controlplane-postgresql-azure-vault") include(":edc-controlplane:edc-controlplane-postgresql-hashicorp-vault") From 263e02793354893db0a775242802e484d26f391a Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Wed, 6 Dec 2023 08:40:21 +0100 Subject: [PATCH 39/47] chore(test): deactivate Azure tests due to expired credentials (#906) --- .github/workflows/deployment-test.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deployment-test.yaml b/.github/workflows/deployment-test.yaml index 1ec1365ca..118d855f8 100644 --- a/.github/workflows/deployment-test.yaml +++ b/.github/workflows/deployment-test.yaml @@ -103,8 +103,12 @@ jobs: test-azure-vault-postgres: runs-on: ubuntu-latest needs: [ test-prepare, secret-presence ] - if: | - needs.secret-presence.outputs.AZURE_KV_CREDS +# if: | +# needs.secret-presence.outputs.AZURE_KV_CREDS + + # DEACTIVATE this job for now because our Azure Credentials are expired + # TODO: reactivate once we have refreshed Azure Credentials + if: false steps: - name: Checkout uses: actions/checkout@v4 From 3f689adf047d0124b0fda446910e4f1cd0972a65 Mon Sep 17 00:00:00 2001 From: Sebastian Bezold Date: Thu, 7 Dec 2023 08:26:42 +0100 Subject: [PATCH 40/47] chore: use new SECURITY.md template (#891) * chore: use new SECURITY.md template * fix markdown errors --------- Co-authored-by: Paul Latzelsperger --- SECURITY.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index 41745e204..837c78256 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,5 +1,17 @@ -# Security Policy +# Reporting a Vulnerability -## Reporting a Vulnerability +Please do **not** report security vulnerabilities through public GitHub issues. -Please report a found vulnerability here: +Please report vulnerabilities to this repository via **GitHub security advisories** instead. + +How? Inside affected repository → security tab + +for contributor: +→ Report a vulnerability + +for committer: +→ advisories → New draft security advisory + +In severe cases, you can also report a found vulnerability via mail or eclipse issue here: + +See [Eclipse Foundation Vulnerability Reporting Policy](https://www.eclipse.org/projects/handbook/#vulnerability) From 110625abc1cdc8467ccbebf4348be34c70f2d387 Mon Sep 17 00:00:00 2001 From: KilianHaag Date: Thu, 7 Dec 2023 10:56:55 +0100 Subject: [PATCH 41/47] fix(helm): Add missing public service (#908) --- charts/tractusx-connector-memory/README.md | 2 +- .../tractusx-connector-memory/templates/service-runtime.yaml | 4 ++++ charts/tractusx-connector-memory/values.yaml | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/charts/tractusx-connector-memory/README.md b/charts/tractusx-connector-memory/README.md index 4ad7c1f98..e810691c8 100644 --- a/charts/tractusx-connector-memory/README.md +++ b/charts/tractusx-connector-memory/README.md @@ -98,7 +98,7 @@ helm install my-release tractusx-edc/tractusx-connector-memory --version 0.6.0-r | runtime.ingresses[0].certManager.issuer | string | `""` | If preset enables certificate generation via cert-manager namespace scoped issuer | | runtime.ingresses[0].className | string | `""` | Defines the [ingress class](https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class) to use | | runtime.ingresses[0].enabled | bool | `false` | | -| runtime.ingresses[0].endpoints | list | `["protocol"]` | EDC endpoints exposed by this ingress resource | +| runtime.ingresses[0].endpoints | list | `["protocol","public"]` | EDC endpoints exposed by this ingress resource | | runtime.ingresses[0].hostname | string | `"edc-control.local"` | The hostname to be used to precisely map incoming traffic onto the underlying network service | | runtime.ingresses[0].tls | object | `{"enabled":false,"secretName":""}` | TLS [tls class](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls) applied to the ingress resource | | runtime.ingresses[0].tls.enabled | bool | `false` | Enables TLS on the ingress resource | diff --git a/charts/tractusx-connector-memory/templates/service-runtime.yaml b/charts/tractusx-connector-memory/templates/service-runtime.yaml index 016b7effa..c2d45e236 100644 --- a/charts/tractusx-connector-memory/templates/service-runtime.yaml +++ b/charts/tractusx-connector-memory/templates/service-runtime.yaml @@ -51,5 +51,9 @@ spec: targetPort: protocol protocol: TCP name: protocol + - port: {{ .Values.runtime.endpoints.public.port }} + targetPort: public + protocol: TCP + name: public selector: {{- include "txdc.runtime.selectorLabels" . | nindent 4 }} diff --git a/charts/tractusx-connector-memory/values.yaml b/charts/tractusx-connector-memory/values.yaml index a3bd7f65a..14192a7ea 100644 --- a/charts/tractusx-connector-memory/values.yaml +++ b/charts/tractusx-connector-memory/values.yaml @@ -206,6 +206,7 @@ runtime: # -- EDC endpoints exposed by this ingress resource endpoints: - protocol + - public # -- Defines the [ingress class](https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class) to use className: "" # -- TLS [tls class](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls) applied to the ingress resource From 1e42ed415b43e70f7e2f188d63b15502d1aa1c10 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Thu, 7 Dec 2023 12:27:40 +0100 Subject: [PATCH 42/47] chore: add legal info to Docker images (#910) * chore(build): add informatino about OTEL Agent to Docker notice.md * copy legal docs into docker images --- NOTICE.md | 4 ++- build.gradle.kts | 27 +++++++++++++------ .../notice.md | 4 +++ .../src/main/docker/Dockerfile | 2 ++ .../notice.md | 4 +++ .../src/main/docker/Dockerfile | 2 ++ .../src/main/docker/Dockerfile | 2 ++ .../edc-dataplane-azure-vault/notice.md | 4 +++ .../src/main/docker/Dockerfile | 2 ++ .../edc-dataplane-hashicorp-vault/notice.md | 4 +++ .../src/main/docker/Dockerfile | 2 ++ 11 files changed, 48 insertions(+), 9 deletions(-) diff --git a/NOTICE.md b/NOTICE.md index 4223c64f3..bd0807935 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -35,7 +35,9 @@ in the GitHub organization : This project leverages the following third party content. -See DEPENDENCIES file. +- OpenTelemetry Agent v1.32.0: + +For additional dependencies, see [DEPENDENCIES](./DEPENDENCIES) file. ## Cryptography diff --git a/build.gradle.kts b/build.gradle.kts index f342f157d..51f4f5db0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -102,8 +102,8 @@ allprojects { swagger { title.set((project.findProperty("apiTitle") ?: "Tractus-X REST API") as String) description = - (project.findProperty("apiDescription") - ?: "Tractus-X REST APIs - merged by OpenApiMerger") as String + (project.findProperty("apiDescription") + ?: "Tractus-X REST APIs - merged by OpenApiMerger") as String outputFilename.set(project.name) outputDirectory.set(file("${rootProject.projectDir.path}/resources/openapi/yaml")) resourcePackages = setOf("org.eclipse.tractusx.edc") @@ -147,12 +147,12 @@ allprojects { subprojects { afterEvaluate { if (project.plugins.hasPlugin("com.github.johnrengelman.shadow") && - file("${project.projectDir}/src/main/docker/Dockerfile").exists() + file("${project.projectDir}/src/main/docker/Dockerfile").exists() ) { val agentFile = project.buildDir.resolve("opentelemetry-javaagent.jar") // create task to download the opentelemetry agent - val openTelemetryAgentUrl = "https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v1.27.0/opentelemetry-javaagent.jar" + val openTelemetryAgentUrl = "https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v1.32.0/opentelemetry-javaagent.jar" val downloadOtel = tasks.create("downloadOtel") { // only execute task if the opentelemetry agent does not exist. invoke the "clean" task to force onlyIf { @@ -166,8 +166,8 @@ subprojects { doLast { val download = { url: String, destFile: File -> ant.invokeMethod( - "get", - mapOf("src" to url, "dest" to destFile) + "get", + mapOf("src" to url, "dest" to destFile) ) } logger.lifecycle("Downloading OpenTelemetry Agent") @@ -175,6 +175,14 @@ subprojects { } } + // this task copies some legal docs into the build folder, so we can easily copy them into the docker images + val copyLegalDocs = tasks.create("copyLegalDocs", Copy::class) { + from(project.rootProject.projectDir) + into("${project.buildDir}/legal") + include("SECURITY.md", "NOTICE.md", "DEPENDENCIES", "LICENSE") + dependsOn(tasks.named(ShadowJavaPlugin.SHADOW_JAR_TASK_NAME)) + } + //actually apply the plugin to the (sub-)project apply(plugin = "com.bmuschko.docker-remote-api") // configure the "dockerize" task @@ -188,11 +196,14 @@ subprojects { platform.set(System.getProperty("platform")) buildArgs.put("JAR", "build/libs/${project.name}.jar") buildArgs.put("OTEL_JAR", agentFile.relativeTo(dockerContextDir).path) + buildArgs.put("ADDITIONAL_FILES", "build/legal/*") inputDir.set(file(dockerContextDir)) } // make sure always runs after "dockerize" and after "copyOtel" - dockerTask.dependsOn(tasks.named(ShadowJavaPlugin.SHADOW_JAR_TASK_NAME)) - .dependsOn(downloadOtel) + dockerTask + .dependsOn(tasks.named(ShadowJavaPlugin.SHADOW_JAR_TASK_NAME)) + .dependsOn(downloadOtel) + .dependsOn(copyLegalDocs) } } } diff --git a/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md b/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md index 259d3980a..2861275bb 100644 --- a/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md +++ b/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md @@ -21,6 +21,10 @@ Eclipse Tractus-X product(s) installed within the image: - Additional information about the Eclipse Temurin images: +## Third-Party Software + +- OpenTelemetry Agent v1.32.0: + As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/edc-controlplane/edc-controlplane-postgresql-azure-vault/src/main/docker/Dockerfile b/edc-controlplane/edc-controlplane-postgresql-azure-vault/src/main/docker/Dockerfile index ee8f2f0c5..6f3762542 100644 --- a/edc-controlplane/edc-controlplane-postgresql-azure-vault/src/main/docker/Dockerfile +++ b/edc-controlplane/edc-controlplane-postgresql-azure-vault/src/main/docker/Dockerfile @@ -21,6 +21,7 @@ FROM eclipse-temurin:17.0.8.1_1-jre-alpine ARG JAR ARG OTEL_JAR +ARG ADDITIONAL_FILES ARG APP_USER=docker ARG APP_UID=10100 @@ -41,6 +42,7 @@ WORKDIR /app COPY ${JAR} edc-controlplane.jar COPY ${OTEL_JAR} opentelemetry-javaagent.jar +COPY ${ADDITIONAL_FILES} ./ HEALTHCHECK NONE diff --git a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md index 67b394728..4881e84c2 100644 --- a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md +++ b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md @@ -21,6 +21,10 @@ Eclipse Tractus-X product(s) installed within the image: - Additional information about the Eclipse Temurin images: +## Third-Party Software + +- OpenTelemetry Agent v1.32.0: + As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile index aab4ba9c3..820a5b22e 100644 --- a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile +++ b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile @@ -22,6 +22,7 @@ FROM eclipse-temurin:17.0.8.1_1-jre-alpine ARG JAR ARG OTEL_JAR +ARG ADDITIONAL_FILES ARG APP_USER=docker ARG APP_UID=10100 @@ -42,6 +43,7 @@ WORKDIR /app COPY ${JAR} edc-controlplane.jar COPY ${OTEL_JAR} opentelemetry-javaagent.jar +COPY ${ADDITIONAL_FILES} ./ HEALTHCHECK NONE diff --git a/edc-controlplane/edc-runtime-memory/src/main/docker/Dockerfile b/edc-controlplane/edc-runtime-memory/src/main/docker/Dockerfile index 998d6388e..610d5a347 100644 --- a/edc-controlplane/edc-runtime-memory/src/main/docker/Dockerfile +++ b/edc-controlplane/edc-runtime-memory/src/main/docker/Dockerfile @@ -25,6 +25,7 @@ ARG JAR ARG APP_USER=docker ARG APP_UID=10100 +ARG ADDITIONAL_FILES RUN addgroup --system "$APP_USER" @@ -41,6 +42,7 @@ USER "$APP_USER" WORKDIR /app COPY ${JAR} edc-controlplane.jar +COPY ${ADDITIONAL_FILES} ./ HEALTHCHECK NONE diff --git a/edc-dataplane/edc-dataplane-azure-vault/notice.md b/edc-dataplane/edc-dataplane-azure-vault/notice.md index d31151af5..becd58900 100644 --- a/edc-dataplane/edc-dataplane-azure-vault/notice.md +++ b/edc-dataplane/edc-dataplane-azure-vault/notice.md @@ -21,6 +21,10 @@ Eclipse Tractus-X product(s) installed within the image: - Additional information about the Eclipse Temurin images: +## Third-Party Software + +- OpenTelemetry Agent v1.32.0: + As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile b/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile index 960c40f3d..5a76a10a2 100644 --- a/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile +++ b/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile @@ -21,6 +21,7 @@ FROM eclipse-temurin:17.0.8.1_1-jre-alpine ARG JAR ARG OTEL_JAR +ARG ADDITIONAL_FILES ARG APP_USER=docker ARG APP_UID=10100 @@ -41,6 +42,7 @@ WORKDIR /app COPY ${JAR} edc-dataplane.jar COPY ${OTEL_JAR} opentelemetry-javaagent.jar +COPY ${ADDITIONAL_FILES} ./ HEALTHCHECK NONE diff --git a/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md b/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md index 4518969fd..b64fbe051 100644 --- a/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md +++ b/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md @@ -21,6 +21,10 @@ Eclipse Tractus-X product(s) installed within the image: - Additional information about the Eclipse Temurin images: +## Third-Party Software + +- OpenTelemetry Agent v1.32.0: + As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/edc-dataplane/edc-dataplane-hashicorp-vault/src/main/docker/Dockerfile b/edc-dataplane/edc-dataplane-hashicorp-vault/src/main/docker/Dockerfile index 2ba282d04..70e33b876 100644 --- a/edc-dataplane/edc-dataplane-hashicorp-vault/src/main/docker/Dockerfile +++ b/edc-dataplane/edc-dataplane-hashicorp-vault/src/main/docker/Dockerfile @@ -22,6 +22,7 @@ FROM eclipse-temurin:17.0.8.1_1-jre-alpine ARG JAR ARG OTEL_JAR +ARG ADDITIONAL_FILES ARG APP_USER=docker ARG APP_UID=10100 @@ -42,6 +43,7 @@ WORKDIR /app COPY ${JAR} edc-dataplane.jar COPY ${OTEL_JAR} opentelemetry-javaagent.jar +COPY ${ADDITIONAL_FILES} ./ HEALTHCHECK NONE From 291b22b976b91728eccd1fb09d1c12c779df850b Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Thu, 7 Dec 2023 14:31:22 +0100 Subject: [PATCH 43/47] chore: adds a Notice section to all Markdown files in doc/ (#911) --- docs/README.md | 8 ++++ docs/development/Release.md | 8 ++++ docs/development/coding-principles.md | 8 ++++ .../2023-02-09-release-process/README.md | 8 ++++ .../2023-02-27_testing/README.md | 8 ++++ .../2023-03-02_gradle_build/README.md | 8 ++++ .../2023-03-23_remove_lombok/README.md | 8 ++++ .../2023-04-03_renaming_branches/README.md | 8 ++++ .../2023-04-11_refactor_helmcharts/README.md | 8 ++++ .../2023-04-20_conventional_commits/README.md | 8 ++++ .../2023-05-23_activate_checkstyle/README.md | 8 ++++ .../2023-05-23_java_17_baseline/README.md | 8 ++++ .../2023-06-13_use_of_iron_library/README.md | 8 ++++ .../README.md | 8 ++++ .../README.md | 8 ++++ .../README.md | 8 ++++ .../README.md | 8 ++++ docs/development/postman/README.md | 8 ++++ docs/development/scripts/daps_token/README.md | 27 ----------- .../scripts/daps_token/daps_auth.sh | 45 ------------------- docs/development/scripts/daps_token/key.pem | 2 - docs/kit/Adoption View/00_adoption-view.md | 8 ++++ docs/kit/Development View/01_domain_model.md | 8 ++++ .../02_OpenAPI/00_open_api.md | 8 ++++ .../05_EDC Extensions/00_extensions.md | 8 ++++ .../Documentation/00_repository_structure.md | 8 ++++ .../kit/Documentation/01_project_structure.md | 8 ++++ docs/kit/Operation View/00_operation_view.md | 8 ++++ .../01_technical_prerequisites.md | 8 ++++ .../00_local_setup_controlplane.md | 8 ++++ .../01_local_setup_dataplane.md | 8 ++++ .../04_Test Your Setup/01_api.md | 8 ++++ .../05_Migration/00_upgrading.md | 8 ++++ docs/migration/Version_0.0.x_0.1.x.md | 8 ++++ docs/migration/Version_0.1.0_0.1.1.md | 8 ++++ docs/migration/Version_0.1.2_0.1.3.md | 8 ++++ docs/migration/Version_0.1.x_0.3.x.md | 8 ++++ docs/migration/Version_0.3.0_0.3.1.md | 8 ++++ docs/migration/Version_0.3.1_0.3.2.md | 8 ++++ docs/migration/Version_0.3.3_0.3.4.md | 8 ++++ docs/migration/Version_0.3.4_0.4.0.md | 8 ++++ docs/migration/Version_0.4.x_0.5.x.md | 8 ++++ docs/release-notes/Version 0.1.0.md | 8 ++++ docs/release-notes/Version 0.1.1.md | 8 ++++ docs/release-notes/Version 0.1.2.md | 8 ++++ docs/release-notes/Version 0.1.3.md | 8 ++++ docs/release-notes/Version 0.1.5.md | 8 ++++ docs/samples/README.md | 8 ++++ docs/samples/Transfer Data.md | 8 ++++ docs/samples/example-dataspace/README.md | 8 ++++ 50 files changed, 376 insertions(+), 74 deletions(-) delete mode 100644 docs/development/scripts/daps_token/README.md delete mode 100755 docs/development/scripts/daps_token/daps_auth.sh delete mode 100644 docs/development/scripts/daps_token/key.pem diff --git a/docs/README.md b/docs/README.md index 6a5605eef..1ac9bcd7d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -52,3 +52,11 @@ The three supported setups are. - [EDC Domain Model](https://github.com/eclipse-edc/Connector/blob/main/docs/developer/architecture/domain-model.md) - [EDC Open API Spec](https://github.com/eclipse-edc/Connector/blob/main/resources/openapi/openapi.yaml) - [HTTP Receiver Extension](https://github.com/eclipse-edc/Connector/tree/main/extensions/control-plane/http-receiver) + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/Release.md b/docs/development/Release.md index 3992c0a1d..d3560ac29 100644 --- a/docs/development/Release.md +++ b/docs/development/Release.md @@ -40,3 +40,11 @@ The Eclipse Bot is able to approve dependencies automatically, if the license ca [maven-shield]: https://img.shields.io/badge/Apache%20Maven-URL-blue [maven-url]: https://maven.apache.org + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/coding-principles.md b/docs/development/coding-principles.md index 624186c46..eeeb1c3cd 100644 --- a/docs/development/coding-principles.md +++ b/docs/development/coding-principles.md @@ -136,3 +136,11 @@ and register with the `HealthCheckService`, thus reporting the service's readine 1. Always close explicitly `Stream` objects that are returned by a service/store, since they could carry a connection, which otherwise would leak. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-02-09-release-process/README.md b/docs/development/decision-records/2023-02-09-release-process/README.md index 4b2771c0a..8f04abe1b 100644 --- a/docs/development/decision-records/2023-02-09-release-process/README.md +++ b/docs/development/decision-records/2023-02-09-release-process/README.md @@ -116,3 +116,11 @@ current date, we can start the nightly. If the EDC nightly doesn't appear within which prescribes the use of Jenkins for publishing to MavenCentral and OSSRH. - Typically, GitHub Actions should perform all verification tasks, running tests, etc. and Jenkins' only purpose is to publish. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-02-27_testing/README.md b/docs/development/decision-records/2023-02-27_testing/README.md index 0d12ab353..7e4eb6e38 100644 --- a/docs/development/decision-records/2023-02-27_testing/README.md +++ b/docs/development/decision-records/2023-02-27_testing/README.md @@ -84,3 +84,11 @@ This section explains _at which point in time_ we should execute which test. Thi | System/End-To-End test | on pull request branches except when marked as `draft` | | | Deployment test | before merging pull requests and on every commit on `main` | | | Performance test | Only on a specific schedule, e.g. once per day or week | | + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-03-02_gradle_build/README.md b/docs/development/decision-records/2023-03-02_gradle_build/README.md index 9d4461cc6..308b9ca0f 100644 --- a/docs/development/decision-records/2023-03-02_gradle_build/README.md +++ b/docs/development/decision-records/2023-03-02_gradle_build/README.md @@ -46,3 +46,11 @@ parallelization resulting in faster and more responsive builds. Planned improvements regarding the testing procedure will also greatly benefit from the EDC build tools such as JUnit tags and conditional evaluation of the tagged tests. Much of EDC's testing framework is based on Gradle and can be seamlessly integrated in tractusx-edc. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-03-23_remove_lombok/README.md b/docs/development/decision-records/2023-03-23_remove_lombok/README.md index e4642abf5..af7f53f09 100644 --- a/docs/development/decision-records/2023-03-23_remove_lombok/README.md +++ b/docs/development/decision-records/2023-03-23_remove_lombok/README.md @@ -35,3 +35,11 @@ should not build those obstructions into the code base. ## Further consideration We can even expect a slightly faster build, because "delomboking" will become unnecessary. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-04-03_renaming_branches/README.md b/docs/development/decision-records/2023-04-03_renaming_branches/README.md index 8976e4d55..ef0f95497 100644 --- a/docs/development/decision-records/2023-04-03_renaming_branches/README.md +++ b/docs/development/decision-records/2023-04-03_renaming_branches/README.md @@ -59,3 +59,11 @@ like force-pushing. Write access to `upstream` is required!_ The new `releases` branch (note the plural) will serve the same purpose that `main` did up until now, which is to track all releases (via merge commits and tags) in chronological order. We will continue to have separate `release/x.y.z` branches for every release. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-04-11_refactor_helmcharts/README.md b/docs/development/decision-records/2023-04-11_refactor_helmcharts/README.md index 11294f82b..8c17c3100 100644 --- a/docs/development/decision-records/2023-04-11_refactor_helmcharts/README.md +++ b/docs/development/decision-records/2023-04-11_refactor_helmcharts/README.md @@ -110,3 +110,11 @@ edc-dataplane |-> edc-dataplane-hashicorp-vault |-> edc-dataplane-azure-vaul ``` + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-04-20_conventional_commits/README.md b/docs/development/decision-records/2023-04-20_conventional_commits/README.md index fca3e201c..56aee75dd 100644 --- a/docs/development/decision-records/2023-04-20_conventional_commits/README.md +++ b/docs/development/decision-records/2023-04-20_conventional_commits/README.md @@ -41,3 +41,11 @@ to (auto-generated) documentation, render visually appealing version information number of tooling on top of cc's. One key aspect would be to get rid of the manual changelog, see [this discussion](https://github.com/eclipse-tractusx/tractusx-edc/discussions/253). + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-05-23_activate_checkstyle/README.md b/docs/development/decision-records/2023-05-23_activate_checkstyle/README.md index a42559758..77da39cc5 100644 --- a/docs/development/decision-records/2023-05-23_activate_checkstyle/README.md +++ b/docs/development/decision-records/2023-05-23_activate_checkstyle/README.md @@ -15,3 +15,11 @@ Our CI pipeline already uses checkstyle, but only outputs warning at the moment. - in `resources/tx-checkstyle-config.xml`, Line 22, change `` to ``. - fix all checkstyle errors + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-05-23_java_17_baseline/README.md b/docs/development/decision-records/2023-05-23_java_17_baseline/README.md index fc65db00b..73c969504 100644 --- a/docs/development/decision-records/2023-05-23_java_17_baseline/README.md +++ b/docs/development/decision-records/2023-05-23_java_17_baseline/README.md @@ -13,3 +13,11 @@ version to the current LTS from time to time. ## Approach Remove the custom `javaVersion` and let the `edc-build` plugin set that when upgrading to the newest version of EDC. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-06-13_use_of_iron_library/README.md b/docs/development/decision-records/2023-06-13_use_of_iron_library/README.md index 1a51f0c18..212f300ae 100644 --- a/docs/development/decision-records/2023-06-13_use_of_iron_library/README.md +++ b/docs/development/decision-records/2023-06-13_use_of_iron_library/README.md @@ -20,3 +20,11 @@ support for `JsonWebKey2020` which was mandated by the Catena-X consortium. ## Approach - add support for `JsonWebKey2020` to Tractus-X EDC using `iron-verifiable-credentials`. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-07-06_removing_manual_changelog/README.md b/docs/development/decision-records/2023-07-06_removing_manual_changelog/README.md index 944e775e5..e9650b5a5 100644 --- a/docs/development/decision-records/2023-07-06_removing_manual_changelog/README.md +++ b/docs/development/decision-records/2023-07-06_removing_manual_changelog/README.md @@ -34,3 +34,11 @@ This is also reflected in the automatically generated changelog, for example [0.5.0-rc5](https://github.com/eclipse-tractusx/tractusx-edc/releases/tag/0.5.0-rc5). Once that is fixed, we can delete the CHANGELOG.md file and [this GH action to update it (line 44)](../../../../.github/workflows/draft-new-release.yaml). + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-08-03_improve_bpn_validation/README.md b/docs/development/decision-records/2023-08-03_improve_bpn_validation/README.md index 4cdeea7da..b2317df70 100644 --- a/docs/development/decision-records/2023-08-03_improve_bpn_validation/README.md +++ b/docs/development/decision-records/2023-08-03_improve_bpn_validation/README.md @@ -40,3 +40,11 @@ in the example), or using a vocabulary entry in the JSON-LD context, i.e. `tx:Bu will be: `eq, neq, in, isAllOf, isAnyOf, isNoneOf`. Manipulating the BPN -> group associations can be done through a REST API. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-08-24-proprietrary-extensions/README.md b/docs/development/decision-records/2023-08-24-proprietrary-extensions/README.md index 8bc427d3c..165b5bb4f 100644 --- a/docs/development/decision-records/2023-08-24-proprietrary-extensions/README.md +++ b/docs/development/decision-records/2023-08-24-proprietrary-extensions/README.md @@ -46,3 +46,11 @@ An application process for possible additional integrations will follow at a lat What is the process for including/supporting additional Cloud Vendors? Who will maintain the vendor specific solutions in the long-term (after the consortia phase)? + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/decision-records/2023-09-08_issue_quality_stalebot/README.md b/docs/development/decision-records/2023-09-08_issue_quality_stalebot/README.md index f4915f462..d1df3c3d9 100644 --- a/docs/development/decision-records/2023-09-08_issue_quality_stalebot/README.md +++ b/docs/development/decision-records/2023-09-08_issue_quality_stalebot/README.md @@ -75,3 +75,11 @@ receive the `triage` label upon creation. - bug reports are ignored by the stale bot - issues in the `backlog` are ignored by the stale bot - pull-requests get staled after 1 week, and closed after 1 more week + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/postman/README.md b/docs/development/postman/README.md index 2e6cdfeb8..ceaed922b 100644 --- a/docs/development/postman/README.md +++ b/docs/development/postman/README.md @@ -25,3 +25,11 @@ The postman collection contains the most common API calls. Please note that the [postman-shield]: https://img.shields.io/badge/Postman-URL-orange [postman-url]: https://www.postman.com + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/development/scripts/daps_token/README.md b/docs/development/scripts/daps_token/README.md deleted file mode 100644 index cbc7475ff..000000000 --- a/docs/development/scripts/daps_token/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# DAPS Token Script - -Script to request an IDS token from the DAPS. - -## Usage - -1. Copy your DAPS private key into `key.pem` -2. Edit in the script the following variables - - `token_url` - - `client_id` - - `resource` -3. Run script - - ```bash - ./daps_auth_sh - ``` - -4. Take the `access_token` from the output in use it in IDS messages. The output of the script looks like this: - - ```json - { - "access_token": "eyJ0eXAiOiJhdCtqd3QiLCJraWQiOiI3MDM2MzAwNzVkYTM2N2IxYmZiYjRjY2Q0N2M1Y2ViMGQ5ZjM1MmRmYWU2MzJkMzYxMGMxNzNmMTM1NDI0NmM5IiwiYWxnIjoiUlMyNTYifQ.eyJzY29wZSI6Imlkc2M6SURTX0NPTk5FQ1RPUl9BVFRSSUJVVEVTX0FMTCIsImF1ZCI6WyJodHRwczovL3Blbi10ZXN0LXBsYXRvLXR4ZGMuaW50LmRlbW8uY2F0ZW5hLXgubmV0L2FwaS92MS9pZHMvZGF0YSJdLCJpc3MiOiJodHRwOi8vaWRzLWRhcHM6NDU2Ny8iLCJzdWIiOiI5OTo4MzpBNzoxNzo4NjpGRjo5ODo5MzpDRTpBMDpERDpBMTpGMTozNjpGQTpGNjowRjo3NTowQToyMzprZXlpZDo5OTo4MzpBNzoxNzo4NjpGRjo5ODo5MzpDRTpBMDpERDpBMTpGMTozNjpGQTpGNjowRjo3NTowQToyMyIsIm5iZiI6MTY3ODMxMDE0OSwiaWF0IjoxNjc4MzEwMTQ5LCJqdGkiOiJkZmY5Y2FmOS05NDZiLTQ1YmMtOWY4My0yYmJkMDI4NTlmYWMiLCJleHAiOjE2NzgzMTM3NDksImNsaWVudF9pZCI6Ijk5OjgzOkE3OjE3Ojg2OkZGOjk4OjkzOkNFOkEwOkREOkExOkYxOjM2OkZBOkY2OjBGOjc1OjBBOjIzOmtleWlkOjk5OjgzOkE3OjE3Ojg2OkZGOjk4OjkzOkNFOkEwOkREOkExOkYxOjM2OkZBOkY2OjBGOjc1OjBBOjIzIiwicmVmZXJyaW5nQ29ubmVjdG9yIjoiaHR0cDovL3BsYXRvLWNvbnRyb2xwbGFuZS9CUE5QTEFUTyJ9.JQqt9gCpaG7rLztO5-pJa7HIybVjKog9v0CFXHoVJZgdxMc5nTKZnuwBVHC1PXuWrBiyPxPoNg0TsfRg9DqF8rFD5noarxOJ1S84BF7AUUi3phQzBF26lsmNmOW_gdNBC-8xw1WMo5hRHH56cB64_x4V8T4VwFlSYYrmA5ge_EiPCW_KWF9sNguXBKs8uTbLB3lvTELGTjmZI93tVR-vYuYzW2jxH1PJNW29KJRQcM0D1AiveMs3_ThRjheEvugyh9QIY1RwPXMgYQpSTvoumNuFFTnpR21ueWfSUtU-4Qu9suNTkcaFihvEObXVrhyMja-HjhQaC8i0XsAgY0tT1A", - "expires_in": 3600, - "token_type": "bearer", - "scope": "idsc:IDS_CONNECTOR_ATTRIBUTES_ALL" - } - ``` diff --git a/docs/development/scripts/daps_token/daps_auth.sh b/docs/development/scripts/daps_token/daps_auth.sh deleted file mode 100755 index 2835a2e61..000000000 --- a/docs/development/scripts/daps_token/daps_auth.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -#################################################### -# Update these variables before running the script # -#################################################### -token_url="https://mydaps/token" -client_id="99:83:A7:17:86:FF:98:93:CE:A0:DD:A1:F1:36:FF:F6:0F:75:0A:23:keyid:99:83:A7:17:86:FF:98:93:CE:A0:DD:A1:F1:36:FA:F6:0F:75:0A:24" -# resource is later used as token audience, so it must be the IDS url of the token receiving connector -resource="https://receiving-connector/api/v1/ids/data" - - -base64_encode() -{ - declare input=${1:-$( diff --git a/docs/kit/Development View/01_domain_model.md b/docs/kit/Development View/01_domain_model.md index 7ce3ae87f..729987aed 100644 --- a/docs/kit/Development View/01_domain_model.md +++ b/docs/kit/Development View/01_domain_model.md @@ -57,3 +57,11 @@ as well as information about the [data destination](#data-address). Similar to the `ContractNegotiation`, this object captures the current state of a data transfer. This process is inherently asynchronous, so the `TransferProcess` objects are stored in a backing data store (`TransferProcessStore`). + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/kit/Development View/02_OpenAPI/00_open_api.md b/docs/kit/Development View/02_OpenAPI/00_open_api.md index 7f9e70039..9af6df7e0 100644 --- a/docs/kit/Development View/02_OpenAPI/00_open_api.md +++ b/docs/kit/Development View/02_OpenAPI/00_open_api.md @@ -1,3 +1,11 @@ # OpenAPI The following is an automatically generated OpenAPI spec for the TractusX EDC. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/kit/Development View/05_EDC Extensions/00_extensions.md b/docs/kit/Development View/05_EDC Extensions/00_extensions.md index 63ed5ce2c..030c4aa12 100644 --- a/docs/kit/Development View/05_EDC Extensions/00_extensions.md +++ b/docs/kit/Development View/05_EDC Extensions/00_extensions.md @@ -42,3 +42,11 @@ This extension adds that functionality. ## Transfer Process SFTP This extension allows for the use of SFTP backends for the data plane (but is not included in the provided control- and data plane). + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/kit/Documentation/00_repository_structure.md b/docs/kit/Documentation/00_repository_structure.md index 11fb7c7c2..3e72c4540 100644 --- a/docs/kit/Documentation/00_repository_structure.md +++ b/docs/kit/Documentation/00_repository_structure.md @@ -24,3 +24,11 @@ and [control plane](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/e To facilitate deployment of these different builds and their prerequisites, Helm charts are provided. The charts and their documentation can be found [here](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/charts/README.md). + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/kit/Documentation/01_project_structure.md b/docs/kit/Documentation/01_project_structure.md index 40bae5546..d0e6ea73a 100644 --- a/docs/kit/Documentation/01_project_structure.md +++ b/docs/kit/Documentation/01_project_structure.md @@ -19,3 +19,11 @@ Other branches should follow the naming conventions of `feature/x` or `hotfix/x` We use Java 17 with Gradle for dependencies and builds. We use [Checkstyle](https://github.com/checkstyle/checkstyle) for code formatting. Releases are in the form of Docker containers and Helm charts. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/kit/Operation View/00_operation_view.md b/docs/kit/Operation View/00_operation_view.md index 87ceaac6b..e9508f5cb 100644 --- a/docs/kit/Operation View/00_operation_view.md +++ b/docs/kit/Operation View/00_operation_view.md @@ -22,3 +22,11 @@ The data plane does the heavy lifting of transferring and receiving data streams Each of these planes comes in several variants, allowing for example secrets to be stored in Azure Vault or a Hashicorp Vault. The setup on the following pages assumes the use of Hashicorp Vault for secrets and PostgreSQL for data storage. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/kit/Operation View/01_technical_prerequisites.md b/docs/kit/Operation View/01_technical_prerequisites.md index 682da831b..fb3dcf602 100644 --- a/docs/kit/Operation View/01_technical_prerequisites.md +++ b/docs/kit/Operation View/01_technical_prerequisites.md @@ -41,3 +41,11 @@ Helm charts are provided to set up these services locally. ## All-in-one deployment An all-in-one deployment is no longer in scope and will not be provided. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/kit/Operation View/02_Local Setup/00_local_setup_controlplane.md b/docs/kit/Operation View/02_Local Setup/00_local_setup_controlplane.md index 5e37c0880..d40432384 100644 --- a/docs/kit/Operation View/02_Local Setup/00_local_setup_controlplane.md +++ b/docs/kit/Operation View/02_Local Setup/00_local_setup_controlplane.md @@ -139,3 +139,11 @@ docker run \ -v ${OPENTELEMETRY_PROPERTIES_FILE:-/dev/null}:/app/opentelemetry.properties \ -i edc-controlplane-postgresql-hashicorp-vault:latest ``` + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/kit/Operation View/02_Local Setup/01_local_setup_dataplane.md b/docs/kit/Operation View/02_Local Setup/01_local_setup_dataplane.md index d84a6c9f1..c3e977ef8 100644 --- a/docs/kit/Operation View/02_Local Setup/01_local_setup_dataplane.md +++ b/docs/kit/Operation View/02_Local Setup/01_local_setup_dataplane.md @@ -96,3 +96,11 @@ docker run \ -v ${OPENTELEMETRY_PROPERTIES_FILE:-/dev/null}:/app/opentelemetry.properties \ -i edc-dataplane-hashicorp-vault:latest ``` + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/kit/Operation View/04_Test Your Setup/01_api.md b/docs/kit/Operation View/04_Test Your Setup/01_api.md index ec8174f01..0572c8ad8 100644 --- a/docs/kit/Operation View/04_Test Your Setup/01_api.md +++ b/docs/kit/Operation View/04_Test Your Setup/01_api.md @@ -62,3 +62,11 @@ Body } } ``` + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/kit/Operation View/05_Migration/00_upgrading.md b/docs/kit/Operation View/05_Migration/00_upgrading.md index 414d0ab46..ad9a27b65 100644 --- a/docs/kit/Operation View/05_Migration/00_upgrading.md +++ b/docs/kit/Operation View/05_Migration/00_upgrading.md @@ -18,3 +18,11 @@ The easy part of the upgrade process is to simply switch the outdated EDC contai Check the newest [Migration Documents](https://github.com/eclipse-tractusx/tractusx-edc/tree/develop/docs/migration) for any changes to the settings structure and apply them to your settings. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/migration/Version_0.0.x_0.1.x.md b/docs/migration/Version_0.0.x_0.1.x.md index ee150291a..c2f5f48a0 100644 --- a/docs/migration/Version_0.0.x_0.1.x.md +++ b/docs/migration/Version_0.0.x_0.1.x.md @@ -302,3 +302,11 @@ transfer-flows (HttpProxy, S3, etc.). The Tractus-X EDC also has a new extension simpler registration of additional dataplanes. Further documentation can be found in the extension folder: [dataplane-selector-configuration](../../edc-extensions/dataplane-selector-configuration/README.md) + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/migration/Version_0.1.0_0.1.1.md b/docs/migration/Version_0.1.0_0.1.1.md index 528dc8c37..950e383d6 100644 --- a/docs/migration/Version_0.1.0_0.1.1.md +++ b/docs/migration/Version_0.1.0_0.1.1.md @@ -80,3 +80,11 @@ All connectors are now shipped with a new OAuth extension. This extension has an ```properties edc.ids.endpoint.audience=http://plato-edc-controlplane:8282/api/v1/ids/data ``` + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/migration/Version_0.1.2_0.1.3.md b/docs/migration/Version_0.1.2_0.1.3.md index 787b04bfe..8870ca30d 100644 --- a/docs/migration/Version_0.1.2_0.1.3.md +++ b/docs/migration/Version_0.1.2_0.1.3.md @@ -21,3 +21,11 @@ Example: EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL EDC_OAUTH_ENDPOINT_AUDIENCE: http://plato-edc-controlplane:8282/api/v1/ids/data ``` + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/migration/Version_0.1.x_0.3.x.md b/docs/migration/Version_0.1.x_0.3.x.md index f35d3aa5e..51e965121 100644 --- a/docs/migration/Version_0.1.x_0.3.x.md +++ b/docs/migration/Version_0.1.x_0.3.x.md @@ -33,3 +33,11 @@ Details at the [official documentation on swaggerhub](https://app.swaggerhub.com - packages name changed from `org.eclipse.dataspaceconnector` to `org.eclipse.edc` - To specify multiple BPN into Policies the operator `OR` can be used. More details in the [business-partner-validation extension documentation](../../edc-extensions/business-partner-validation) - HTTP Dynamic Endpoint Data Reference: The URL for Endpoint Data Reference can be also provided via the call for starting the transfer process. More details [Http Dynamic EDR receiver](https://github.com/eclipse-edc/Connector/tree/main/extensions/control-plane/transfer/transfer-pull-http-dynamic-receiver) + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/migration/Version_0.3.0_0.3.1.md b/docs/migration/Version_0.3.0_0.3.1.md index fab476bd0..f23fcf51c 100644 --- a/docs/migration/Version_0.3.0_0.3.1.md +++ b/docs/migration/Version_0.3.0_0.3.1.md @@ -13,3 +13,11 @@ configuration for it. Note that the name of the context cannot be changed. unauthenticated access is enabled!** - `web.http.observability.path`: string value that specifies the path of the `observability` context. **Mandatory if unauthenticated access is enabled!** + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/migration/Version_0.3.1_0.3.2.md b/docs/migration/Version_0.3.1_0.3.2.md index 4099e8c4b..1e1e28d96 100644 --- a/docs/migration/Version_0.3.1_0.3.2.md +++ b/docs/migration/Version_0.3.1_0.3.2.md @@ -7,3 +7,11 @@ it is now possible to select _either_ authentication via Client Secret (`azure.v certificate (`azure.vault.certificate`). If neither of the two is configured, the runtime will fail to start issuing an error. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/migration/Version_0.3.3_0.3.4.md b/docs/migration/Version_0.3.3_0.3.4.md index a93de9600..16fe414a0 100644 --- a/docs/migration/Version_0.3.3_0.3.4.md +++ b/docs/migration/Version_0.3.3_0.3.4.md @@ -19,3 +19,11 @@ upgrade to 0.3.4 yet!** Starting with the 0.3.3 release we switched over to publish our Docker images to [Docker Hub](https://hub.docker.com/search?q=tractusx) instead of GHCR. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/migration/Version_0.3.4_0.4.0.md b/docs/migration/Version_0.3.4_0.4.0.md index 5090fc137..75d263c64 100644 --- a/docs/migration/Version_0.3.4_0.4.0.md +++ b/docs/migration/Version_0.3.4_0.4.0.md @@ -96,3 +96,11 @@ When starting a new contract negotiation for an asset: - the `@id` of `odrl:hasPolicy` object should be passed in the `offerId` field - the `edc:participantId` should be passed in the `providerId` and `connectorId` fields. `connectorId` it's still needed for backward compatibility and it will probably be removed in the next versions. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/migration/Version_0.4.x_0.5.x.md b/docs/migration/Version_0.4.x_0.5.x.md index b2210ab2c..e0b042a9d 100644 --- a/docs/migration/Version_0.4.x_0.5.x.md +++ b/docs/migration/Version_0.4.x_0.5.x.md @@ -128,3 +128,11 @@ this will not work with signature check errors, as the EDR is the one signed by > Note the custom property `cid` in the EDR, it's not available anymore. The property it's still available inside the > JWT `authCode` + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/release-notes/Version 0.1.0.md b/docs/release-notes/Version 0.1.0.md index 4f872ff4e..d7b55bfd3 100644 --- a/docs/release-notes/Version 0.1.0.md +++ b/docs/release-notes/Version 0.1.0.md @@ -62,3 +62,11 @@ This section covers the most relevant bug fixes, included in this version. - Deletion of Policy becomes impossible when Contract Definition exists([issue](https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/issues/1410)) - DataAddress is passed unencrypted from DataProvider to DataConsumer ([issue](https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/issues/1504)) + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/release-notes/Version 0.1.1.md b/docs/release-notes/Version 0.1.1.md index 7a2cf2845..c6ee91938 100644 --- a/docs/release-notes/Version 0.1.1.md +++ b/docs/release-notes/Version 0.1.1.md @@ -44,3 +44,11 @@ edc.ids.endpoint.audience=http://plato-edc-controlplane:8282/api/v1/ids/data This section covers the most relevant bug fixes, included in this version. - Connectors using the Azure Key Vault could not start ([issue](https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/issues/1892)) + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/release-notes/Version 0.1.2.md b/docs/release-notes/Version 0.1.2.md index 0f4babacd..dd6e3d437 100644 --- a/docs/release-notes/Version 0.1.2.md +++ b/docs/release-notes/Version 0.1.2.md @@ -19,3 +19,11 @@ Introduce alpine image as base for all Tractus-X EDC Images (replaced distroless - Contract negotiation not working when initiated with policy id ([issue](https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/issues/1251)) - Negotiation of Policies with extensible properties now works as expected + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/release-notes/Version 0.1.3.md b/docs/release-notes/Version 0.1.3.md index c44d60cdb..d79168f4c 100644 --- a/docs/release-notes/Version 0.1.3.md +++ b/docs/release-notes/Version 0.1.3.md @@ -89,3 +89,11 @@ added to the control plane again most of the functionality of the CX Oauth2 Exte ### 3.1 S3 Data Transfer Version 0.1.2 had some issues with the S3 data transfer. This version fixes them. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/release-notes/Version 0.1.5.md b/docs/release-notes/Version 0.1.5.md index 242be5494..45c8bee70 100644 --- a/docs/release-notes/Version 0.1.5.md +++ b/docs/release-notes/Version 0.1.5.md @@ -23,3 +23,11 @@ catalog pagination. [GitHub issue](https://github.com/eclipse-edc/Connector/issu The encryption of the `EndpointDataReference` took up to 3 minutes unter certain circumstances. This was fixed by using a not blocking algorithm and setting the Java CMD flag `java.security.egd` correctly. + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/samples/README.md b/docs/samples/README.md index f14e5863a..4621e8a90 100644 --- a/docs/samples/README.md +++ b/docs/samples/README.md @@ -5,3 +5,11 @@ In this folder are listed some documents that will help you setting up a connect - [Local setup](./example-dataspace/README.md) - [Transfer data](./Transfer%20Data.md) - [Data Plane HTTP OAuth2](./data-plane-http-oauth2.md) + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/samples/Transfer Data.md b/docs/samples/Transfer Data.md index 97da48384..a9444557a 100644 --- a/docs/samples/Transfer Data.md +++ b/docs/samples/Transfer Data.md @@ -363,3 +363,11 @@ minikube kubectl -- delete pvc -n edc-all-in-one --all ```bash minikube kubectl -- delete pv -n edc-all-in-one --all ``` + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs/samples/example-dataspace/README.md b/docs/samples/example-dataspace/README.md index 11038e86b..7650bd125 100644 --- a/docs/samples/example-dataspace/README.md +++ b/docs/samples/example-dataspace/README.md @@ -126,3 +126,11 @@ There is several ways of making sure everything worked out well: - wait for the Kubernetes rollout to be successful, e.g. `kubectl rollout status deployment tx-plato-controlplane` - use `helm test` to execute tests: `helm test tx-plato` + +## NOTICE + +This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). + +- SPDX-License-Identifier: Apache-2.0 +- SPDX-FileCopyrightText: 2021,2022,2023 Contributors to the Eclipse Foundation +- Source URL: From 826aca04944898ee310e17950ef380436f1c57e7 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Thu, 7 Dec 2023 16:24:20 +0100 Subject: [PATCH 44/47] fix: downgrade trivy version (#914) --- .github/workflows/trivy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml index 5d0857579..d86c396cb 100644 --- a/.github/workflows/trivy.yml +++ b/.github/workflows/trivy.yml @@ -57,7 +57,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Run Trivy vulnerability scanner in repo mode - uses: aquasecurity/trivy-action@0.14.0 + uses: aquasecurity/trivy-action@0.12.0 with: scan-type: "config" # ignore-unfixed: true @@ -101,7 +101,7 @@ jobs: ## the next two steps will only execute if the image exists check was successful - name: Run Trivy vulnerability scanner if: success() && steps.imageCheck.outcome != 'failure' - uses: aquasecurity/trivy-action@0.14.0 + uses: aquasecurity/trivy-action@0.12.0 with: image-ref: "tractusx/${{ matrix.image }}:sha-${{ needs.git-sha7.outputs.value }}" format: "sarif" From 2706f6a00b87bd4026e4467b0a0de45f2b753c43 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Fri, 8 Dec 2023 08:53:16 +0100 Subject: [PATCH 45/47] feat(test): add upgradeability test for Helm charts (#912) * feat(build): add upgradeability test for helm * add helm setup + docker build --- .github/workflows/run-all-tests.yml | 4 + .github/workflows/upgradeability-test.yaml | 125 +++++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 .github/workflows/upgradeability-test.yaml diff --git a/.github/workflows/run-all-tests.yml b/.github/workflows/run-all-tests.yml index 2cfadff55..6e22d7bc7 100644 --- a/.github/workflows/run-all-tests.yml +++ b/.github/workflows/run-all-tests.yml @@ -51,6 +51,10 @@ jobs: uses: ./.github/workflows/deployment-test.yaml secrets: inherit + upgradeability-test: + uses: ./.github/workflows/upgradeability-test.yaml + secrets: inherit + # this job really serves no other purpose than waiting for the other two test workflows # in future iterations, this could be used as a choke point to collect test data, etc. summary: diff --git a/.github/workflows/upgradeability-test.yaml b/.github/workflows/upgradeability-test.yaml new file mode 100644 index 000000000..1d820970e --- /dev/null +++ b/.github/workflows/upgradeability-test.yaml @@ -0,0 +1,125 @@ +# +# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# 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 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +--- +name: "Upgradeability Tests" + +on: + workflow_call: + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + + test-prepare: + runs-on: ubuntu-latest + steps: + - name: Cache ContainerD Image Layers + uses: actions/cache@v3 + with: + path: /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs + key: ${{ runner.os }}-io.containerd.snapshotter.v1.overlayfs + + test-upgradeability: + runs-on: ubuntu-latest + needs: [ test-prepare ] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: "Setup Helm" + uses: azure/setup-helm@v3.5 + with: + version: v3.8.1 + + - name: "Setup Kubectl" + uses: azure/setup-kubectl@v3.2 + with: + version: 'v1.28.2' + + - name: Create k8s Kind Cluster + uses: helm/kind-action@v1.5.0 + + - name: "Update helm repo" + run: | + helm repo add tractusx https://eclipse-tractusx.github.io/charts/dev + helm repo update tractusx + + - name: "Get latest released version" + id: get-version + run: | + RELEASED_VERSION=$(helm search repo tractusx/tractusx-connector -o json | jq -r '.[0].version') + echo "Last official release is $RELEASED_VERSION" + echo "RELEASE=$RELEASED_VERSION" >> $GITHUB_ENV + exit 0 + + - name: "Install latest release" + run: | + sh -c "edc-tests/deployment/src/main/resources/prepare-test.sh \ + edc-tests/deployment/src/main/resources/helm/tractusx-connector-test.yaml" + + helm upgrade --install tx-prod tractusx/tractusx-connector \ + -f edc-tests/deployment/src/main/resources/helm/tractusx-connector-test.yaml \ + --set "controlplane.image.tag=$RELEASE" \ + --set "controlplane.image.pullPolicy=Always" \ + --set "controlplane.image.repository=tractusx/edc-controlplane-postgresql-hashicorp-vault" \ + --set "dataplane.image.tag=$RELEASE" \ + --set "dataplane.image.pullPolicy=Always" \ + --set "dataplane.image.repository=tractusx/edc-dataplane-hashicorp-vault" \ + --dependency-update \ + --wait-for-jobs --timeout=120s \ + --version $RELEASE + + # wait for the pod to become ready + kubectl rollout status deployment tx-prod-controlplane + kubectl rollout status deployment tx-prod-dataplane + + - uses: ./.github/actions/setup-java + + - name: "Build docker images" + shell: bash + run: |- + ./gradlew :edc-controlplane:edc-controlplane-postgresql-hashicorp-vault:dockerize + ./gradlew :edc-dataplane:edc-dataplane-hashicorp-vault:dockerize + + - name: "Load images into KinD" + shell: bash + run: | + kind get clusters | xargs -n1 kind load docker-image edc-controlplane-postgresql-hashicorp-vault edc-dataplane-hashicorp-vault --name + + - name: "Install new chart" + run: | + helm upgrade --install tx-prod charts/tractusx-connector \ + -f edc-tests/deployment/src/main/resources/helm/tractusx-connector-test.yaml \ + --dependency-update \ + --wait-for-jobs --timeout=120s + + # wait for the pod to become ready + kubectl rollout status deployment tx-prod-controlplane + kubectl rollout status deployment tx-prod-dataplane + + # execute the helm test + helm test tx-prod + + - name: Destroy the kind cluster + if: always() + shell: bash + run: >- + kind get clusters | xargs -n1 kind delete cluster --name \ No newline at end of file From f1cbe035f18b4a10f801a01f63390092e7650a87 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger Date: Fri, 8 Dec 2023 09:23:36 +0100 Subject: [PATCH 46/47] fix(build): overwrite Docasaurus artefacts --- .github/workflows/publish-docusaurus.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish-docusaurus.yaml b/.github/workflows/publish-docusaurus.yaml index f940168c5..1a6512cb4 100644 --- a/.github/workflows/publish-docusaurus.yaml +++ b/.github/workflows/publish-docusaurus.yaml @@ -72,5 +72,6 @@ jobs: uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} + overwrite: true file: ${{ runner.temp }}/tractusx-edc-docusaurus-${{ steps.extract_version.outputs.DOWNSTREAM_VERSION }}.zip tag: ${{ steps.extract_version.outputs.DOWNSTREAM_VERSION }} From 9c6d5443adbe30bcf37d3dfc826a7af09352be96 Mon Sep 17 00:00:00 2001 From: eclipse-tractusx-bot Date: Fri, 8 Dec 2023 13:35:49 +0000 Subject: [PATCH 47/47] Prepare release 0.6.0-rc2 --- charts/tractusx-connector-azure-vault/Chart.yaml | 4 ++-- charts/tractusx-connector-azure-vault/README.md | 4 ++-- charts/tractusx-connector-memory/Chart.yaml | 4 ++-- charts/tractusx-connector-memory/README.md | 4 ++-- charts/tractusx-connector/Chart.yaml | 4 ++-- charts/tractusx-connector/README.md | 4 ++-- gradle.properties | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/charts/tractusx-connector-azure-vault/Chart.yaml b/charts/tractusx-connector-azure-vault/Chart.yaml index 7f5919e2e..9fedad334 100644 --- a/charts/tractusx-connector-azure-vault/Chart.yaml +++ b/charts/tractusx-connector-azure-vault/Chart.yaml @@ -40,12 +40,12 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.6.0-rc1 +version: 0.6.0-rc2 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "0.6.0-rc1" +appVersion: "0.6.0-rc2" home: https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector sources: - https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector diff --git a/charts/tractusx-connector-azure-vault/README.md b/charts/tractusx-connector-azure-vault/README.md index b5f6c961f..1dd5a53fb 100644 --- a/charts/tractusx-connector-azure-vault/README.md +++ b/charts/tractusx-connector-azure-vault/README.md @@ -1,6 +1,6 @@ # tractusx-connector-azure-vault -![Version: 0.6.0-rc1](https://img.shields.io/badge/Version-0.6.0--rc1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.6.0-rc1](https://img.shields.io/badge/AppVersion-0.6.0--rc1-informational?style=flat-square) +![Version: 0.6.0-rc2](https://img.shields.io/badge/Version-0.6.0--rc2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.6.0-rc2](https://img.shields.io/badge/AppVersion-0.6.0--rc2-informational?style=flat-square) A Helm chart for Tractus-X Eclipse Data Space Connector. The connector deployment consists of two runtime consists of a Control Plane and a Data Plane. Note that _no_ external dependencies such as a PostgreSQL database and Azure KeyVault are included. @@ -45,7 +45,7 @@ Combined, run this shell command to start the in-memory Tractus-X EDC runtime: ```shell helm repo add tractusx-edc https://eclipse-tractusx.github.io/charts/dev -helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0.6.0-rc1 \ +helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0.6.0-rc2 \ -f /tractusx-connector-azure-vault-test.yaml \ --set vault.azure.name=$AZURE_VAULT_NAME \ --set vault.azure.client=$AZURE_CLIENT_ID \ diff --git a/charts/tractusx-connector-memory/Chart.yaml b/charts/tractusx-connector-memory/Chart.yaml index 75168a445..fd3fc7181 100644 --- a/charts/tractusx-connector-memory/Chart.yaml +++ b/charts/tractusx-connector-memory/Chart.yaml @@ -34,12 +34,12 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.6.0-rc1 +version: 0.6.0-rc2 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "0.6.0-rc1" +appVersion: "0.6.0-rc2" home: https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector-memory sources: - https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector-memory diff --git a/charts/tractusx-connector-memory/README.md b/charts/tractusx-connector-memory/README.md index e810691c8..a6be12542 100644 --- a/charts/tractusx-connector-memory/README.md +++ b/charts/tractusx-connector-memory/README.md @@ -1,6 +1,6 @@ # tractusx-connector-memory -![Version: 0.6.0-rc1](https://img.shields.io/badge/Version-0.6.0--rc1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.6.0-rc1](https://img.shields.io/badge/AppVersion-0.6.0--rc1-informational?style=flat-square) +![Version: 0.6.0-rc2](https://img.shields.io/badge/Version-0.6.0--rc2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.6.0-rc2](https://img.shields.io/badge/AppVersion-0.6.0--rc2-informational?style=flat-square) A Helm chart for Tractus-X Eclipse Data Space Connector based on memory. Please only use this for development or testing purposes, never in production workloads! @@ -39,7 +39,7 @@ Combined, run this shell command to start the in-memory Tractus-X EDC runtime: ```shell helm repo add tractusx-edc https://eclipse-tractusx.github.io/charts/dev -helm install my-release tractusx-edc/tractusx-connector-memory --version 0.6.0-rc1 \ +helm install my-release tractusx-edc/tractusx-connector-memory --version 0.6.0-rc2 \ -f /tractusx-connector-memory-test.yaml \ --set vault.secrets="client-secret:$YOUR_CLIENT_SECRET" ``` diff --git a/charts/tractusx-connector/Chart.yaml b/charts/tractusx-connector/Chart.yaml index 0a2a3a497..e42b30ff9 100644 --- a/charts/tractusx-connector/Chart.yaml +++ b/charts/tractusx-connector/Chart.yaml @@ -40,12 +40,12 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.6.0-rc1 +version: 0.6.0-rc2 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "0.6.0-rc1" +appVersion: "0.6.0-rc2" home: https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector sources: - https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector diff --git a/charts/tractusx-connector/README.md b/charts/tractusx-connector/README.md index 736edf86f..aafcd1832 100644 --- a/charts/tractusx-connector/README.md +++ b/charts/tractusx-connector/README.md @@ -1,6 +1,6 @@ # tractusx-connector -![Version: 0.6.0-rc1](https://img.shields.io/badge/Version-0.6.0--rc1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.6.0-rc1](https://img.shields.io/badge/AppVersion-0.6.0--rc1-informational?style=flat-square) +![Version: 0.6.0-rc2](https://img.shields.io/badge/Version-0.6.0--rc2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.6.0-rc2](https://img.shields.io/badge/AppVersion-0.6.0--rc2-informational?style=flat-square) A Helm chart for Tractus-X Eclipse Data Space Connector. The connector deployment consists of two runtime consists of a Control Plane and a Data Plane. Note that _no_ external dependencies such as a PostgreSQL database and HashiCorp Vault are included. @@ -42,7 +42,7 @@ Combined, run this shell command to start the in-memory Tractus-X EDC runtime: ```shell helm repo add tractusx-edc https://eclipse-tractusx.github.io/charts/dev -helm install my-release tractusx-edc/tractusx-connector --version 0.6.0-rc1 \ +helm install my-release tractusx-edc/tractusx-connector --version 0.6.0-rc2 \ -f /tractusx-connector-test.yaml ``` diff --git a/gradle.properties b/gradle.properties index a516a3bdc..ca7657dcc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ group=org.eclipse.tractusx.edc -version=0.6.0-SNAPSHOT +version=0.6.0-rc2 # configure the build: txScmConnection=scm:git:git@github.com:eclipse-tractusx/tractusx-edc.git txWebsiteUrl=https://github.com/eclipse-tractusx/tractusx-edc.git