From 4eee3cf17ecee0f2d1b92e867135ce9f42fa5afb Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Tue, 22 Aug 2023 17:38:33 +0200 Subject: [PATCH 01/60] feat(release): add config for GH releases (#726) --- .github/release.yaml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/release.yaml diff --git a/.github/release.yaml b/.github/release.yaml new file mode 100644 index 000000000..1caf62f14 --- /dev/null +++ b/.github/release.yaml @@ -0,0 +1,34 @@ +# +# 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 +# + +--- +changelog: + exclude: + authors: + - dependabot[bot] + categories: + - title: Bugfixes + labels: + - bug + - title: New Features & Improvements + labels: + - "*" + - title: Documentation + labels: + - documentation \ No newline at end of file From 12e5b8be7ac25edc00b96bb20015cbd803a67344 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Wed, 23 Aug 2023 13:57:20 +0200 Subject: [PATCH 02/60] fix(build): fix docker image inspect command (#727) * fix(build): fix docker image inspect command * DEPENDENCIES --- .github/workflows/trivy.yml | 2 +- DEPENDENCIES | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml index c5289f600..e7ac23c87 100644 --- a/.github/workflows/trivy.yml +++ b/.github/workflows/trivy.yml @@ -96,7 +96,7 @@ jobs: - name: "Check if image exists" id: imageCheck run: | - docker manifest inspect tractusx/${{ matrix.image }}:sha-${{ needs.git-sha7.outputs.value }} + docker buildx imagetools inspect --format '{{ json . }}' tractusx/${{ matrix.image }}:sha-${{ needs.git-sha7.outputs.value }} continue-on-error: true ## the next two steps will only execute if the image exists check was successful diff --git a/DEPENDENCIES b/DEPENDENCIES index e331a8fd6..b77dcd45c 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -182,7 +182,7 @@ maven/mavencentral/org.apache.commons/commons-lang3/3.12.0, Apache-2.0, approved maven/mavencentral/org.apache.commons/commons-pool2/2.11.1, Apache-2.0, approved, CQ23795 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, clearlydefined +maven/mavencentral/org.apache.groovy/groovy-xml/4.0.11, Apache-2.0, approved, #10179 maven/mavencentral/org.apache.groovy/groovy/4.0.11, Apache-2.0 AND BSD-3-Clause AND MIT, approved, #1742 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 From ce4e4a17c3d514258641d6685f8e626781c1c02e Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Thu, 24 Aug 2023 10:40:05 +0200 Subject: [PATCH 03/60] fix(legacyBpn): register also the namespaced version of the constraint key (#728) --- ...acyBusinessPartnerValidationExtension.java | 8 +++++ .../edc/helpers/PolicyHelperFunctions.java | 3 ++ .../tests/catalog/AbstractCatalogTest.java | 32 +++++++++++++++++++ 3 files changed, 43 insertions(+) diff --git a/edc-extensions/bpn-validation/bpn-validation-core/src/main/java/org/eclipse/tractusx/edc/validation/businesspartner/LegacyBusinessPartnerValidationExtension.java b/edc-extensions/bpn-validation/bpn-validation-core/src/main/java/org/eclipse/tractusx/edc/validation/businesspartner/LegacyBusinessPartnerValidationExtension.java index 5e8758934..1f99c471d 100644 --- a/edc-extensions/bpn-validation/bpn-validation-core/src/main/java/org/eclipse/tractusx/edc/validation/businesspartner/LegacyBusinessPartnerValidationExtension.java +++ b/edc-extensions/bpn-validation/bpn-validation-core/src/main/java/org/eclipse/tractusx/edc/validation/businesspartner/LegacyBusinessPartnerValidationExtension.java @@ -37,6 +37,7 @@ import static org.eclipse.edc.connector.contract.spi.offer.ContractDefinitionResolver.CATALOGING_SCOPE; import static org.eclipse.edc.connector.contract.spi.validation.ContractValidationService.NEGOTIATION_SCOPE; import static org.eclipse.edc.connector.contract.spi.validation.ContractValidationService.TRANSFER_SCOPE; +import static org.eclipse.tractusx.edc.edr.spi.CoreConstants.TX_NAMESPACE; /** * Business partner number evaluation function. @@ -62,6 +63,9 @@ public class LegacyBusinessPartnerValidationExtension implements ServiceExtensio */ public static final String BUSINESS_PARTNER_CONSTRAINT_KEY = "BusinessPartnerNumber"; + public static final String TX_BUSINESS_PARTNER_CONSTRAINT_KEY = TX_NAMESPACE + BUSINESS_PARTNER_CONSTRAINT_KEY; + + public static final String DEFAULT_LOG_AGREEMENT_EVALUATION = "true"; @@ -107,10 +111,14 @@ public void initialize(ServiceExtensionContext context) { private void bindToScope(BusinessPartnerDutyFunction dutyFunction, BusinessPartnerPermissionFunction permissionFunction, BusinessPartnerProhibitionFunction prohibitionFunction, String scope) { ruleBindingRegistry.bind("USE", scope); ruleBindingRegistry.bind(BUSINESS_PARTNER_CONSTRAINT_KEY, scope); + ruleBindingRegistry.bind(TX_BUSINESS_PARTNER_CONSTRAINT_KEY, scope); + policyEngine.registerFunction(scope, Duty.class, BUSINESS_PARTNER_CONSTRAINT_KEY, dutyFunction); policyEngine.registerFunction(scope, Permission.class, BUSINESS_PARTNER_CONSTRAINT_KEY, permissionFunction); policyEngine.registerFunction(scope, Prohibition.class, BUSINESS_PARTNER_CONSTRAINT_KEY, prohibitionFunction); + + policyEngine.registerFunction(scope, Permission.class, TX_BUSINESS_PARTNER_CONSTRAINT_KEY, permissionFunction); } private boolean logAgreementEvaluationSetting(ServiceExtensionContext context) { diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/PolicyHelperFunctions.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/PolicyHelperFunctions.java index d1196453b..4c933fb1b 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/PolicyHelperFunctions.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/PolicyHelperFunctions.java @@ -44,6 +44,9 @@ public class PolicyHelperFunctions { public static final String TX_NAMESPACE = "https://w3id.org/tractusx/v0.0.1/ns/"; private static final String BUSINESS_PARTNER_EVALUATION_KEY = "BusinessPartnerNumber"; + + public static final String BUSINESS_PARTNER_LEGACY_EVALUATION_KEY = TX_NAMESPACE + BUSINESS_PARTNER_EVALUATION_KEY; + private static final String BUSINESS_PARTNER_CONSTRAINT_KEY = TX_NAMESPACE + "BusinessPartnerGroup"; private static final ObjectMapper MAPPER = JacksonJsonLd.createObjectMapper(); diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/catalog/AbstractCatalogTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/catalog/AbstractCatalogTest.java index 491ea292b..1b8fe86bb 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/catalog/AbstractCatalogTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/catalog/AbstractCatalogTest.java @@ -20,12 +20,16 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import java.util.Map; + import static java.util.stream.IntStream.range; import static org.assertj.core.api.Assertions.assertThat; import static org.eclipse.tractusx.edc.helpers.CatalogHelperFunctions.getDatasetAssetId; import static org.eclipse.tractusx.edc.helpers.CatalogHelperFunctions.getDatasetPolicies; +import static org.eclipse.tractusx.edc.helpers.PolicyHelperFunctions.BUSINESS_PARTNER_LEGACY_EVALUATION_KEY; import static org.eclipse.tractusx.edc.helpers.PolicyHelperFunctions.businessPartnerGroupPolicy; import static org.eclipse.tractusx.edc.helpers.PolicyHelperFunctions.businessPartnerNumberPolicy; +import static org.eclipse.tractusx.edc.helpers.PolicyHelperFunctions.frameworkPolicy; import static org.eclipse.tractusx.edc.helpers.PolicyHelperFunctions.noConstraintPolicyDefinition; import static org.eclipse.tractusx.edc.helpers.QueryHelperFunctions.createQuery; import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.PLATO_BPN; @@ -92,6 +96,34 @@ void requestCatalog_filteredByBpnLegacy_shouldReject() { } + @Test + @DisplayName("Verify that Plato receives only the offers he is permitted to (using the legacy BPN validation)") + void requestCatalog_filteredByBpnLegacy_WithNamespace_shouldReject() { + var onlyPlatoId = "ap"; + var onlyDiogenesId = "db"; + + var onlyPlatoPolicy = businessPartnerNumberPolicy(onlyPlatoId, "BPN1", "BPN2", PLATO.getBpn()); + var onlyDiogenesPolicy = frameworkPolicy(onlyDiogenesId, Map.of(BUSINESS_PARTNER_LEGACY_EVALUATION_KEY, "ARISTOTELES-BPN")); + var noConstraintPolicyId = "no-constraint"; + + SOKRATES.createPolicy(onlyPlatoPolicy); + SOKRATES.createPolicy(onlyDiogenesPolicy); + SOKRATES.createPolicy(noConstraintPolicyDefinition(noConstraintPolicyId)); + + SOKRATES.createAsset("test-asset1"); + SOKRATES.createAsset("test-asset2"); + SOKRATES.createAsset("test-asset3"); + + SOKRATES.createContractDefinition("test-asset1", "def1", noConstraintPolicyId, noConstraintPolicyId); + SOKRATES.createContractDefinition("test-asset2", "def2", onlyPlatoId, noConstraintPolicyId); + SOKRATES.createContractDefinition("test-asset3", "def3", onlyDiogenesId, noConstraintPolicyId); + + + // act + var catalog = PLATO.getCatalogDatasets(SOKRATES); + assertThat(catalog).hasSize(2); + } + @Test @DisplayName("Verify that Plato receives only the offers he is permitted to (using the new BPN validation)") void requestCatalog_filteredByBpn_shouldReject() { From 99e67a02389f552afae97b45da9b325e85e949c9 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Thu, 24 Aug 2023 16:50:43 +0200 Subject: [PATCH 04/60] chore(MIW): updates the image with the tractusx miw published on dockerhub (#731) --- .../java/org/eclipse/tractusx/edc/tests/miw/WalletTest.java | 2 +- .../src/test/resources/docker-environment/docker-compose.yaml | 2 +- .../src/test/resources/docker-environment/postgres/seed.sh | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/edc-tests/miw-tests/src/test/java/org/eclipse/tractusx/edc/tests/miw/WalletTest.java b/edc-tests/miw-tests/src/test/java/org/eclipse/tractusx/edc/tests/miw/WalletTest.java index 668c7aa63..b5d3b686a 100644 --- a/edc-tests/miw-tests/src/test/java/org/eclipse/tractusx/edc/tests/miw/WalletTest.java +++ b/edc-tests/miw-tests/src/test/java/org/eclipse/tractusx/edc/tests/miw/WalletTest.java @@ -186,7 +186,7 @@ void verifyVp_spoofedVpAndForgedJws() throws JsonProcessingException, ParseExcep var jo = Json.createObjectBuilder(payloadJson).build(); // replace JWS inside the VC's proof object - var jws = jo.getJsonObject("vp").getJsonObject("verifiableCredential").getJsonObject("proof").getString("jws"); + var jws = jo.getJsonObject("vp").getJsonArray("verifiableCredential").getJsonObject(0).getJsonObject("proof").getString("jws"); var invalidJws = jws.replace("a", "X"); var tamperedJson = jo.toString().replace(jws, invalidJws); var tamperedJsonObject = OBJECT_MAPPER.readValue(tamperedJson, mapRef); 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 7718336a0..fbfd03d96 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 @@ -23,7 +23,7 @@ version: '3' services: miw: - image: ghcr.io/catenax-ng/tx-managed-identity-wallets_miw_service:latest-java-did-web + image: tractusx/managed-identity-wallet:main platform: linux/amd64 container_name: miw env_file: diff --git a/edc-tests/miw-tests/src/test/resources/docker-environment/postgres/seed.sh b/edc-tests/miw-tests/src/test/resources/docker-environment/postgres/seed.sh index c13a84575..5d4f20287 100755 --- a/edc-tests/miw-tests/src/test/resources/docker-environment/postgres/seed.sh +++ b/edc-tests/miw-tests/src/test/resources/docker-environment/postgres/seed.sh @@ -19,6 +19,6 @@ psql -v ON_ERROR_STOP=1 --username "keycloak" --dbname "keycloak" <<-EOSQL -- the following lines add one additional participant to MiW, used for the impersonation attack test \c miw INSERT INTO public.wallet (id, name, did, bpn, algorithm, did_document, created_at, modified_at, modified_from) VALUES (2, 'Another Participant', 'did:web:localhost%3A8000:BPNL000000000042', 'BPNL000000000042', 'ED25519', '{"verificationMethod":[{"publicKeyJwk":{"kty":"OKP","crv":"Ed25519","x":"Xok4qFXhNjMC3l-VHoQBJ_RHhtDmxevaoN13PE3j8MY"},"controller":"did:web:localhost%3A8000:BPNL000000000000","id":"did:web:localhost%3A8000:BPNL000000000000#","type":"JsonWebKey2020"}],"@context":"https://www.w3.org/ns/did/v1","id":"did:web:localhost%3A8000:BPNL000000000000"}', '2023-06-29 13:49:07.138000', '2023-06-29 13:49:07.140000', null); - INSERT INTO public.issuers_credential (id, holder_did, issuer_did, credential_id, data, type, created_at, modified_at, modified_from) VALUES (3, 'did:web:localhost%3A8000:BPNL000000000042', 'did:web:localhost%3A8000:BPNL000000000042', 'a043c406-d51d-4672-ad89-517c68d025f9', '{"issuanceDate":"2023-06-29T13:49:11Z","credentialSubject":[{"holderIdentifier":"BPNL000000000000","id":"did:web:localhost%3A8000:BPNL000000000000","type":"SummaryCredential","items":["BpnCredential"],"contractTemplates":"https://public.catena-x.org/contracts/"}],"id":"a043c406-d51d-4672-ad89-517c68d025f9","proof":{"assertionMethod":"did:web:localhost%3A8000:BPNL000000000000#","proofPurpose":"proofPurpose","type":"JsonWebSignature2020","created":"2023-06-29T13:49:11Z","jws":"eyJhbGciOiJFZERTQSJ9..waFlAQyE42TddNz0v4q_MkIbSgbjexDQqdt-k6LEQG3BvhE1Adj6SIERtUzmYowuLtdcTBbwVAROf9yzpfNMAg"},"type":["VerifiableCredential","SummaryCredential"],"@context":["https://www.w3.org/2018/credentials/v1","https://catenax-ng.github.io/product-core-schemas/SummaryVC.json"],"issuer":"did:web:localhost%3A8000:BPNL000000000000","expirationDate":"2025-01-01T00:00:00Z"}', 'SummaryCredential', '2023-06-29 13:49:11.870000', '2023-06-29 13:49:11.925000', null); - INSERT INTO public.holders_credential (id, holder_did, issuer_did, credential_id, data, type, created_at, modified_at, modified_from) VALUES (3, 'did:web:localhost%3A8000:BPNL000000000042', 'did:web:localhost%3A8000:BPNL000000000042', 'a043c406-d51d-4672-ad89-517c68d025f9', '{"issuanceDate":"2023-06-29T13:49:11Z","credentialSubject":[{"holderIdentifier":"BPNL000000000000","id":"did:web:localhost%3A8000:BPNL000000000000","type":"SummaryCredential","items":["BpnCredential"],"contractTemplates":"https://public.catena-x.org/contracts/"}],"id":"a043c406-d51d-4672-ad89-517c68d025f9","proof":{"assertionMethod":"did:web:localhost%3A8000:BPNL000000000000#","proofPurpose":"proofPurpose","type":"JsonWebSignature2020","created":"2023-06-29T13:49:11Z","jws":"eyJhbGciOiJFZERTQSJ9..waFlAQyE42TddNz0v4q_MkIbSgbjexDQqdt-k6LEQG3BvhE1Adj6SIERtUzmYowuLtdcTBbwVAROf9yzpfNMAg"},"type":["VerifiableCredential","SummaryCredential"],"@context":["https://www.w3.org/2018/credentials/v1","https://catenax-ng.github.io/product-core-schemas/SummaryVC.json"],"issuer":"did:web:localhost%3A8000:BPNL000000000000","expirationDate":"2025-01-01T00:00:00Z"}', 'SummaryCredential', '2023-06-29 13:49:11.870000', '2023-06-29 13:49:11.925000', null); + INSERT INTO public.issuers_credential (id, holder_did, issuer_did, credential_id, credential_data, credential_type, created_at, modified_at, modified_from) VALUES (3, 'did:web:localhost%3A8000:BPNL000000000042', 'did:web:localhost%3A8000:BPNL000000000042', 'a043c406-d51d-4672-ad89-517c68d025f9', '{"issuanceDate":"2023-06-29T13:49:11Z","credentialSubject":[{"holderIdentifier":"BPNL000000000000","id":"did:web:localhost%3A8000:BPNL000000000000","type":"SummaryCredential","items":["BpnCredential"],"contractTemplates":"https://public.catena-x.org/contracts/"}],"id":"a043c406-d51d-4672-ad89-517c68d025f9","proof":{"assertionMethod":"did:web:localhost%3A8000:BPNL000000000000#","proofPurpose":"proofPurpose","type":"JsonWebSignature2020","created":"2023-06-29T13:49:11Z","jws":"eyJhbGciOiJFZERTQSJ9..waFlAQyE42TddNz0v4q_MkIbSgbjexDQqdt-k6LEQG3BvhE1Adj6SIERtUzmYowuLtdcTBbwVAROf9yzpfNMAg"},"type":["VerifiableCredential","SummaryCredential"],"@context":["https://www.w3.org/2018/credentials/v1","https://catenax-ng.github.io/product-core-schemas/SummaryVC.json"],"issuer":"did:web:localhost%3A8000:BPNL000000000000","expirationDate":"2025-01-01T00:00:00Z"}', 'SummaryCredential', '2023-06-29 13:49:11.870000', '2023-06-29 13:49:11.925000', null); + INSERT INTO public.holders_credential (id, holder_did, issuer_did, credential_id, credential_data, credential_type, created_at, modified_at, modified_from) VALUES (3, 'did:web:localhost%3A8000:BPNL000000000042', 'did:web:localhost%3A8000:BPNL000000000042', 'a043c406-d51d-4672-ad89-517c68d025f9', '{"issuanceDate":"2023-06-29T13:49:11Z","credentialSubject":[{"holderIdentifier":"BPNL000000000000","id":"did:web:localhost%3A8000:BPNL000000000000","type":"SummaryCredential","items":["BpnCredential"],"contractTemplates":"https://public.catena-x.org/contracts/"}],"id":"a043c406-d51d-4672-ad89-517c68d025f9","proof":{"assertionMethod":"did:web:localhost%3A8000:BPNL000000000000#","proofPurpose":"proofPurpose","type":"JsonWebSignature2020","created":"2023-06-29T13:49:11Z","jws":"eyJhbGciOiJFZERTQSJ9..waFlAQyE42TddNz0v4q_MkIbSgbjexDQqdt-k6LEQG3BvhE1Adj6SIERtUzmYowuLtdcTBbwVAROf9yzpfNMAg"},"type":["VerifiableCredential","SummaryCredential"],"@context":["https://www.w3.org/2018/credentials/v1","https://catenax-ng.github.io/product-core-schemas/SummaryVC.json"],"issuer":"did:web:localhost%3A8000:BPNL000000000000","expirationDate":"2025-01-01T00:00:00Z"}', 'SummaryCredential', '2023-06-29 13:49:11.870000', '2023-06-29 13:49:11.925000', null); EOSQL \ No newline at end of file From 7022c829239964736c35661370e5c5177d020182 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Thu, 24 Aug 2023 17:02:51 +0200 Subject: [PATCH 05/60] chore(tests): removes TxPostgresqlLocalInstance (#732) --- .../helpers/TxPostgresqlLocalInstance.java | 82 ------------------- 1 file changed, 82 deletions(-) delete mode 100644 edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/TxPostgresqlLocalInstance.java diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/TxPostgresqlLocalInstance.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/TxPostgresqlLocalInstance.java deleted file mode 100644 index eaac4e0e2..000000000 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/helpers/TxPostgresqlLocalInstance.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2022 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.helpers; - -import org.postgresql.ds.PGSimpleDataSource; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import javax.sql.DataSource; - -import static java.lang.String.format; - -@Deprecated(forRemoval = true) -public final class TxPostgresqlLocalInstance { - private final String password; - private final String jdbcUrlPrefix; - private final String username; - private final String databaseName; - - public TxPostgresqlLocalInstance(String user, String password, String jdbcUrlPrefix, String db) { - username = user; - this.password = password; - this.jdbcUrlPrefix = jdbcUrlPrefix; - databaseName = db; - } - - public void createDatabase() { - createDatabase(databaseName); - } - - public void createDatabase(String name) { - try (var connection = DriverManager.getConnection(jdbcUrlPrefix + username, username, password)) { - connection.createStatement().execute(format("create database %s;", name)); - } catch (SQLException e) { - e.printStackTrace(); - // database could already exist - } - } - - public Connection getTestConnection(String hostName, int port, String dbName) { - try { - return createTestDataSource(hostName, port, dbName).getConnection(); - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - - public Connection getConnection() { - try { - return DriverManager.getConnection(jdbcUrlPrefix, username, password); - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - - public String getJdbcUrlPrefix() { - return jdbcUrlPrefix; - } - - private DataSource createTestDataSource(String hostName, int port, String dbName) { - var dataSource = new PGSimpleDataSource(); - dataSource.setServerNames(new String[]{ hostName }); - dataSource.setPortNumbers(new int[]{ port }); - dataSource.setUser(username); - dataSource.setPassword(password); - dataSource.setDatabaseName(dbName); - return dataSource; - } -} From c04e5e107afc0f27a85f07a605dc07a7a68e26e9 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Fri, 25 Aug 2023 17:08:11 +0200 Subject: [PATCH 06/60] fix:(charts): api key config missing in dataplane for proxy (#735) --- charts/tractusx-connector-azure-vault/README.md | 1 + .../templates/deployment-dataplane.yaml | 2 ++ charts/tractusx-connector-azure-vault/values.yaml | 1 + charts/tractusx-connector/README.md | 1 + charts/tractusx-connector/templates/deployment-dataplane.yaml | 2 ++ charts/tractusx-connector/values.yaml | 1 + docs/samples/example-dataspace/plato-values.yaml | 3 +++ docs/samples/example-dataspace/sokrates-values.yaml | 3 +++ .../resources/helm/tractusx-connector-azure-vault-test.yaml | 3 +++ .../src/main/resources/helm/tractusx-connector-test.yaml | 3 +++ 10 files changed, 20 insertions(+) diff --git a/charts/tractusx-connector-azure-vault/README.md b/charts/tractusx-connector-azure-vault/README.md index 1b67b817c..a99386c45 100644 --- a/charts/tractusx-connector-azure-vault/README.md +++ b/charts/tractusx-connector-azure-vault/README.md @@ -184,6 +184,7 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | dataplane.endpoints.default.port | int | `8080` | | | dataplane.endpoints.metrics.path | string | `"/metrics"` | | | dataplane.endpoints.metrics.port | int | `9090` | | +| dataplane.endpoints.proxy.authKey | string | `""` | | | dataplane.endpoints.proxy.path | string | `"/proxy"` | | | dataplane.endpoints.proxy.port | int | `8186` | | | dataplane.endpoints.public.path | string | `"/api/public"` | | diff --git a/charts/tractusx-connector-azure-vault/templates/deployment-dataplane.yaml b/charts/tractusx-connector-azure-vault/templates/deployment-dataplane.yaml index e5490a90e..3d1243817 100644 --- a/charts/tractusx-connector-azure-vault/templates/deployment-dataplane.yaml +++ b/charts/tractusx-connector-azure-vault/templates/deployment-dataplane.yaml @@ -148,6 +148,8 @@ spec: ####### # API # ####### + - name: "EDC_API_AUTH_KEY" + value: {{ .Values.dataplane.endpoints.proxy.authKey | required ".Values.proxy.endpoints.proxy.authKey is required" | quote }} - name: "WEB_HTTP_DEFAULT_PORT" value: {{ .Values.dataplane.endpoints.default.port | quote }} - name: "WEB_HTTP_DEFAULT_PATH" diff --git a/charts/tractusx-connector-azure-vault/values.yaml b/charts/tractusx-connector-azure-vault/values.yaml index 0c157c2b1..346f96476 100644 --- a/charts/tractusx-connector-azure-vault/values.yaml +++ b/charts/tractusx-connector-azure-vault/values.yaml @@ -354,6 +354,7 @@ dataplane: proxy: port: 8186 path: /proxy + authKey: "" metrics: port: 9090 path: /metrics diff --git a/charts/tractusx-connector/README.md b/charts/tractusx-connector/README.md index 66f0ce0a0..3dfe9ea8b 100644 --- a/charts/tractusx-connector/README.md +++ b/charts/tractusx-connector/README.md @@ -178,6 +178,7 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.5.1 \ | dataplane.endpoints.default.port | int | `8080` | | | dataplane.endpoints.metrics.path | string | `"/metrics"` | | | dataplane.endpoints.metrics.port | int | `9090` | | +| dataplane.endpoints.proxy.authKey | string | `""` | | | dataplane.endpoints.proxy.path | string | `"/proxy"` | | | dataplane.endpoints.proxy.port | int | `8186` | | | dataplane.endpoints.public.path | string | `"/api/public"` | | diff --git a/charts/tractusx-connector/templates/deployment-dataplane.yaml b/charts/tractusx-connector/templates/deployment-dataplane.yaml index e3aa80d09..0501562ea 100644 --- a/charts/tractusx-connector/templates/deployment-dataplane.yaml +++ b/charts/tractusx-connector/templates/deployment-dataplane.yaml @@ -148,6 +148,8 @@ spec: ####### # API # ####### + - name: "EDC_API_AUTH_KEY" + value: {{ .Values.dataplane.endpoints.proxy.authKey | required ".Values.proxy.endpoints.proxy.authKey is required" | quote }} - name: "WEB_HTTP_DEFAULT_PORT" value: {{ .Values.dataplane.endpoints.default.port | quote }} - name: "WEB_HTTP_DEFAULT_PATH" diff --git a/charts/tractusx-connector/values.yaml b/charts/tractusx-connector/values.yaml index b98fc645b..204e41c52 100644 --- a/charts/tractusx-connector/values.yaml +++ b/charts/tractusx-connector/values.yaml @@ -352,6 +352,7 @@ dataplane: proxy: port: 8186 path: /proxy + authKey: "" metrics: port: 9090 path: /metrics diff --git a/docs/samples/example-dataspace/plato-values.yaml b/docs/samples/example-dataspace/plato-values.yaml index ff9e18cdc..c016d9a0e 100644 --- a/docs/samples/example-dataspace/plato-values.yaml +++ b/docs/samples/example-dataspace/plato-values.yaml @@ -48,6 +48,9 @@ controlplane: id: "" secretAlias: "client-secret" dataplane: + endpoints: + management: + authKey: password image: pullPolicy: Never tag: "latest" diff --git a/docs/samples/example-dataspace/sokrates-values.yaml b/docs/samples/example-dataspace/sokrates-values.yaml index 200f11ae3..c21948a16 100644 --- a/docs/samples/example-dataspace/sokrates-values.yaml +++ b/docs/samples/example-dataspace/sokrates-values.yaml @@ -46,6 +46,9 @@ controlplane: id: "" secretAlias: "client-secret" dataplane: + endpoints: + proxy: + authKey: password image: pullPolicy: Never tag: "latest" diff --git a/edc-tests/deployment/src/main/resources/helm/tractusx-connector-azure-vault-test.yaml b/edc-tests/deployment/src/main/resources/helm/tractusx-connector-azure-vault-test.yaml index 9f4768383..757cd64c9 100644 --- a/edc-tests/deployment/src/main/resources/helm/tractusx-connector-azure-vault-test.yaml +++ b/edc-tests/deployment/src/main/resources/helm/tractusx-connector-azure-vault-test.yaml @@ -57,6 +57,9 @@ controlplane: # avoids some errors in the log: cannot write temp files of large multipart requests when R/O readOnlyRootFilesystem: false dataplane: + endpoints: + proxy: + authKey: password image: pullPolicy: Never tag: "latest" diff --git a/edc-tests/deployment/src/main/resources/helm/tractusx-connector-test.yaml b/edc-tests/deployment/src/main/resources/helm/tractusx-connector-test.yaml index 6dd81aa29..453800d0f 100644 --- a/edc-tests/deployment/src/main/resources/helm/tractusx-connector-test.yaml +++ b/edc-tests/deployment/src/main/resources/helm/tractusx-connector-test.yaml @@ -44,6 +44,9 @@ controlplane: client: secretAlias: "client-secret" dataplane: + endpoints: + proxy: + authKey: password image: pullPolicy: Never tag: "latest" From f6d553c20df0b916b27bff5ae0b3613fc82198dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 09:06:45 +0200 Subject: [PATCH 07/60] chore(deps): bump org.flywaydb:flyway-core from 9.21.1 to 9.21.2 (#739) * chore(deps): bump org.flywaydb:flyway-core from 9.21.1 to 9.21.2 Bumps [org.flywaydb:flyway-core](https://github.com/flyway/flyway) from 9.21.1 to 9.21.2. - [Release notes](https://github.com/flyway/flyway/releases) - [Commits](https://github.com/flyway/flyway/compare/flyway-9.21.1...flyway-9.21.2) --- 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 --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Enrico Risa --- DEPENDENCIES | 3 +-- edc-extensions/postgresql-migration/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index b77dcd45c..7cbdf5dc4 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -26,7 +26,6 @@ maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.13.5, Apache-2. 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.2, Apache-2.0, approved, #7934 -maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-toml/2.14.0, Apache-2.0 AND BSD-3-Clause AND MIT AND Apache-2.0, approved, #7943 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-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 @@ -332,7 +331,7 @@ maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.15, EPL-2.0 OR Apache-2. maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.flywaydb/flyway-core/9.21.1, Apache-2.0, approved, #9846 +maven/mavencentral/org.flywaydb/flyway-core/9.21.2, Apache-2.0, approved, #9846 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 de91ef6d5..c8ba9c71c 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.21.1") + implementation("org.flywaydb:flyway-core:9.21.2") } From 7b22085083a79023dc1d3ae66d77bcca45b58167 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 09:22:12 +0200 Subject: [PATCH 08/60] chore(deps): bump testcontainers from 1.18.3 to 1.19.0 (#736) * chore(deps): bump testcontainers from 1.18.3 to 1.19.0 Bumps `testcontainers` from 1.18.3 to 1.19.0. Updates `org.testcontainers:junit-jupiter` from 1.18.3 to 1.19.0 - [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.18.3...1.19.0) Updates `org.testcontainers:postgresql` from 1.18.3 to 1.19.0 - [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.18.3...1.19.0) --- updated-dependencies: - dependency-name: org.testcontainers:junit-jupiter dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.testcontainers:postgresql 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 | 8 ++++++++ gradle/libs.versions.toml | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 7cbdf5dc4..e632774cd 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -46,8 +46,11 @@ maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.14.2, Apache-2.0, approve maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.2, 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.0, Apache-2.0, approved, clearlydefined +maven/mavencentral/com.github.docker-java/docker-java-api/3.3.3, , restricted, clearlydefined maven/mavencentral/com.github.docker-java/docker-java-transport-zerodep/3.3.0, 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.3, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #7946 maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.0, Apache-2.0, approved, #7942 +maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.3, 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 @@ -408,10 +411,15 @@ 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.7, MIT, approved, #5915 maven/mavencentral/org.testcontainers/database-commons/1.18.3, MIT, approved, clearlydefined +maven/mavencentral/org.testcontainers/database-commons/1.19.0, , restricted, clearlydefined maven/mavencentral/org.testcontainers/jdbc/1.18.3, MIT, approved, clearlydefined +maven/mavencentral/org.testcontainers/jdbc/1.19.0, , restricted, clearlydefined maven/mavencentral/org.testcontainers/junit-jupiter/1.18.3, MIT, approved, #7941 +maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, , restricted, clearlydefined maven/mavencentral/org.testcontainers/postgresql/1.18.3, MIT, approved, #9332 +maven/mavencentral/org.testcontainers/postgresql/1.19.0, , restricted, clearlydefined maven/mavencentral/org.testcontainers/testcontainers/1.18.3, MIT, approved, #7938 +maven/mavencentral/org.testcontainers/testcontainers/1.19.0, , restricted, clearlydefined maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d66c670b3..8d90ed331 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.1" apache-sshd = "2.10.0" -testcontainers = "1.18.3" +testcontainers = "1.19.0" aws = "2.20.130" rsApi = "3.1.0" jupiter = "5.10.0" From 865f4a346b3ade15d652827902b41a5c75721dae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 09:59:18 +0200 Subject: [PATCH 09/60] chore(deps): bump org.yaml:snakeyaml from 2.1 to 2.2 (#737) * chore(deps): bump org.yaml:snakeyaml from 2.1 to 2.2 Bumps [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) from 2.1 to 2.2. - [Commits](https://bitbucket.org/snakeyaml/snakeyaml/branches/compare/snakeyaml-2.2..snakeyaml-2.1) --- updated-dependencies: - dependency-name: org.yaml:snakeyaml 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 +- build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index e632774cd..a90dace59 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -422,7 +422,7 @@ maven/mavencentral/org.testcontainers/testcontainers/1.18.3, MIT, approved, #793 maven/mavencentral/org.testcontainers/testcontainers/1.19.0, , restricted, clearlydefined maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/annotations/2.20.123, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/annotations/2.20.130, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/apache-client/2.20.123, Apache-2.0, approved, #8609 diff --git a/build.gradle.kts b/build.gradle.kts index 076c089ba..1aaa3bed5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -68,7 +68,7 @@ allprojects { testImplementation(platform("org.junit:junit-bom:5.10.0")) constraints { - implementation("org.yaml:snakeyaml:2.1") { + implementation("org.yaml:snakeyaml:2.2") { because("version 1.33 has vulnerabilities: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1471.") } implementation("net.minidev:json-smart:2.5.0") { From 91ac4aa6c812ad22c96c3249ae113f6281c5ebdc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 10:28:09 +0200 Subject: [PATCH 10/60] chore(deps): bump com.azure:azure-security-keyvault-secrets from 4.6.4 to 4.6.5 (#738) * 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.4 to 4.6.5. - [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.4...azure-security-keyvault-keys_4.6.5) --- 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 | 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 a90dace59..99aed1370 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -11,6 +11,7 @@ maven/mavencentral/com.azure/azure-identity/1.10.0, MIT AND Apache-2.0, approved maven/mavencentral/com.azure/azure-identity/1.9.2, MIT AND Apache-2.0, approved, #9686 maven/mavencentral/com.azure/azure-json/1.0.1, MIT AND Apache-2.0, approved, #7933 maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.6.4, MIT, approved, #7940 +maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.6.5, MIT, approved, #7940 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.3, Apache-2.0, approved, clearlydefined maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.13.5, Apache-2.0, approved, clearlydefined diff --git a/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts b/edc-dataplane/edc-dataplane-azure-vault/build.gradle.kts index 04993fa96..61a65bef4 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.4") + implementation("com.azure:azure-security-keyvault-secrets:4.6.5") runtimeOnly(project(":edc-extensions:edr:edr-cache-sql")) runtimeOnly(libs.edc.transaction.local) runtimeOnly(libs.edc.sql.pool) From 847a3eafb7ce3e6b583ad361a38e8650dbacbdae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 10:51:54 +0200 Subject: [PATCH 11/60] chore(deps): bump software.amazon.awssdk:s3 from 2.20.130 to 2.20.135 (#740) * chore(deps): bump software.amazon.awssdk:s3 from 2.20.130 to 2.20.135 Bumps software.amazon.awssdk:s3 from 2.20.130 to 2.20.135. --- updated-dependencies: - dependency-name: software.amazon.awssdk:s3 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 | 40 +++++++++++++++++++-------------------- gradle/libs.versions.toml | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 99aed1370..3fac98f7d 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -425,45 +425,45 @@ maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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, , restricted, clearlydefined maven/mavencentral/software.amazon.awssdk/annotations/2.20.123, Apache-2.0, approved, #8598 -maven/mavencentral/software.amazon.awssdk/annotations/2.20.130, Apache-2.0, approved, #8598 +maven/mavencentral/software.amazon.awssdk/annotations/2.20.135, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/apache-client/2.20.123, Apache-2.0, approved, #8609 -maven/mavencentral/software.amazon.awssdk/apache-client/2.20.130, Apache-2.0, approved, #8609 +maven/mavencentral/software.amazon.awssdk/apache-client/2.20.135, Apache-2.0, approved, #8609 maven/mavencentral/software.amazon.awssdk/arns/2.20.123, Apache-2.0, approved, #8616 -maven/mavencentral/software.amazon.awssdk/arns/2.20.130, Apache-2.0, approved, #8616 +maven/mavencentral/software.amazon.awssdk/arns/2.20.135, Apache-2.0, approved, #8616 maven/mavencentral/software.amazon.awssdk/auth/2.20.123, Apache-2.0, approved, #8602 -maven/mavencentral/software.amazon.awssdk/auth/2.20.130, Apache-2.0, approved, #8602 +maven/mavencentral/software.amazon.awssdk/auth/2.20.135, Apache-2.0, approved, #8602 maven/mavencentral/software.amazon.awssdk/aws-core/2.20.123, Apache-2.0, approved, #8612 -maven/mavencentral/software.amazon.awssdk/aws-core/2.20.130, Apache-2.0, approved, #8612 +maven/mavencentral/software.amazon.awssdk/aws-core/2.20.135, Apache-2.0, approved, #8612 maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.123, Apache-2.0, approved, #8629 -maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.130, Apache-2.0, approved, #8629 +maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.135, Apache-2.0, approved, #8629 maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.123, Apache-2.0, approved, #8624 -maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.130, Apache-2.0, approved, #8624 +maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.135, Apache-2.0, approved, #8624 maven/mavencentral/software.amazon.awssdk/crt-core/2.20.123, Apache-2.0, approved, #8627 -maven/mavencentral/software.amazon.awssdk/crt-core/2.20.130, Apache-2.0, approved, #8627 +maven/mavencentral/software.amazon.awssdk/crt-core/2.20.135, Apache-2.0, approved, #8627 maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.123, Apache-2.0, approved, #8604 -maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.130, Apache-2.0, approved, #8604 +maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.135, Apache-2.0, approved, #8604 maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.123, Apache-2.0, approved, #8608 -maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.130, Apache-2.0, approved, #8608 +maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.135, Apache-2.0, approved, #8608 maven/mavencentral/software.amazon.awssdk/iam/2.20.123, Apache-2.0, approved, #9271 maven/mavencentral/software.amazon.awssdk/json-utils/2.20.123, Apache-2.0, approved, #8614 -maven/mavencentral/software.amazon.awssdk/json-utils/2.20.130, Apache-2.0, approved, #8614 +maven/mavencentral/software.amazon.awssdk/json-utils/2.20.135, Apache-2.0, approved, #8614 maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.123, Apache-2.0, approved, #8636 -maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.130, Apache-2.0, approved, #8636 +maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.135, Apache-2.0, approved, #8636 maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.123, Apache-2.0, approved, #8613 -maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.130, Apache-2.0, approved, #8613 +maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.135, Apache-2.0, approved, #8613 maven/mavencentral/software.amazon.awssdk/profiles/2.20.123, Apache-2.0, approved, #8600 -maven/mavencentral/software.amazon.awssdk/profiles/2.20.130, Apache-2.0, approved, #8600 +maven/mavencentral/software.amazon.awssdk/profiles/2.20.135, Apache-2.0, approved, #8600 maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.123, Apache-2.0, approved, #8635 -maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.130, Apache-2.0, approved, #8635 +maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.135, Apache-2.0, approved, #8635 maven/mavencentral/software.amazon.awssdk/regions/2.20.123, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/regions/2.20.130, Apache-2.0, approved, #8632 +maven/mavencentral/software.amazon.awssdk/regions/2.20.135, Apache-2.0, approved, #8632 maven/mavencentral/software.amazon.awssdk/s3/2.20.123, Apache-2.0, approved, #8623 -maven/mavencentral/software.amazon.awssdk/s3/2.20.130, Apache-2.0, approved, #8623 +maven/mavencentral/software.amazon.awssdk/s3/2.20.135, Apache-2.0, approved, #8623 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.123, Apache-2.0, approved, #8611 -maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.130, Apache-2.0, approved, #8611 +maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.135, Apache-2.0, approved, #8611 maven/mavencentral/software.amazon.awssdk/sts/2.20.123, Apache-2.0, approved, #9269 maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.123, Apache-2.0, approved, #8622 -maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.130, Apache-2.0, approved, #8622 +maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.135, Apache-2.0, approved, #8622 maven/mavencentral/software.amazon.awssdk/utils/2.20.123, Apache-2.0, approved, #8625 -maven/mavencentral/software.amazon.awssdk/utils/2.20.130, Apache-2.0, approved, #8625 +maven/mavencentral/software.amazon.awssdk/utils/2.20.135, 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 8d90ed331..997313475 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,7 +15,7 @@ mockito = "5.2.0" restAssured = "5.3.1" apache-sshd = "2.10.0" testcontainers = "1.19.0" -aws = "2.20.130" +aws = "2.20.135" rsApi = "3.1.0" jupiter = "5.10.0" assertj = "3.24.2" From 43e152b370f301b91d2b3c556b9e7ffe4ef4d802 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Tue, 29 Aug 2023 11:06:32 +0200 Subject: [PATCH 12/60] chore: update dependencies file (#741) --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 3fac98f7d..73abb995d 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -423,7 +423,7 @@ maven/mavencentral/org.testcontainers/testcontainers/1.18.3, MIT, approved, #793 maven/mavencentral/org.testcontainers/testcontainers/1.19.0, , restricted, clearlydefined maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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, , restricted, clearlydefined +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.123, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/annotations/2.20.135, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/apache-client/2.20.123, Apache-2.0, approved, #8609 From 2a8d69b0f026659fc91c3b7dbcc81f1046cafa3a Mon Sep 17 00:00:00 2001 From: "Sascha Isele (ZF Friedrichshafen AG)" <127207440+saschaisele-zf@users.noreply.github.com> Date: Tue, 29 Aug 2023 11:25:52 +0200 Subject: [PATCH 13/60] chore(changelog): updated CHANGELOG.md with 0.5.0 and 0.5.1 (#733) recovered CHANGELOG.md from 0.5.0-rc5 copied generated changelogs from releases 0.5.0 and 0.5.1 added links fixed all linting errors in the old file fixed some more lint errors removed semver statement updated dependencies Signed-off-by: Sascha Isele --- CHANGELOG.md | 473 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 473 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..22b8cba17 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,473 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [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) +- refactor(CPA): obliviates the control plane adapter term and module refactor by @wolf4ood in [#606](https://github.com/eclipse-tractusx/tractusx-edc/pull/606) +- Chore: synchronize histories of main and releases by @paullatzelsperger in [#604](https://github.com/eclipse-tractusx/tractusx-edc/pull/604) +- fix(helm charts): Replace all "ids" occurrences in helm charts by @florianrusch-zf in [#586](https://github.com/eclipse-tractusx/tractusx-edc/pull/586) +- feat(ci): use dependency check from upstream EDC by @paullatzelsperger in [#615](https://github.com/eclipse-tractusx/tractusx-edc/pull/615) +- fix(helm chart): Set participant ID in data plane by @tuncaytunc-zf in [#627](https://github.com/eclipse-tractusx/tractusx-edc/pull/627) +- chore: update curl version to 8.2.0-r0 by @paullatzelsperger in [#633](https://github.com/eclipse-tractusx/tractusx-edc/pull/633) +- build: decrease dependabot frequency to 'weekly' by @paullatzelsperger in [#634](https://github.com/eclipse-tractusx/tractusx-edc/pull/634) +- feat(EDR): adds EDR state machine for handling EDR renewal by @wolf4ood in [#620](https://github.com/eclipse-tractusx/tractusx-edc/pull/620) +- feat: upgrade to EDC 0.2.0 by @paullatzelsperger in [#674](https://github.com/eclipse-tractusx/tractusx-edc/pull/674) +- feat: simplify data encryptor by @paullatzelsperger in [#678](https://github.com/eclipse-tractusx/tractusx-edc/pull/678) +- chore(helm): add securityContext to Helm tests by @fty4 in [#637](https://github.com/eclipse-tractusx/tractusx-edc/pull/637) +- feat(DataPlaneConsumerProxy): adds support for data plane provider url by @wolf4ood in [#643](https://github.com/eclipse-tractusx/tractusx-edc/pull/643) +- chore(helm): remove tractusx-connector-legacy chart by @fty4 in [#684](https://github.com/eclipse-tractusx/tractusx-edc/pull/684) +- feat: improve bpn validation by @paullatzelsperger in [#687](https://github.com/eclipse-tractusx/tractusx-edc/pull/687) +- feat: add API for the BPN validation extension by @paullatzelsperger in [#688](https://github.com/eclipse-tractusx/tractusx-edc/pull/688) +- chore: suppress noisy kics warning on miw tests docker-compose by @wolf4ood in [#689](https://github.com/eclipse-tractusx/tractusx-edc/pull/689) +- feat: use new BPN Policy in artefacts and E2E tests by @paullatzelsperger in [#690](https://github.com/eclipse-tractusx/tractusx-edc/pull/690) +- docs: provide a multi-tenancy sample by @ndr-brt in [#691](https://github.com/eclipse-tractusx/tractusx-edc/pull/691) +- feat: generate, merge and publish OpenAPI spec 2 by @bcronin90 in [#619](https://github.com/eclipse-tractusx/tractusx-edc/pull/619) +- feat: download opentelemetry jar outside of Dockerfile by @paullatzelsperger in [#697](https://github.com/eclipse-tractusx/tractusx-edc/pull/697) +- feat(edrs): add init edr request api validator by @wolf4ood in [#703](https://github.com/eclipse-tractusx/tractusx-edc/pull/703) +- feat(edrs): add EDR api schema and example by @wolf4ood in [#705](https://github.com/eclipse-tractusx/tractusx-edc/pull/705) +- Fix: Add missing OpenAPI parameter by @bcronin90 in [#712](https://github.com/eclipse-tractusx/tractusx-edc/pull/712) +- feat(helm): add customCaCerts value by @fty4 in [#707](https://github.com/eclipse-tractusx/tractusx-edc/pull/707) +- chore(helm): fix typo for controlplane.endpoints.management.authKey by @fty4 in [#706](https://github.com/eclipse-tractusx/tractusx-edc/pull/706) +- chore: update to EDC 0.2.1 by @paullatzelsperger in [#716](https://github.com/eclipse-tractusx/tractusx-edc/pull/716) +- chore: add LICENSE file to all charts by @paullatzelsperger in [#722](https://github.com/eclipse-tractusx/tractusx-edc/pull/722) +- fix: add binding to tx namespace for credential policy by @wolf4ood in [#713](https://github.com/eclipse-tractusx/tractusx-edc/pull/713) +- Release version 0.5.1 by @github-actions in [#725](https://github.com/eclipse-tractusx/tractusx-edc/pull/725) + +Full Changelog: [0.5.0_rn...0.5.1](https://github.com/eclipse-tractusx/tractusx-edc/compare/0.5.0_rn...0.5.1) + +## [0.5.0] - 2023-06-11 + +0.5.0 +What's Changed + +- Release version 0.5.0-rc5 by @github-actions in [#570](https://github.com/eclipse-tractusx/tractusx-edc/pull/570) +- chore: update DEPENDENCIES, add approvals by @paullatzelsperger in [#572](https://github.com/eclipse-tractusx/tractusx-edc/pull/572) +- feat(docs): adds more information on MIW credential module by @wolf4ood in [#576](https://github.com/eclipse-tractusx/tractusx-edc/pull/576) +- feat(MIWClient): adds response body in case errors in MIW response by @wolf4ood in [#574](https://github.com/eclipse-tractusx/tractusx-edc/pull/574) +- chore: reformat workflow yaml files by @paullatzelsperger in [#578](https://github.com/eclipse-tractusx/tractusx-edc/pull/578) +- docs: add decision record about removing the CHANGELOG.md by @paullatzelsperger in [#579](https://github.com/eclipse-tractusx/tractusx-edc/pull/579) +- feat(SSI): adds tolerance to eventual trailing slash in MIW or token URLs by @wolf4ood in [#581](https://github.com/eclipse-tractusx/tractusx-edc/pull/581) +- fix(test): converted some MockWebServer to long-running instances by @paullatzelsperger in [#588](https://github.com/eclipse-tractusx/tractusx-edc/pull/588) +- feat(docs): updates postman collection by @wolf4ood in [#587](https://github.com/eclipse-tractusx/tractusx-edc/pull/587) +- feat(docs): add changes in consumer pull flow in the migration guide by @wolf4ood in [#591](https://github.com/eclipse-tractusx/tractusx-edc/pull/591) +- feat: remove CHANGELOG.md, generate automatically by @paullatzelsperger in [#583](https://github.com/eclipse-tractusx/tractusx-edc/pull/583) +- chore(SSI): add security context in cache by @wolf4ood in [#595](https://github.com/eclipse-tractusx/tractusx-edc/pull/595) +- chore(docs): adds a note about the cid removal by @wolf4ood in [#596](https://github.com/eclipse-tractusx/tractusx-edc/pull/596) +- feat(test): add integration tests for MIW by @paullatzelsperger in [#585](https://github.com/eclipse-tractusx/tractusx-edc/pull/585) +- feat(Gateway): forward EDR + refactor by @wolf4ood in [#597](https://github.com/eclipse-tractusx/tractusx-edc/pull/597) +- chore(deps): bump net.minidev:json-smart from 2.4.11 to 2.5.0 by @dependabot in [#593](https://github.com/eclipse-tractusx/tractusx-edc/pull/593) +- docs: update migration guide for 0.5.0 by @paullatzelsperger in [#601](https://github.com/eclipse-tractusx/tractusx-edc/pull/601) +- docs: add link to MIW to readme by @tmberthold in [#592](https://github.com/eclipse-tractusx/tractusx-edc/pull/592) +- Release version 0.5.0 by @github-actions in [#602](https://github.com/eclipse-tractusx/tractusx-edc/pull/602) + +New Contributors +@tmberthold made their first contribution in [#592](https://github.com/eclipse-tractusx/tractusx-edc/pull/592) + +Full Changelog: [0.5.0-rc5_rn...0.5.0_rn](https://github.com/eclipse-tractusx/tractusx-edc/compare/0.5.0-rc5_rn...0.5.0_rn) + +## [0.5.0-rc5] - 2023-07-05 + +### 0.5.0-rc5 Changed + +- Upgraded to EDC 0.1.3 + +## [0.5.0-rc4] - 2023-07-04 + +### 0.5.0-rc4 Removed + +- Removed the interim solution `observability-api-customization` and use the upstream extension `Observability API` instead + +## [0.5.0-rc3] - 2023-06-30 + +### 0.5.0-rc3 Fixed + +- Replace '\_\_' with '--' in the Sql EDR Store (#538) +- Adapt Postman Collection for RC1/RC2 (#535) + +## [0.5.0-rc2] - 2023-06-23 + +### 0.5.0-rc2 Changed + +- Upgraded to EDC 0.1.2 + +## [0.5.0-rc1] - 2023-06-21 + +### 0.5.0-rc1 Fixed + +- Various fixes and improvements to our helm charts + +### 0.5.0-rc1 Added + +- Support for SSI (centralized MiW) (#459, #510) +- Support for the JsonWebSignature2020 Crypto Suite (#483) + +### 0.5.0-rc1 Changed + +- All Helm charts now use SSI instead of DAPS (#511) + +### 0.5.0-rc1 Removed + +- Support for DAPS as identity provider (#511) + +## [0.4.1] - 2023-05-31 + +### 0.4.1 Added + +- SQL implementation for the EDR Cache +- E2E test variant using PostgreSQL +- Documentation + +### 0.4.1 Changed + +- Moved to Java 17 +- Switched to Eclipse Dataspace Components `0.1.0` + +### 0.4.1 Removed + +- Lombok + +## [0.4.0] - 2023-05-18 + +### 0.4.0 Added + +- Support for the new Dataspace Protocol +- GitHub Workflow to check for missing license headers + +### 0.4.0 Changed + +- Switched to Eclipse Dataspace Components `0.0.1-milestone-9` + +### 0.4.0 Removed + +- Business tests. All tests are covered by other means. +- Control-Plane-Adapter. Replaced by a DSP-compatible implementation + +## [0.3.4] - 2023-05-17 + +### 0.3.4 Fixed + +- Added license headers to several files in the code base +- Refactoring of Helm charts - multiple charts instead of one dynamically assembled chart + +## [0.3.3] - 2023-04-19 + +### 0.3.3 Fixed + +- Config values for the data plane part of the helm chart +- Contract Validity + +### 0.3.3 Added + +- A log line whenever a policy evaluation of the BPN number was performed + +## [0.3.2] - 2023-03-30 + +### 0.3.2 Fixed + +- Fixed mutually-exclusive config values for Azure KeyVault + +## [0.3.1] - 2023-03-27 + +### 0.3.1 Added + +### 0.3.1 Changed + +- Support unauthenticated access to the ObservabilityAPI (#126) + +### 0.3.1 Fixed + +## [0.3.0] - 2023-02-20 + +**Important Note**: This version introduces multiple breaking changes. Before updating **always** consolidate the +corresponding [documentation](/docs/migration/Version_0.1.x_0.3.x.md). + +### 0.3.0 Added + +- Add contract id to data source http call (#732) +- Support also support releases in ci pipeline +- Introduce typed object for oauth2 provisioning +- Add documentation +- Add test case +- Add client to omejdn +- add hydra deployment +- Configure dynamically HTTP Receiver callback endpoints. (#685) +- cp-adapter : code review, rollbacke name change (#664) +- Feature/cp adapter task 355 356 357 (#621) +- Add Validity Mapping in ContractDefinitionStepDefs class +- Add feature and create SendAnOfferwithoutConstraints method in class negotiationSteps +- Add validity attribute in class ContractDefinition +- Add Validity Mapping in ContractDefinitionStepDefs class +- Add feature and create SendAnOfferwithoutConstraints method in class negotiationSteps +- Add validity attribute in class ContractDefinition +- Local TXDC Setup Documentation (#618) +- Feature: Sftp Provisioner and Client (#554) + +### 0.3.0 Changed + +- Support horizontal edc scaling in cp adapter extension (#678) +- Use upstream jackson version (#741) +- Replace provision-oauth2 with data-plane-http-oauth2 +- docs: Update sample documentation (#671) +- chore: Disable build ci pipeline if just docu was updated (#705) +- Increase trivy timeout +- Remove not useful anymore custom-jsonld extension (#683) +- update setup docu (#654) +- remove trailing slash (#652) +- update alpine from 3.17.0 to 3.17.1 for controlplane-memory-hashicorp-vault (#665) +- Feature/set charts deprecated (#628) +- update setup docu (#627) +- Feature/update txdc deployment downward capabilities (#625) +- remove git submodule (#619) +- Feature/update postman (#624) +- update control plane docu (#623) +- update postgresql version in Chart.yaml supporting-infrastructure (#622) +- update link to edc logo in README.md (#612) +- update description of supporting infrastructure deployment (#616) + +### 0.3.0 Fixed + +- bugfix: Fix slow AES encryption (#746) +- Fix typo in tractusx-connector values.yaml comment +- Fix not working docu link in README.md +- Fix typo in control-plane adapter README + +### 0.3.0 Dependency updates + +- Bump EDC to 20220220 (#767) +- Bump alpine (#749) +- Bump alpine (#750) +- Bump alpine (#752) +- Bump alpine in /edc-controlplane/edc-runtime-memory/src/main/docker (#753) +- Bump maven-deploy-plugin from 3.0.0 to 3.1.0 (#735) +- Bump actions/setup-java from 3.9.0 to 3.10.0 (#730) +- Bump s3 from 2.19.33 to 2.20.0 +- Bump s3 from 2.19.27 to 2.19.33 +- Bump jaxb-runtime from 4.0.1 to 4.0.2 +- Bump spotless-maven-plugin from 2.31.0 to 2.32.0 +- Bump postgresql from 42.5.1 to 42.5.3 +- Bump nimbus-jose-jwt from 9.30 to 9.30.1 +- Bump lombok from 1.18.24 to 1.18.26 +- Bump flyway-core from 9.12.0 to 9.14.1 +- Bump jackson-bom from 2.14.0-rc2 to 2.14.2 +- Bump cucumber.version from 7.11.0 to 7.11.1 +- Bump azure-sdk-bom from 1.2.8 to 1.2.9 +- Bump mockito-bom from 5.0.0 to 5.1.1 +- Bump edc version to 0.0.1-20230131-SNAPSHOT +- Bump s3 from 2.19.18 to 2.19.27 +- Bump docker/build-push-action from 3 to 4 +- Bump nimbus-jose-jwt from 9.29 to 9.30 +- Bump spotless-maven-plugin from 2.30.0 to 2.31.0 +- Bump nimbus-jose-jwt from 9.28 to 9.29 +- Bump mockito-bom from 4.11.0 to 5.0.0 +- Bump edc version to 0.0.1-20230125-SNAPSHOT +- Bump flyway-core from 9.11.0 to 9.12.0 +- Bump s3 from 2.19.15 to 2.19.18 (#684) +- Bump mikefarah/yq from 4.30.6 to 4.30.8 (#682) +- Bump spotless-maven-plugin from 2.29.0 to 2.30.0 +- Bump edc version to 0.0.1-20230115-SNAPSHOT +- Bump cucumber.version from 7.10.1 to 7.11.0 (#672) +- Bump maven-dependency-plugin from 3.4.0 to 3.5.0 (#669) +- Bump s3 from 2.19.11 to 2.19.15 (#668) +- Bump maven-surefire-plugin from 3.0.0-M7 to 3.0.0-M8 (#670) +- Bump edc version to 0.0.1-20230109-SNAPSHOT (#666) +- Bump alpine in /edc-controlplane/edc-runtime-memory/src/main/docker (#659) +- Bump alpine in /edc-dataplane/edc-dataplane-azure-vault/src/main/docker (#660) +- Bump alpine (#658) +- Bump alpine (#661) +- Bump alpine (#662) +- Bump azure/setup-kubectl from 3.1 to 3.2 (#655) +- Bump junit-bom from 5.9.1 to 5.9.2 (#657) +- Bump s3 from 2.19.2 to 2.19.11 (#648) +- Bump actions/checkout from 3.2.0 to 3.3.0 (#647) +- Bump flyway-core from 9.10.2 to 9.11.0 (#646) +- Bump spotless-maven-plugin from 2.28.0 to 2.29.0 (#641) +- Bump mockito-bom from 4.10.0 to 4.11.0 (#637) +- Bump flyway-core from 9.10.1 to 9.10.2 (#632) +- Bump s3 from 2.19.1 to 2.19.2 (#631) +- Bump s3 from 2.18.41 to 2.19.1 (#626) +- Bump mikefarah/yq from 4.30.5 to 4.30.6 (#613) +- Bump cucumber.version from 7.10.0 to 7.10.1 (#614) +- Bump s3 from 2.18.40 to 2.18.41 (#615) +- Bump azure/setup-helm from 3.4 to 3.5 (#596) +- Bump actions/checkout from 3.1.0 to 3.2.0 (#598) +- Bump mockito-bom from 4.9.0 to 4.10.0 (#607) +- Bump s3 from 2.18.39 to 2.18.40 (#609) +- Bump flyway-core from 9.10.0 to 9.10.1 (#610) +- Bump actions/setup-java from 3.8.0 to 3.9.0 (#605) +- Bump s3 from 2.18.35 to 2.18.39 (#606) + +## [0.1.6] - 2023-02-20 + +### 0.1.6 Fixed + +- SQL leakage issue +- Catalog pagination + +## [0.1.5] - 2023-02-13 + +### 0.1.5 Fixed + +- Use patched EDC version: 0.0.1-20220922.2-SNAPSHOT to fix catalog pagination bug +- Data Encryption extension: fixed usage of a blocking algorithm + +## [0.1.2] - 2022-09-30 + +### 0.1.2 Added + +- Introduced DEPENDENCIES file + +### 0.1.2 Changed + +- Moved helm charts from `deployment/helm` to `charts` +- Replaced distroless image with alpine in all docker images +- Update EDC commit to `740c100ac162bc41b1968c232ad81f7d739aefa9` + +## [0.1.1] - 2022-09-04 + +**Important Note**: Please consolidate the migration documentation before updating your +connector. [documentation](/docs/migration/Version_0.1.0_0.1.1.md). + +### 0.1.1 Added + +- Control-Plane Extension ([cx-oauth2](/edc-extensions/cx-oauth2/README.md)) + +### 0.1.1 Changed + +- Introduced git submodule to import EDC dependencies (instead of snapshot- or milestone artifact) +- Helm Charts: TLS secret name is now configurable + +### 0.1.1 Fixed + +- Connectors with Azure Vault extension are now starting + again [link](https://github.com/eclipse-edc/Connector/issues/1892) + +## [0.1.0] - 2022-08-19 + +**Important Note**: Version 0.1.0 introduces multiple breaking changes. Before updating **always** consolidate the +corresponding [documentation](/docs/migration/Version_0.0.x_0.1.x.md). + +### 0.1.0 Added + +- Control-Plane extension ([data-plane-selector-client](https://github.com/eclipse-edc/Connector/tree/v0.0.1-milestone-5/extensions/data-plane-selector/selector-client)) +- run the EDC with multiple data planes at once +- Control-Plane extension ([dataplane-selector-configuration](edc-extensions/dataplane-selector-configuration)) +- add data plane instances to the control plane by configuration +- Data-Plane extension ([s3-data-plane](https://github.com/eclipse-edc/Connector/tree/main/extensions/aws/data-plane-s3)) +- transfer from and to AWS S3 buckets +- Control-Plane extension ([data-encryption](edc-extensions/data-encryption)) +- Data-Plane authentication attribute transmitted during data-plane-transfer can be encrypted symmetrically (AES) + +### 0.1.0 Changed + +- Update setting name (`edc.dataplane.token.validation.endpoint` -> `edc.dataplane.token.validation.endpoint`) +- EDC has been updated to + version [0.0.1-20220818-SNAPSHOT](https://oss.sonatype.org/#nexus-search;gav~org.eclipse.dataspaceconnector~~0.0.1-20220818-SNAPSHOT~~) - + implications to the behavior of the connector have been covered in + the [corresponding migration guide](docs/migration/Version_0.0.x_0.1.x.md) + +### 0.1.0 Fixed + +- Contract-Offer-Receiving-Connectors must also pass the ContractPolicy of the ContractDefinition before receiving + offers([issue](https://github.com/eclipse-edc/Connector/issues/1331)) +- Deletion of Asset becomes impossible when Contract Negotiation + exists([issue](https://github.com/eclipse-edc/Connector/issues/1403)) +- Deletion of Policy becomes impossible when Contract Definition + exists([issue](https://github.com/eclipse-edc/Connector/issues/1410)) + +## [0.0.6] - 2022-07-29 + +### 0.0.6 Fixed + +- Fixes [release 0.0.5](https://github.com/eclipse-tractusx/tractusx-edc/releases/tag/0.0.5), which introduced classpath + issues due to usage of [net.jodah:failsafe:2.4.3](https://search.maven.org/artifact/net.jodah/failsafe/2.4.3/jar) + library + +## [0.0.5] - 2022-07-28 + +### 0.0.5 Added + +- EDC Health Checks for HashiCorp Vault + +### 0.0.5 Changed + +- BusinessPartnerNumber constraint supports List structure +- Helm: Confidential EDC settings can be set using k8s secrets +- HashiCorp Vault API path configurable + +## [0.0.4] - 2022-06-27 + +### 0.0.4 Added + +- HashiCorp Vault Extension +- Control Plane with HashiCorp Vault and PostgreSQL support + +### 0.0.4 Changed + +- Release Workflow now publishes EDC Extensions as Maven Artifacts + +### 0.0.4 Fixed + +- [#1515](https://github.com/eclipse-edc/Connector/issues/1515) SQL: Connector sends out 50 + contract offers max. + +### 0.0.4 Removed + +- CosmosDB Control Plane +- Control API Extension for all Control Planes + +## [0.0.3] - 2022-05-23 + +## [0.0.2] - 2022-05-20 + +## [0.0.1] - 2022-05-13 + +[0.5.1]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.5.0_rn...0.5.1 + +[0.5.0]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.5.0-rc5_rn...0.5.0_rn + +[0.5.0-rc5]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.5.0-rc4...0.5.0-rc5 + +[0.5.0-rc4]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.5.0-rc3...0.5.0-rc4 + +[0.5.0-rc3]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.5.0-rc2...0.5.0-rc3 + +[0.5.0-rc2]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.5.0-rc1...0.5.0-rc2 + +[0.5.0-rc1]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.4.1...0.5.0-rc1 + +[0.4.1]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.3.3...0.4.1 + +[0.3.3]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.3.2...0.3.3 + +[0.3.2]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.3.1...0.3.2 + +[0.3.1]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.3.0...0.3.1 + +[0.3.0]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.2.0...0.3.0 + +[0.1.6]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.1.5...0.1.6 + +[0.1.5]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.1.2...0.1.5 + +[0.1.2]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.1.1...0.1.2 + +[0.1.1]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.1.0...0.1.1 + +[0.1.0]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.0.6...0.1.0 + +[0.0.6]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.0.5...0.0.6 + +[0.0.5]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.0.4...0.0.5 + +[0.0.4]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.0.3...0.0.4 + +[0.0.3]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.0.2...0.0.3 + +[0.0.2]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.0.1...0.0.2 + +[0.0.1]: https://github.com/eclipse-tractusx/tractusx-edc/compare/a02601306fed39a88a3b3b18fae98b80791157b9...0.0.1 From a13037f947a7a79293dfbb6887b162988c08f52e Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Wed, 30 Aug 2023 14:53:26 +0200 Subject: [PATCH 14/60] chore: upgrade docker base images to eclipse-temurin:17.0.8_7-jre-alpine (#743) --- .../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 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md b/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md index b709f09c2..9ee8c52fe 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.6_10-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin - Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin - 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 7a459290e..0e9df5763 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.6_10-jre-alpine +FROM eclipse-temurin:17.0.8_7-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 bd2b9b276..8f334da53 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.6_10-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin - Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin - 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 013e84820..ceaeb3f21 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.6_10-jre-alpine +FROM eclipse-temurin:17.0.8_7-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 381253ec9..fe7cd62ea 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.6_10-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin - Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin - 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 7a459290e..0e9df5763 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.6_10-jre-alpine +FROM eclipse-temurin:17.0.8_7-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 621cb44b5..53b503cac 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.6_10-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin - Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin - 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 de17857c4..b6d489daf 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.6_10-jre-alpine +FROM eclipse-temurin:17.0.8_7-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 e3a83858c..756c2b9e6 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.6_10-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin - Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin - 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 520ddfefa..9279f29c2 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.6_10-jre-alpine +FROM eclipse-temurin:17.0.8_7-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 8e1108d7c..cfdddd2d5 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.6_10-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:17.0.8_7-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin - Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin - 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 4fdf953c7..659f63799 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.6_10-jre-alpine +FROM eclipse-temurin:17.0.8_7-jre-alpine ARG JAR ARG OTEL_JAR From 9b40e955db5dcae4908bc2e818d53d4fb4af6feb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 08:53:03 +0200 Subject: [PATCH 15/60] chore(deps): bump org.slf4j:slf4j-api from 2.0.7 to 2.0.9 (#745) * chore(deps): bump org.slf4j:slf4j-api from 2.0.7 to 2.0.9 Bumps org.slf4j:slf4j-api from 2.0.7 to 2.0.9. --- updated-dependencies: - dependency-name: org.slf4j:slf4j-api 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 | 1 + build.gradle.kts | 2 +- gradle/libs.versions.toml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 73abb995d..672446dc9 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -411,6 +411,7 @@ 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.7, MIT, approved, #5915 +maven/mavencentral/org.slf4j/slf4j-api/2.0.9, MIT, approved, #5915 maven/mavencentral/org.testcontainers/database-commons/1.18.3, MIT, approved, clearlydefined maven/mavencentral/org.testcontainers/database-commons/1.19.0, , restricted, clearlydefined maven/mavencentral/org.testcontainers/jdbc/1.18.3, MIT, approved, clearlydefined diff --git a/build.gradle.kts b/build.gradle.kts index 1aaa3bed5..e7ae3c19c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -62,7 +62,7 @@ allprojects { mavenCentral() } dependencies { - implementation("org.slf4j:slf4j-api:2.0.7") + 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")) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 997313475..0d386f98e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,7 +7,7 @@ postgres = "42.6.0" awaitility = "4.2.0" nimbus = "9.31" azure-identity = "1.10.0" -slf4j = "2.0.7" +slf4j = "2.0.9" okhttp = "4.11.0" mockwebserver = "5.0.0-alpha.11" bouncyCastle-jdk18on = "1.76" From dbcbcad79134610af2c9e2b503b7d7225921bc9d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 09:15:49 +0200 Subject: [PATCH 16/60] chore(deps): bump org.flywaydb:flyway-core from 9.21.2 to 9.22.0 (#746) * chore(deps): bump org.flywaydb:flyway-core from 9.21.2 to 9.22.0 Bumps [org.flywaydb:flyway-core](https://github.com/flyway/flyway) from 9.21.2 to 9.22.0. - [Release notes](https://github.com/flyway/flyway/releases) - [Commits](https://github.com/flyway/flyway/compare/flyway-9.21.2...flyway-9.22.0) --- updated-dependencies: - dependency-name: org.flywaydb:flyway-core 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 +- edc-extensions/postgresql-migration/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 672446dc9..ee3920cf0 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -335,7 +335,7 @@ maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.15, EPL-2.0 OR Apache-2. maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.flywaydb/flyway-core/9.21.2, Apache-2.0, approved, #9846 +maven/mavencentral/org.flywaydb/flyway-core/9.22.0, , restricted, clearlydefined 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 c8ba9c71c..479e9edab 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.21.2") + implementation("org.flywaydb:flyway-core:9.22.0") } From 0439b8b8f4aaee4541a098f9f0df31b2efcb67ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 09:34:29 +0200 Subject: [PATCH 17/60] chore(deps): bump software.amazon.awssdk:s3 from 2.20.135 to 2.20.140 (#747) * chore(deps): bump software.amazon.awssdk:s3 from 2.20.135 to 2.20.140 Bumps software.amazon.awssdk:s3 from 2.20.135 to 2.20.140. --- updated-dependencies: - dependency-name: software.amazon.awssdk:s3 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 | 40 +++++++++++++++++++-------------------- gradle/libs.versions.toml | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index ee3920cf0..231128f13 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -426,45 +426,45 @@ maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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.123, Apache-2.0, approved, #8598 -maven/mavencentral/software.amazon.awssdk/annotations/2.20.135, Apache-2.0, approved, #8598 +maven/mavencentral/software.amazon.awssdk/annotations/2.20.140, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/apache-client/2.20.123, Apache-2.0, approved, #8609 -maven/mavencentral/software.amazon.awssdk/apache-client/2.20.135, Apache-2.0, approved, #8609 +maven/mavencentral/software.amazon.awssdk/apache-client/2.20.140, Apache-2.0, approved, #8609 maven/mavencentral/software.amazon.awssdk/arns/2.20.123, Apache-2.0, approved, #8616 -maven/mavencentral/software.amazon.awssdk/arns/2.20.135, Apache-2.0, approved, #8616 +maven/mavencentral/software.amazon.awssdk/arns/2.20.140, Apache-2.0, approved, #8616 maven/mavencentral/software.amazon.awssdk/auth/2.20.123, Apache-2.0, approved, #8602 -maven/mavencentral/software.amazon.awssdk/auth/2.20.135, Apache-2.0, approved, #8602 +maven/mavencentral/software.amazon.awssdk/auth/2.20.140, Apache-2.0, approved, #8602 maven/mavencentral/software.amazon.awssdk/aws-core/2.20.123, Apache-2.0, approved, #8612 -maven/mavencentral/software.amazon.awssdk/aws-core/2.20.135, Apache-2.0, approved, #8612 +maven/mavencentral/software.amazon.awssdk/aws-core/2.20.140, Apache-2.0, approved, #8612 maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.123, Apache-2.0, approved, #8629 -maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.135, Apache-2.0, approved, #8629 +maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.140, Apache-2.0, approved, #8629 maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.123, Apache-2.0, approved, #8624 -maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.135, Apache-2.0, approved, #8624 +maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.140, Apache-2.0, approved, #8624 maven/mavencentral/software.amazon.awssdk/crt-core/2.20.123, Apache-2.0, approved, #8627 -maven/mavencentral/software.amazon.awssdk/crt-core/2.20.135, Apache-2.0, approved, #8627 +maven/mavencentral/software.amazon.awssdk/crt-core/2.20.140, Apache-2.0, approved, #8627 maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.123, Apache-2.0, approved, #8604 -maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.135, Apache-2.0, approved, #8604 +maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.140, Apache-2.0, approved, #8604 maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.123, Apache-2.0, approved, #8608 -maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.135, Apache-2.0, approved, #8608 +maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.140, Apache-2.0, approved, #8608 maven/mavencentral/software.amazon.awssdk/iam/2.20.123, Apache-2.0, approved, #9271 maven/mavencentral/software.amazon.awssdk/json-utils/2.20.123, Apache-2.0, approved, #8614 -maven/mavencentral/software.amazon.awssdk/json-utils/2.20.135, Apache-2.0, approved, #8614 +maven/mavencentral/software.amazon.awssdk/json-utils/2.20.140, Apache-2.0, approved, #8614 maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.123, Apache-2.0, approved, #8636 -maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.135, Apache-2.0, approved, #8636 +maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.140, Apache-2.0, approved, #8636 maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.123, Apache-2.0, approved, #8613 -maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.135, Apache-2.0, approved, #8613 +maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.140, Apache-2.0, approved, #8613 maven/mavencentral/software.amazon.awssdk/profiles/2.20.123, Apache-2.0, approved, #8600 -maven/mavencentral/software.amazon.awssdk/profiles/2.20.135, Apache-2.0, approved, #8600 +maven/mavencentral/software.amazon.awssdk/profiles/2.20.140, Apache-2.0, approved, #8600 maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.123, Apache-2.0, approved, #8635 -maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.135, Apache-2.0, approved, #8635 +maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.140, Apache-2.0, approved, #8635 maven/mavencentral/software.amazon.awssdk/regions/2.20.123, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/regions/2.20.135, Apache-2.0, approved, #8632 +maven/mavencentral/software.amazon.awssdk/regions/2.20.140, Apache-2.0, approved, #8632 maven/mavencentral/software.amazon.awssdk/s3/2.20.123, Apache-2.0, approved, #8623 -maven/mavencentral/software.amazon.awssdk/s3/2.20.135, Apache-2.0, approved, #8623 +maven/mavencentral/software.amazon.awssdk/s3/2.20.140, Apache-2.0, approved, #8623 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.123, Apache-2.0, approved, #8611 -maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.135, Apache-2.0, approved, #8611 +maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.140, Apache-2.0, approved, #8611 maven/mavencentral/software.amazon.awssdk/sts/2.20.123, Apache-2.0, approved, #9269 maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.123, Apache-2.0, approved, #8622 -maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.135, Apache-2.0, approved, #8622 +maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.140, Apache-2.0, approved, #8622 maven/mavencentral/software.amazon.awssdk/utils/2.20.123, Apache-2.0, approved, #8625 -maven/mavencentral/software.amazon.awssdk/utils/2.20.135, Apache-2.0, approved, #8625 +maven/mavencentral/software.amazon.awssdk/utils/2.20.140, 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 0d386f98e..0c2b3bfeb 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,7 +15,7 @@ mockito = "5.2.0" restAssured = "5.3.1" apache-sshd = "2.10.0" testcontainers = "1.19.0" -aws = "2.20.135" +aws = "2.20.140" rsApi = "3.1.0" jupiter = "5.10.0" assertj = "3.24.2" From 41caf93a727ca84596d01e6cb32d382367c26012 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Mon, 4 Sep 2023 13:57:16 +0200 Subject: [PATCH 18/60] chore: remove spotless deps and run in actions (#749) --- .github/workflows/veracode.yaml | 5 +++-- .github/workflows/verify.yaml | 3 --- build.gradle.kts | 19 ++++++++++++------- .../page03_project_structure.md | 4 ++-- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/.github/workflows/veracode.yaml b/.github/workflows/veracode.yaml index 78c4ae441..c15df9cd2 100644 --- a/.github/workflows/veracode.yaml +++ b/.github/workflows/veracode.yaml @@ -46,8 +46,9 @@ jobs: with: fetch-depth: 0 - uses: ./.github/actions/setup-java - - name: Verify proper formatting - run: ./gradlew spotlessCheck + - name: Run Checkstyle + run: | + ./gradlew checkstyleMain checkstyleTest build: runs-on: ubuntu-latest diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index b6e6858da..bb24c5a05 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -72,9 +72,6 @@ jobs: - uses: actions/checkout@v3.5.2 - uses: ./.github/actions/setup-java - - name: Verify proper formatting - run: ./gradlew spotlessCheck - - name: Run Checkstyle run: | ./gradlew checkstyleMain checkstyleTest diff --git a/build.gradle.kts b/build.gradle.kts index e7ae3c19c..685a031d6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,6 @@ plugins { `java-library` `maven-publish` `jacoco-report-aggregation` - id("com.diffplug.spotless") version "6.20.0" id("com.github.johnrengelman.shadow") version "8.1.1" id("com.bmuschko.docker-remote-api") version "9.3.2" id("io.github.gradle-nexus.publish-plugin") version "1.3.0" @@ -105,8 +104,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") @@ -150,12 +149,13 @@ 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.27.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 { @@ -167,7 +167,12 @@ subprojects { } // download the jar file doLast { - val download = { url: String, destFile: File -> ant.invokeMethod("get", mapOf("src" to url, "dest" to destFile)) } + val download = { url: String, destFile: File -> + ant.invokeMethod( + "get", + mapOf("src" to url, "dest" to destFile) + ) + } logger.lifecycle("Downloading OpenTelemetry Agent") download(openTelemetryAgentUrl, agentFile) } @@ -190,7 +195,7 @@ subprojects { } // make sure always runs after "dockerize" and after "copyOtel" dockerTask.dependsOn(tasks.named(ShadowJavaPlugin.SHADOW_JAR_TASK_NAME)) - .dependsOn(downloadOtel) + .dependsOn(downloadOtel) } } } diff --git a/docs/kit/development-view/page03_project_structure.md b/docs/kit/development-view/page03_project_structure.md index 9f20c5a3d..40bae5546 100644 --- a/docs/kit/development-view/page03_project_structure.md +++ b/docs/kit/development-view/page03_project_structure.md @@ -16,6 +16,6 @@ Other branches should follow the naming conventions of `feature/x` or `hotfix/x` ## Tooling -We use Java 11 with Gradle for dependencies and builds. -We use [Spotless](https://github.com/diffplug/spotless) for code formatting. +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. From 82d4fb626c3951298670b12c93bf7a28d329b462 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Mon, 4 Sep 2023 15:29:29 +0200 Subject: [PATCH 19/60] chore: fix create docker images jobs (#750) --- build.gradle.kts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 685a031d6..afcc3cde1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -154,8 +154,7 @@ subprojects { 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.27.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 { From cc20afb30157ab5af81e811ad648ab92c921648c Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Tue, 5 Sep 2023 13:25:01 +0200 Subject: [PATCH 20/60] chore: updates MIW link (#751) --- charts/tractusx-connector-azure-vault/README.md | 2 +- charts/tractusx-connector-azure-vault/README.md.gotmpl | 2 +- charts/tractusx-connector-memory/README.md | 2 +- charts/tractusx-connector-memory/README.md.gotmpl | 2 +- charts/tractusx-connector/README.md | 2 +- charts/tractusx-connector/README.md.gotmpl | 2 +- docs/migration/Version_0.4.x_0.5.x.md | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/charts/tractusx-connector-azure-vault/README.md b/charts/tractusx-connector-azure-vault/README.md index a99386c45..4a6bd2b6f 100644 --- a/charts/tractusx-connector-azure-vault/README.md +++ b/charts/tractusx-connector-azure-vault/README.md @@ -13,7 +13,7 @@ This chart is intended for use with an _existing_ PostgreSQL database and an _ex ### Preconditions -- the [Managed Identity Walled (MIW)](https://github.com/catenax-ng/tx-managed-identity-wallets) must be running and reachable via network +- the [Managed Identity Walled (MIW)](https://github.com/eclipse-tractusx/managed-identity-wallet) must be running and reachable via network - the necessary set of VerifiableCredentials for this participant must be pushed to MIW. This is typically done by the Portal during participant onboarding - KeyCloak must be running and reachable via network diff --git a/charts/tractusx-connector-azure-vault/README.md.gotmpl b/charts/tractusx-connector-azure-vault/README.md.gotmpl index 03cb5d365..4823545b3 100644 --- a/charts/tractusx-connector-azure-vault/README.md.gotmpl +++ b/charts/tractusx-connector-azure-vault/README.md.gotmpl @@ -12,7 +12,7 @@ ### Preconditions -- the [Managed Identity Walled (MIW)](https://github.com/catenax-ng/tx-managed-identity-wallets) must be running and reachable via network +- the [Managed Identity Walled (MIW)](https://github.com/eclipse-tractusx/managed-identity-wallet) must be running and reachable via network - the necessary set of VerifiableCredentials for this participant must be pushed to MIW. This is typically done by the Portal during participant onboarding - KeyCloak must be running and reachable via network diff --git a/charts/tractusx-connector-memory/README.md b/charts/tractusx-connector-memory/README.md index b36dec5d8..f94fe2f3f 100644 --- a/charts/tractusx-connector-memory/README.md +++ b/charts/tractusx-connector-memory/README.md @@ -10,7 +10,7 @@ A Helm chart for Tractus-X Eclipse Data Space Connector based on memory. Please ### Preconditions -- the [Managed Identity Walled (MIW)](https://github.com/catenax-ng/tx-managed-identity-wallets) must be running and reachable via network +- the [Managed Identity Walled (MIW)](https://github.com/eclipse-tractusx/managed-identity-wallet) must be running and reachable via network - the necessary set of VerifiableCredentials for this participant must be pushed to MIW. This is typically done by the Portal during participant onboarding - KeyCloak must be running and reachable via network diff --git a/charts/tractusx-connector-memory/README.md.gotmpl b/charts/tractusx-connector-memory/README.md.gotmpl index a5e344d41..a5d149876 100644 --- a/charts/tractusx-connector-memory/README.md.gotmpl +++ b/charts/tractusx-connector-memory/README.md.gotmpl @@ -12,7 +12,7 @@ ### Preconditions -- the [Managed Identity Walled (MIW)](https://github.com/catenax-ng/tx-managed-identity-wallets) must be running and reachable via network +- the [Managed Identity Walled (MIW)](https://github.com/eclipse-tractusx/managed-identity-wallet) must be running and reachable via network - the necessary set of VerifiableCredentials for this participant must be pushed to MIW. This is typically done by the Portal during participant onboarding - KeyCloak must be running and reachable via network diff --git a/charts/tractusx-connector/README.md b/charts/tractusx-connector/README.md index 3dfe9ea8b..a37af885e 100644 --- a/charts/tractusx-connector/README.md +++ b/charts/tractusx-connector/README.md @@ -13,7 +13,7 @@ This chart is intended for use with an _existing_ PostgreSQL database and an _ex ### Preconditions -- the [Managed Identity Walled (MIW)](https://github.com/catenax-ng/tx-managed-identity-wallets) must be running and reachable via network +- the [Managed Identity Walled (MIW)](https://github.com/eclipse-tractusx/managed-identity-wallet) must be running and reachable via network - the necessary set of VerifiableCredentials for this participant must be pushed to MIW. This is typically done by the Portal during participant onboarding - KeyCloak must be running and reachable via network diff --git a/charts/tractusx-connector/README.md.gotmpl b/charts/tractusx-connector/README.md.gotmpl index f45ee78b2..4b10c8adc 100644 --- a/charts/tractusx-connector/README.md.gotmpl +++ b/charts/tractusx-connector/README.md.gotmpl @@ -12,7 +12,7 @@ ### Preconditions -- the [Managed Identity Walled (MIW)](https://github.com/catenax-ng/tx-managed-identity-wallets) must be running and reachable via network +- the [Managed Identity Walled (MIW)](https://github.com/eclipse-tractusx/managed-identity-wallet) must be running and reachable via network - the necessary set of VerifiableCredentials for this participant must be pushed to MIW. This is typically done by the Portal during participant onboarding - KeyCloak must be running and reachable via network 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 c652f5ebc..8609ab841 100644 --- a/docs/migration/Version_0.4.x_0.5.x.md +++ b/docs/migration/Version_0.4.x_0.5.x.md @@ -65,7 +65,7 @@ If you are using the MIW and KeyCloak instances deployed to `INT`, the following > Please be aware that the above values are *only* valid for the Catena-X INT environment and *will* change on other > environments! For instructions on how to set up a local MIW + KeyCloak, please take a look -> at [this documentation](https://github.com/catenax-ng/tx-managed-identity-wallets/blob/features/java-did-web/README.md). +> at [this documentation](https://github.com/eclipse-tractusx/managed-identity-wallet/blob/features/java-did-web/README.md). ### Further documentation on SSI From c45c6aa40ed042ac4ef69fc33d31d5b34bf6627b Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Wed, 6 Sep 2023 08:44:09 +0200 Subject: [PATCH 21/60] refactor: centralize edc version (#752) --- build.gradle.kts | 10 ++++------ gradle.properties | 3 --- gradle/libs.versions.toml | 1 + 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index afcc3cde1..e339a6b7f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -33,16 +33,14 @@ plugins { val txScmConnection: String by project val txWebsiteUrl: String by project val txScmUrl: String by project -val annotationProcessorVersion: String by project -val metaModelVersion: String by project +val edcVersion = libs.versions.edc buildscript { repositories { mavenLocal() } dependencies { - val edcGradlePluginsVersion: String by project - classpath("org.eclipse.edc.edc-build:org.eclipse.edc.edc-build.gradle.plugin:${edcGradlePluginsVersion}") + classpath(libs.edc.build.plugin) } } @@ -78,7 +76,7 @@ allprojects { // configure which version of the annotation processor to use. defaults to the same version as the plugin configure { - processorVersion.set(annotationProcessorVersion) + processorVersion.set(edcVersion) outputDirectory.set(project.buildDir) // uncomment the following lines to enable the Autodoc-2-Markdown converter // only available with EDC 0.2.1 SNAPSHOT @@ -89,7 +87,7 @@ allprojects { configure { versions { // override default dependency versions here - metaModel.set(metaModelVersion) + metaModel.set(edcVersion) } pom { diff --git a/gradle.properties b/gradle.properties index c3f3600d5..1ea79c439 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,9 +1,6 @@ group=org.eclipse.tractusx.edc version=0.5.2-SNAPSHOT # configure the build: -annotationProcessorVersion=0.2.1 -edcGradlePluginsVersion=0.2.1 -metaModelVersion=0.2.1 txScmConnection=scm:git:git@github.com:eclipse-tractusx/tractusx-edc.git txWebsiteUrl=https://github.com/eclipse-tractusx/tractusx-edc.git txScmUrl=https://github.com/eclipse-tractusx/tractusx-edc.git diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0c2b3bfeb..f0c0a0068 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -45,6 +45,7 @@ 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" } edc-boot = { module = "org.eclipse.edc:boot", version.ref = "edc" } +edc-build-plugin = { module = "org.eclipse.edc.edc-build:org.eclipse.edc.edc-build.gradle.plugin", version.ref = "edc" } edc-config-filesystem = { module = "org.eclipse.edc:configuration-filesystem", version.ref = "edc" } edc-jsonld = { module = "org.eclipse.edc:json-ld", version.ref = "edc" } edc-vault-filesystem = { module = "org.eclipse.edc:vault-filesystem", version.ref = "edc" } From 2104e4b85f82f0a9d1be40ca36e700c3d442a53c Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Wed, 6 Sep 2023 17:31:38 +0200 Subject: [PATCH 22/60] docs: enriched the EDR API overview with transfer documentation (#754) * docs: enriched the EDR API overview with transfer documentation * fix after review --- .../edr-api-overview/edr-api-overview.md | 150 ++++++++++++++++-- .../README.md | 2 +- 2 files changed, 139 insertions(+), 13 deletions(-) diff --git a/docs/samples/edr-api-overview/edr-api-overview.md b/docs/samples/edr-api-overview/edr-api-overview.md index 578cc6ecd..b69e604c4 100644 --- a/docs/samples/edr-api-overview/edr-api-overview.md +++ b/docs/samples/edr-api-overview/edr-api-overview.md @@ -23,9 +23,9 @@ This endpoint will perform the contract negotiation, transfer process and EDR st > Please note that the `data destination` will always be `HttpProxy`, requiring a request against the provider's `data-plane` to fetch the asset data. -| Path | Method | Query Params | -|---------------------------------|--------|--------------------------| -| `/edrs` | POST | none | +| Path | Method | Spec | +|-------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------| +| `/edrs` | POST | [OpenApi](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/tractusx-edc/0.5.1#/Control%20Plane%20EDR%20Api/initiateEdrNegotiation) | #### Payload @@ -75,13 +75,52 @@ This endpoint will perform the contract negotiation, transfer process and EDR st } ``` +The EDR negotiation returns only the id of the negotiation process that has been started. + +The EDR negotiation relies on two steps: contract negotiation and transfer process, both of which are asynchronous. +In order to get notified in every state transition of the two state machines, callbacks can be configured when starting +the EDR negotiation: + +```json +{ + ... + "callbackAddresses": [ + { + "uri": "http://localhost:8080/hooks", + "events": [ + "transfer.process.started" + ], + "transactional": false + } + ] +} +``` + +In this case we are interested only when the transfer process transition to the `STARTED` state. + +Available events type in callbacks are: + +- Transfer Process [`transfer.process.started`,`transfer.process.initiated`,`transfer.process.terminated`,`transfer.process.completed`] +- Contract Negotiation [`contract.negotiation.initiated`,`contract.negotiation.agreed`,`contract.negotiation.accepted`, `contract.negotiation.terminated`,`contract.negotiation.finalized`] + +For getting all events in transfer process or contract negotiation we can simply use `transfer.process` or `contract.negotiation` +in order to be notified of all state transition. + +Once the EDR has been negotiated with the provider, the EDR itself will be stored in the configured vault and the metadata +associated to it in the configured datasource for future querying. + +Since `tractusx-edc` [v0.5.1](https://github.com/eclipse-tractusx/tractusx-edc/releases/tag/0.5.1) the cached EDRs also come with a state machine that will manage the lifecycle of an EDR +on the consumer side. That means that it will auto-renew it is nearing its expiration date by +firing another transfer process request with the same parameters as the original one. Once renewed, the old EDR +will transition to the `EXPIRED` state, and it will be removed from the database and the vault according to the [configuration](../../../core/edr-core/README.md). + ### EDR Management | Fetch cached EDRs This endpoint will retrieve all EDR entries by their `assetId` or `agreementId` references, which are passed as `query parameters`. -| Path | Method | Query Params | -|----------------------------------------------|--------|----------------------| -| `/edrs` | GET | assetId, agreementId | +| Path | Method | Spec | +|-------------------------|--------|---------------------------------------------------------------------------------------------------------------------------| +| `/edrs` | GET | [OpenApi](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/tractusx-edc/0.5.1#/Control%20Plane%20EDR%20Api/queryEdrs) | #### EDR Entry Response @@ -89,9 +128,12 @@ This endpoint will retrieve all EDR entries by their `assetId` or `agreementId` [ { "@type": "tx:EndpointDataReferenceEntry", - "edc:agreementId": "contract-agreement-id", - "edc:transferProcessId": "transfer-process-id", - "edc:assetId": "asset-id", + "edc:agreementId": "", + "edc:transferProcessId": "", + "edc:assetId": "", + "edc:providerId": "", + "tx:edrState": "NEGOTIATED", + "tx:expirationDate": 1693928132000, "@context": { "dct": "https://purl.org/dc/terms/", "tx": "https://w3id.org/tractusx/v0.0.1/ns/", @@ -104,11 +146,13 @@ This endpoint will retrieve all EDR entries by their `assetId` or `agreementId` ] ``` +### EDR Management | Fetch single EDR + This endpoint, through the `transfer-process-id` passed as `path variable`, will retrieve the actual EDR. -| Path | Method | Query Params | -|-----------------------------------------------|--------|--------------------------| -| `/edrs/{transfer-process-id}` | GET | none | +| Path | Method | Spec | +|-----------------------------------------------|--------|------------------------------------------------------------------------------------------------------------------------| +| `/edrs/{transfer-process-id}` | GET | [OpenApi](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/tractusx-edc/0.5.1#/Control%20Plane%20EDR%20Api/getEdr) | #### EDR Response @@ -133,3 +177,85 @@ This endpoint, through the `transfer-process-id` passed as `path variable`, will ``` > Please note that now with the EDR you are able to request the `Asset` data from provider's `data-plane`. + +### EDR Management | Deleting a cached EDR + +This endpoint will delete the EDR entry associated with the `transfer-process-id` and it will remove the EDR itself +from the vault. + +| Path | Method | Spec | +|-----------------------------------------------|--------|---------------------------------------------------------------------------------------------------------------------------| +| `/edrs/{transfer-process-id}` | DELETE | [OpenApi](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/tractusx-edc/0.5.1#/Control%20Plane%20EDR%20Api/deleteEdr) | + +### EDR Usage | Fetching data + +Once the EDR has been negotiated and stored, the data can be fetched in two ways depending on the use-case: + +- Provider data-plane ("EDC way") +- Consumer proxy (Tractus-X EDC simplified) + +#### Provider data-plane + +Once the right EDR has been identified using the EDR management API the current asset/agreement/transfer-process that +you want to transfer, we can use the `endpont`, `authCode` and `authKey` to make the request: + +```sh +curl --request GET \ + --url http://provider-data-plane/public-url \ + --header 'Authorization: auth-code' \ + --header 'Content-Type: application/json' +``` + +If the HTTP asset has been configured to proxy also query parameters and path segments they will be forwarded +to the backend from the provider data-plane: + +```sh +curl --request GET \ + --url http://provider-data-plane/public-url/subroute?foo=bar \ + --header 'Authorization: auth-code' \ + --header 'Content-Type: application/json' +``` + +#### Consumer data-plane (proxy) + +The Consumer data-plane proxy is an extension available in `tractusx-edc` that will use the EDR store to simplify +the data request on consumer side. The documentation is available [here](../../../edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/README.md). + +The only API is: + +| Path | Method | Spec | +|---------------------------|--------|-----------------------------------------------------------------------------------------------------------------------------| +| `/aas/request` | POST | [OpenApi](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/tractusx-edc/0.5.1#/Data%20Plane%20Proxy%20API/requestAsset) | + +which fetches the data according to the input body. The body should contain the `assetId` plus `providerId` or the `transferProcessId`, +which identifies the EDR to use for fetching data and an `endpointUrl` which is the [provider gateway](../../../edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-api/README.md) +on which the data is available. + +Example: + +```sh +curl --request POST \ + --url http://localhost:8186/proxy/aas/request \ + --header 'Content-Type: application/json' \ + --header 'X-Api-Key: password' \ + --data '{"assetId": "1","providerId": "BPNL000000000001","endpointUrl": "http://localhost:8080/api/gateway/aas/test"}' +``` + +Alternatively if the `endpointUrl` is not known or the gateway on the provider side is not configured, it can be omitted and the `Edr#endpointUrl` +will be used as base url. In this scenario if needed, users can provide additional properties to the request for composing the final +url: + +- `pathSegments` sub path to append to the base url +- `queryParams` query parameters to add to the url + +Example of an asset with base url `http://localhost:8080/test` + +```sh +curl --request POST \ + --url http://localhost:8186/proxy/aas/request \ + --header 'Content-Type: application/json' \ + --header 'X-Api-Key: password' \ + --data '{"assetId": "1","providerId": "BPNL000000000001","pathSegments": "/sub","queryParams": "foo=bar"}' +``` + +The final url will look like `http://localhost:8080/test/sub?foo=bar`. diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/README.md b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/README.md index ec590c1a2..45e337d9d 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/README.md +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/README.md @@ -36,7 +36,7 @@ Example with base url `http://localhost:8080/test` The final url will look like `http://localhost:8080/test/sub?foo=bar` composed by the DataPlane manager with the Http request flow, -> Note: the endpoint is not protected with configured `AuthenticationService`, which most likely will be the token based (auth key) one. +> Note: the endpoint is protected with configured `AuthenticationService`. ## Configuration From 7bdb55061b249ce9b65a1f1b4c199b412b65b6d4 Mon Sep 17 00:00:00 2001 From: "Sascha Isele (ZF Friedrichshafen AG)" <127207440+saschaisele-zf@users.noreply.github.com> Date: Fri, 8 Sep 2023 11:09:49 +0200 Subject: [PATCH 23/60] Decision record proprietary extensions (#756) * docs(extensions): decision record for proprietary extensions Signed-off-by: Sascha Isele * docs(bpn): fixed incorrect heading Signed-off-by: Sascha Isele * docs: fixed wording of proprietary extensions decision record Signed-off-by: Sascha Isele * docs: review fixes for decision record proprietary extensions Signed-off-by: Sascha Isele --------- Signed-off-by: Sascha Isele --- .../README.md | 2 +- .../README.md | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 docs/development/decision-records/2023-08-24-proprietrary-extensions/README.md 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 930789f27..4cdeea7da 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 @@ -1,4 +1,4 @@ -# Removal of manually curated CHANGELOG.md +# Improve BPN validation ## Decision 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 new file mode 100644 index 000000000..8bc427d3c --- /dev/null +++ b/docs/development/decision-records/2023-08-24-proprietrary-extensions/README.md @@ -0,0 +1,48 @@ +# Supported Proprietary Extensions + +## Decision + +The Tractus-X EDC dataplane will support the following proprietary extensions: + +1. AWS S3 +2. Azure Blob Storage + +## Rationale + +### Requirements + +1. In addition to transfer over HTTP we need to be able to transfer larger files (i.e. Buckets). +2. The packaged artefact (docker image, helm chart) should not require additional compilation or packaging. +3. Broad coverage of use-cases with different extensions. + +### Solution + +Previously, there was only support for AWS S3 which could be seen as problematic and favouritism. +As such, the available support was extended with Azure Blob Storage to offer alternatives and cover a wider range of use-cases. +According to this decision, the following protocols will be supported in the future: + +1. HTTP +2. AWS S3 +3. Azure Blob Storage + +## Approach + +To properly incorporate Azure Blob Storage and enable interoperability, all required extensions, i.e. HTTP, AWS S3 and Azure Blob Storage, will be bundled into the data plane image. +This dataplane is then configured based on which extensions the user wants to use. +Configuring specific features is entirely optional, and omitting to do so will cause that feature to be inactive at runtime. + +Going forward, the Tractus-X EDC team will limit its efforts to critical bug fixes in the respective upstream repositories. +As these extensions are proprietary in nature, the Tractus-X EDC Team will add no additional features beyond basic support. + +The Sftp Protocol is another contender for integrating a more accessible protocol. +It is however a low priority feature at the moment and will be postponed for future iterations. + +> Note: Azure Blob Storage will be integrated with Tractus-X EDC version 0.6.0 + +An application process for possible additional integrations will follow at a later date. + +## Open Questions + +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)? From a0e5c7dabcb08695c11ad301052226d4759c1d6a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Sep 2023 08:54:42 +0200 Subject: [PATCH 24/60] chore(deps): bump actions/checkout from 3 to 4 (#762) * chore(deps): bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * chore: update dependencies file * 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/deployment-test.yaml | 6 +++--- .github/workflows/draft-new-release.yaml | 2 +- .github/workflows/helm-lint.yaml | 2 +- .github/workflows/kics.yml | 2 +- .github/workflows/publish-docker.yaml | 2 +- .github/workflows/publish-maven.yaml | 2 +- .github/workflows/publish-new-release.yml | 8 ++++---- .github/workflows/publish-swaggerhub.yaml | 2 +- .github/workflows/publish.yaml | 4 ++-- .github/workflows/trivy.yml | 4 ++-- .github/workflows/veracode.yaml | 4 ++-- .github/workflows/verify.yaml | 22 +++++++++++----------- DEPENDENCIES | 20 ++++++++++---------- 13 files changed, 40 insertions(+), 40 deletions(-) diff --git a/.github/workflows/deployment-test.yaml b/.github/workflows/deployment-test.yaml index 3060eb940..1ec1365ca 100644 --- a/.github/workflows/deployment-test.yaml +++ b/.github/workflows/deployment-test.yaml @@ -56,7 +56,7 @@ jobs: runs-on: ubuntu-latest needs: test-prepare steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/run-deployment-test name: "Run deployment test using KinD and Helm" with: @@ -80,7 +80,7 @@ jobs: needs: test-prepare steps: - name: Checkout - uses: actions/checkout@v3.5.2 + uses: actions/checkout@v4 - uses: ./.github/actions/run-deployment-test name: "Run deployment test using KinD and Helm" with: @@ -107,7 +107,7 @@ jobs: needs.secret-presence.outputs.AZURE_KV_CREDS steps: - name: Checkout - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v4 - name: "Login to AZ CLI" run: | az login --service-principal -u="${{ secrets.AZURE_CLIENT_ID }}" --password="${{ secrets.AZURE_CLIENT_SECRET }}" --tenant="${{ secrets.AZURE_TENANT_ID }}" diff --git a/.github/workflows/draft-new-release.yaml b/.github/workflows/draft-new-release.yaml index 221ff3e21..4c81babb2 100644 --- a/.github/workflows/draft-new-release.yaml +++ b/.github/workflows/draft-new-release.yaml @@ -37,7 +37,7 @@ jobs: pages: write pull-requests: write steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - name: Create release branch run: git checkout -b release/${{ github.event.inputs.version }} - name: Initialize mandatory git config diff --git a/.github/workflows/helm-lint.yaml b/.github/workflows/helm-lint.yaml index 37cdb0c3d..ead85858a 100644 --- a/.github/workflows/helm-lint.yaml +++ b/.github/workflows/helm-lint.yaml @@ -44,7 +44,7 @@ jobs: ############## ### Set-Up ### ############## - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: helm (setup) diff --git a/.github/workflows/kics.yml b/.github/workflows/kics.yml index 0d824632e..54eae1822 100644 --- a/.github/workflows/kics.yml +++ b/.github/workflows/kics.yml @@ -40,7 +40,7 @@ jobs: security-events: write steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - name: KICS scan uses: checkmarx/kics-github-action@v1.5 diff --git a/.github/workflows/publish-docker.yaml b/.github/workflows/publish-docker.yaml index ecf936722..73a667577 100644 --- a/.github/workflows/publish-docker.yaml +++ b/.github/workflows/publish-docker.yaml @@ -54,7 +54,7 @@ jobs: contents: write packages: write steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/publish-docker-image name: Publish ${{ matrix.variant.img }} with: diff --git a/.github/workflows/publish-maven.yaml b/.github/workflows/publish-maven.yaml index 5624843f9..f146aad35 100644 --- a/.github/workflows/publish-maven.yaml +++ b/.github/workflows/publish-maven.yaml @@ -42,7 +42,7 @@ jobs: packages: write steps: # Set-Up - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java # Import GPG Key diff --git a/.github/workflows/publish-new-release.yml b/.github/workflows/publish-new-release.yml index 7e000da16..09109f136 100644 --- a/.github/workflows/publish-new-release.yml +++ b/.github/workflows/publish-new-release.yml @@ -70,7 +70,7 @@ jobs: echo "RELEASE_VERSION=${{ needs.release-version.outputs.RELEASE_VERSION }}" >> $GITHUB_ENV # Set-Up - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java # Import GPG Key @@ -107,7 +107,7 @@ jobs: { dir: edc-dataplane, img: edc-dataplane-hashicorp-vault } ] steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - name: Export RELEASE_VERSION env run: | echo "RELEASE_VERSION=${{ needs.release-version.outputs.RELEASE_VERSION }}" >> $GITHUB_ENV @@ -136,7 +136,7 @@ jobs: - name: Export RELEASE_VERSION env run: | echo "RELEASE_VERSION=${{ needs.release-version.outputs.RELEASE_VERSION }}" >> $GITHUB_ENV - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install Helm @@ -179,7 +179,7 @@ jobs: - name: Export RELEASE_VERSION env run: | echo "RELEASE_VERSION=${{ needs.release-version.outputs.RELEASE_VERSION }}" >> $GITHUB_ENV - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 with: # 0 to fetch the full history due to upcoming merge of releases into main branch fetch-depth: 0 diff --git a/.github/workflows/publish-swaggerhub.yaml b/.github/workflows/publish-swaggerhub.yaml index 2529a093d..f937fd841 100644 --- a/.github/workflows/publish-swaggerhub.yaml +++ b/.github/workflows/publish-swaggerhub.yaml @@ -49,7 +49,7 @@ jobs: SWAGGERHUB_API_KEY: ${{ secrets.SWAGGERHUB_API_KEY }} SWAGGERHUB_USER: ${{ secrets.SWAGGERHUB_USER }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup JDK 17 uses: actions/setup-java@v3.12.0 diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index a61da2b23..164f3bce1 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -82,7 +82,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/publish-docker-image name: Publish ${{ matrix.variant.img }} with: @@ -106,7 +106,7 @@ jobs: needs.secret-presence.outputs.HAS_OSSRH && github.event_name != 'pull_request' && github.ref != 'refs/heads/releases' steps: # Set-Up - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 # Import GPG Key - uses: ./.github/actions/import-gpg-key diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml index e7ac23c87..4df265a1a 100644 --- a/.github/workflows/trivy.yml +++ b/.github/workflows/trivy.yml @@ -55,7 +55,7 @@ jobs: contents: read security-events: write steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - name: Run Trivy vulnerability scanner in repo mode uses: aquasecurity/trivy-action@master with: @@ -90,7 +90,7 @@ jobs: - edc-dataplane-azure-vault - edc-dataplane-hashicorp-vault steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 ## This step will fail if the docker images is not found - name: "Check if image exists" diff --git a/.github/workflows/veracode.yaml b/.github/workflows/veracode.yaml index c15df9cd2..27bd02291 100644 --- a/.github/workflows/veracode.yaml +++ b/.github/workflows/veracode.yaml @@ -42,7 +42,7 @@ jobs: verify-formatting: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: ./.github/actions/setup-java @@ -66,7 +66,7 @@ jobs: { dir: edc-dataplane, name: edc-dataplane-hashicorp-vault } ] steps: # Set-Up - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java # Build - name: Build ${{ matrix.variant.name }} diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index bb24c5a05..dd3f48cd2 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -31,7 +31,7 @@ jobs: verify-license-headers: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - name: "Check for files without a license header" run: |- # checks all java, yaml, kts and sql files for an Apache 2.0 license header @@ -46,7 +46,7 @@ jobs: verify-helm-docs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: addnab/docker-run-action@v3 with: @@ -69,7 +69,7 @@ jobs: verify-formatting: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java - name: Run Checkstyle @@ -79,7 +79,7 @@ jobs: markdown-lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - name: Install mardkdownlint run: npm install -g markdownlint-cli2 @@ -92,7 +92,7 @@ jobs: runs-on: ubuntu-latest needs: [ verify-formatting, verify-license-headers ] steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java @@ -103,7 +103,7 @@ jobs: runs-on: ubuntu-latest needs: [ verify-formatting, verify-license-headers ] steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java @@ -114,7 +114,7 @@ jobs: runs-on: ubuntu-latest needs: [ verify-formatting, verify-license-headers ] steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java @@ -125,7 +125,7 @@ jobs: runs-on: ubuntu-latest needs: [ verify-formatting, verify-license-headers ] steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java @@ -146,7 +146,7 @@ jobs: POSTGRES_PASSWORD: password steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java - name: Run Postgresql E2E tests @@ -157,10 +157,10 @@ jobs: needs: [ verify-formatting, verify-license-headers ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Starting MIW, Keycloak and Postgres Servers run: | cd edc-tests/miw-tests/src/test/resources/docker-environment diff --git a/DEPENDENCIES b/DEPENDENCIES index 231128f13..2b784112d 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -46,8 +46,8 @@ maven/mavencentral/com.fasterxml.jackson.module/jackson-module-jakarta-xmlbind-a maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.14.2, Apache-2.0, approved, #7931 maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.2, 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.0, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.github.docker-java/docker-java-api/3.3.3, , restricted, clearlydefined +maven/mavencentral/com.github.docker-java/docker-java-api/3.3.0, Apache-2.0, approved, #10346 +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.0, 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.3, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #7946 maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.0, Apache-2.0, approved, #7942 @@ -146,11 +146,11 @@ maven/mavencentral/io.swagger.core.v3/swagger-annotations/2.2.10, Apache-2.0, ap maven/mavencentral/io.swagger.core.v3/swagger-core-jakarta/2.2.2, Apache-2.0, approved, #5929 maven/mavencentral/io.swagger.core.v3/swagger-core/2.2.10, Apache-2.0, approved, #9265 maven/mavencentral/io.swagger.core.v3/swagger-integration-jakarta/2.2.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.swagger.core.v3/swagger-integration/2.2.10, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.swagger.core.v3/swagger-integration/2.2.10, Apache-2.0, approved, #10352 maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2-jakarta/2.2.2, Apache-2.0, approved, clearlydefined maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2/2.2.10, Apache-2.0, approved, #9814 maven/mavencentral/io.swagger.core.v3/swagger-models-jakarta/2.2.2, Apache-2.0, approved, #5919 -maven/mavencentral/io.swagger.core.v3/swagger-models/2.2.10, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.swagger.core.v3/swagger-models/2.2.10, LicenseRef-scancode-proprietary-license AND Apache-2.0, restricted, #10354 maven/mavencentral/jakarta.activation/jakarta.activation-api/1.2.1, EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jaf maven/mavencentral/jakarta.activation/jakarta.activation-api/2.1.0, EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jaf maven/mavencentral/jakarta.annotation/jakarta.annotation-api/2.1.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.ca @@ -335,7 +335,7 @@ maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.15, EPL-2.0 OR Apache-2. maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.flywaydb/flyway-core/9.22.0, , restricted, clearlydefined +maven/mavencentral/org.flywaydb/flyway-core/9.22.0, 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 @@ -413,15 +413,15 @@ maven/mavencentral/org.slf4j/slf4j-api/2.0.5, MIT, approved, #5915 maven/mavencentral/org.slf4j/slf4j-api/2.0.7, MIT, approved, #5915 maven/mavencentral/org.slf4j/slf4j-api/2.0.9, MIT, approved, #5915 maven/mavencentral/org.testcontainers/database-commons/1.18.3, MIT, approved, clearlydefined -maven/mavencentral/org.testcontainers/database-commons/1.19.0, , restricted, clearlydefined +maven/mavencentral/org.testcontainers/database-commons/1.19.0, Apache-2.0, approved, #10345 maven/mavencentral/org.testcontainers/jdbc/1.18.3, MIT, approved, clearlydefined -maven/mavencentral/org.testcontainers/jdbc/1.19.0, , restricted, clearlydefined +maven/mavencentral/org.testcontainers/jdbc/1.19.0, Apache-2.0, approved, #10348 maven/mavencentral/org.testcontainers/junit-jupiter/1.18.3, MIT, approved, #7941 -maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, , restricted, clearlydefined +maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, None, restricted, #10344 maven/mavencentral/org.testcontainers/postgresql/1.18.3, MIT, approved, #9332 -maven/mavencentral/org.testcontainers/postgresql/1.19.0, , restricted, clearlydefined +maven/mavencentral/org.testcontainers/postgresql/1.19.0, None, restricted, #10350 maven/mavencentral/org.testcontainers/testcontainers/1.18.3, MIT, approved, #7938 -maven/mavencentral/org.testcontainers/testcontainers/1.19.0, , restricted, clearlydefined +maven/mavencentral/org.testcontainers/testcontainers/1.19.0, None, restricted, #10347 maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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 From b715c6bbff49283f85d3ee1e758f48a65d801624 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Sep 2023 09:25:41 +0200 Subject: [PATCH 25/60] chore(deps): bump io.rest-assured:rest-assured from 5.3.1 to 5.3.2 (#761) * chore(deps): bump io.rest-assured:rest-assured from 5.3.1 to 5.3.2 Bumps [io.rest-assured:rest-assured](https://github.com/rest-assured/rest-assured) from 5.3.1 to 5.3.2. - [Changelog](https://github.com/rest-assured/rest-assured/blob/master/changelog.txt) - [Commits](https://github.com/rest-assured/rest-assured/commits) --- updated-dependencies: - dependency-name: io.rest-assured:rest-assured 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 | 8 ++++---- gradle/libs.versions.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 2b784112d..ac533ae2c 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -135,10 +135,10 @@ maven/mavencentral/io.opentelemetry/opentelemetry-context/1.29.0, Apache-2.0, ap maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.33, Apache-2.0, approved, #9687 maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.33, Apache-2.0, approved, clearlydefined maven/mavencentral/io.projectreactor/reactor-core/3.4.30, Apache-2.0, approved, #7517 -maven/mavencentral/io.rest-assured/json-path/5.3.1, Apache-2.0, approved, #9261 -maven/mavencentral/io.rest-assured/rest-assured-common/5.3.1, Apache-2.0, approved, #9264 -maven/mavencentral/io.rest-assured/rest-assured/5.3.1, Apache-2.0, approved, #9262 -maven/mavencentral/io.rest-assured/xml-path/5.3.1, Apache-2.0, approved, #9267 +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 +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.2, Apache-2.0, approved, #5947 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f0c0a0068..d9d2ed81b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -12,7 +12,7 @@ okhttp = "4.11.0" mockwebserver = "5.0.0-alpha.11" bouncyCastle-jdk18on = "1.76" mockito = "5.2.0" -restAssured = "5.3.1" +restAssured = "5.3.2" apache-sshd = "2.10.0" testcontainers = "1.19.0" aws = "2.20.140" From f698b30d5d858bdb3c165d970de70ec158558ca3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Sep 2023 09:40:43 +0200 Subject: [PATCH 26/60] chore(deps): bump software.amazon.awssdk:s3 from 2.20.140 to 2.20.144 (#760) * chore(deps): bump software.amazon.awssdk:s3 from 2.20.140 to 2.20.144 Bumps software.amazon.awssdk:s3 from 2.20.140 to 2.20.144. --- updated-dependencies: - dependency-name: software.amazon.awssdk:s3 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 | 40 +++++++++++++++++++-------------------- gradle/libs.versions.toml | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index ac533ae2c..ab716079a 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -426,45 +426,45 @@ maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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.123, Apache-2.0, approved, #8598 -maven/mavencentral/software.amazon.awssdk/annotations/2.20.140, Apache-2.0, approved, #8598 +maven/mavencentral/software.amazon.awssdk/annotations/2.20.144, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/apache-client/2.20.123, Apache-2.0, approved, #8609 -maven/mavencentral/software.amazon.awssdk/apache-client/2.20.140, Apache-2.0, approved, #8609 +maven/mavencentral/software.amazon.awssdk/apache-client/2.20.144, Apache-2.0, approved, #8609 maven/mavencentral/software.amazon.awssdk/arns/2.20.123, Apache-2.0, approved, #8616 -maven/mavencentral/software.amazon.awssdk/arns/2.20.140, Apache-2.0, approved, #8616 +maven/mavencentral/software.amazon.awssdk/arns/2.20.144, Apache-2.0, approved, #8616 maven/mavencentral/software.amazon.awssdk/auth/2.20.123, Apache-2.0, approved, #8602 -maven/mavencentral/software.amazon.awssdk/auth/2.20.140, Apache-2.0, approved, #8602 +maven/mavencentral/software.amazon.awssdk/auth/2.20.144, Apache-2.0, approved, #8602 maven/mavencentral/software.amazon.awssdk/aws-core/2.20.123, Apache-2.0, approved, #8612 -maven/mavencentral/software.amazon.awssdk/aws-core/2.20.140, Apache-2.0, approved, #8612 +maven/mavencentral/software.amazon.awssdk/aws-core/2.20.144, Apache-2.0, approved, #8612 maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.123, Apache-2.0, approved, #8629 -maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.140, Apache-2.0, approved, #8629 +maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.144, Apache-2.0, approved, #8629 maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.123, Apache-2.0, approved, #8624 -maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.140, Apache-2.0, approved, #8624 +maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.144, Apache-2.0, approved, #8624 maven/mavencentral/software.amazon.awssdk/crt-core/2.20.123, Apache-2.0, approved, #8627 -maven/mavencentral/software.amazon.awssdk/crt-core/2.20.140, Apache-2.0, approved, #8627 +maven/mavencentral/software.amazon.awssdk/crt-core/2.20.144, Apache-2.0, approved, #8627 maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.123, Apache-2.0, approved, #8604 -maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.140, Apache-2.0, approved, #8604 +maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.144, Apache-2.0, approved, #8604 maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.123, Apache-2.0, approved, #8608 -maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.140, Apache-2.0, approved, #8608 +maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.144, Apache-2.0, approved, #8608 maven/mavencentral/software.amazon.awssdk/iam/2.20.123, Apache-2.0, approved, #9271 maven/mavencentral/software.amazon.awssdk/json-utils/2.20.123, Apache-2.0, approved, #8614 -maven/mavencentral/software.amazon.awssdk/json-utils/2.20.140, Apache-2.0, approved, #8614 +maven/mavencentral/software.amazon.awssdk/json-utils/2.20.144, Apache-2.0, approved, #8614 maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.123, Apache-2.0, approved, #8636 -maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.140, Apache-2.0, approved, #8636 +maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.144, Apache-2.0, approved, #8636 maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.123, Apache-2.0, approved, #8613 -maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.140, Apache-2.0, approved, #8613 +maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.144, Apache-2.0, approved, #8613 maven/mavencentral/software.amazon.awssdk/profiles/2.20.123, Apache-2.0, approved, #8600 -maven/mavencentral/software.amazon.awssdk/profiles/2.20.140, Apache-2.0, approved, #8600 +maven/mavencentral/software.amazon.awssdk/profiles/2.20.144, Apache-2.0, approved, #8600 maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.123, Apache-2.0, approved, #8635 -maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.140, Apache-2.0, approved, #8635 +maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.144, Apache-2.0, approved, #8635 maven/mavencentral/software.amazon.awssdk/regions/2.20.123, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/regions/2.20.140, Apache-2.0, approved, #8632 +maven/mavencentral/software.amazon.awssdk/regions/2.20.144, Apache-2.0, approved, #8632 maven/mavencentral/software.amazon.awssdk/s3/2.20.123, Apache-2.0, approved, #8623 -maven/mavencentral/software.amazon.awssdk/s3/2.20.140, Apache-2.0, approved, #8623 +maven/mavencentral/software.amazon.awssdk/s3/2.20.144, Apache-2.0, approved, #8623 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.123, Apache-2.0, approved, #8611 -maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.140, Apache-2.0, approved, #8611 +maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.144, Apache-2.0, approved, #8611 maven/mavencentral/software.amazon.awssdk/sts/2.20.123, Apache-2.0, approved, #9269 maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.123, Apache-2.0, approved, #8622 -maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.140, Apache-2.0, approved, #8622 +maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.144, Apache-2.0, approved, #8622 maven/mavencentral/software.amazon.awssdk/utils/2.20.123, Apache-2.0, approved, #8625 -maven/mavencentral/software.amazon.awssdk/utils/2.20.140, Apache-2.0, approved, #8625 +maven/mavencentral/software.amazon.awssdk/utils/2.20.144, 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 d9d2ed81b..a1ac0c9f7 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.0" -aws = "2.20.140" +aws = "2.20.144" rsApi = "3.1.0" jupiter = "5.10.0" assertj = "3.24.2" From c905b9c0a6dd03589e0c712fc2472eeefe100af5 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Mon, 11 Sep 2023 13:24:56 +0200 Subject: [PATCH 27/60] docs: decision record about issue quality (#757) --- .../README.md | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 docs/development/decision-records/2023-09-08_issue_quality_stalebot/README.md 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 new file mode 100644 index 000000000..f4915f462 --- /dev/null +++ b/docs/development/decision-records/2023-09-08_issue_quality_stalebot/README.md @@ -0,0 +1,77 @@ +# Improving the issue quality and using a stale-bot + +## Decision + +We will improve GitHub issue quality leveraging the following approaches: + +- provide a better issue template +- introduce a stalebot workflow, that automatically closes zombie issues and PRs +- reject (or let get stale) issues that aren't actionable +- create a "backlog" milestone where we can put placeholder issues + +## Rationale + +We have seen quite a number of issues that are not actionable, because they lack detailed requirements, a definition of +done, a motivation why the issue is needed or simply a proper description. + +Some of it may have been caused by the auto-migration from Confluence to GitHub, some of it may have been caused by a +lack of planning discipline. +Un-actionable issues are useless, they clutter our boards and needlessly increase workload, because people periodically +need to look at them. If an issue cannot be described in sufficient detail, it should be labelled appropriately, e.g. +with `question` or `triage`. + +We understand that it is not always possible to provide all required information at the time of submitting an issue. For +those cases we will create a `backlog` milestone, that doesn't have a due date and on which those incomplete/placeholder +issues should be planned. The backlog must be sanitized manually. + +So in order to foster proper OSS hygiene we should aim for properly formulated, actionable issues, and periodically +clear out ones that are inactive or have become irrelevant. + +## Approach + +### Issue Template + +We propose the following issue templates: + +```markdown +--- +name: Feature Request +about: Request a new feature +title: '' +labels: triage +assignees: '' + +--- + +## WHAT + +// describes the desired functionality, how the feature should behave. This should include clear requirements, and a +// "definition-of-done", i.e. what the result of the issue should be. This is important for concept, documentation or +// ideation issues + +## WHY + +// outlines the motivation, why the feature is desired, and maybe what the impact is if the feature is _not_ +implemented. +// "Because we need it" is not a sufficient reason! + +## HOW + +// if possible, outlines a solution proposal + +## FURTHER NOTES + +// anything else you want to outline +``` + +The existing bug report template is quite usable already, it contains the needed information. Bug reports should also +receive the `triage` label upon creation. + +### Stale-bot + +- issues, that have the `triage` label get staled after 4 weeks and closed after 2 more weeks +- issues, that have an assignee get staled after 4 weeks and closed after 1 more week +- issues, that neither have an `assignee` nor a `triage` label get staled after 2 weeks, and closed after 1 more week +- 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 From 8ed06f827ccffe56fb2296677ac81004a2c67fa2 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Mon, 11 Sep 2023 15:10:06 +0200 Subject: [PATCH 28/60] fix: edr filtering by providerId (#759) * fix: edr filtering by providerId * chore: updates depedencies file * chore: updates depedencies file * chore: update dependencies file --- .../org/eclipse/tractusx/edc/api/edr/EdrController.java | 2 +- .../eclipse/tractusx/edc/api/edr/EdrControllerTest.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) 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 97a5344dd..79abbdb5c 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 @@ -133,7 +133,7 @@ private QuerySpec querySpec(String assetId, String agreementId, String providerI queryBuilder.filter(fieldFilter(AGREEMENT_ID, agreementId)); } if (providerId != null) { - queryBuilder.filter(fieldFilter(PROVIDER_ID, agreementId)); + queryBuilder.filter(fieldFilter(PROVIDER_ID, providerId)); } return queryBuilder.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 18d47d67a..11e122553 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 @@ -229,10 +229,10 @@ void queryEdrs_shouldReturnCachedEntries_whenAssetIdIsProvided() { @Test void queryEdrs_shouldReturnCachedEntries_whenAgreementIdIsProvided() { - var assetId = "id"; - var transferProcessId = "id"; - var agreementId = "id"; - var providerId = "id"; + var assetId = "assetId"; + var transferProcessId = "transferProcessId"; + var agreementId = "agreementId"; + var providerId = "providerId"; var entry = EndpointDataReferenceEntry.Builder.newInstance() .transferProcessId(transferProcessId) From f59e06f6772ebe1878407a8a24c5e2c91f586e22 Mon Sep 17 00:00:00 2001 From: "Tuncay Tunc (ZF Friedrichshafen AG)" <100704677+tuncaytunc-zf@users.noreply.github.com> Date: Thu, 14 Sep 2023 08:44:21 +0200 Subject: [PATCH 29/60] chore: add default values to helm charts (#764) * - Add default values to helm charts - Clean-up daps from memory charts - Recreate README.md files * trigger-ci * Change default values * Add default Azure name * Update charts/tractusx-connector-azure-vault/values.yaml Co-authored-by: Florian Rusch (ZF Friedrichshafen AG) * Update httpProxyTokenReceiverUrl value --------- Co-authored-by: Florian Rusch (ZF Friedrichshafen AG) --- .../tractusx-connector-azure-vault/README.md | 18 ++++++++--------- .../values.yaml | 15 +++++++------- charts/tractusx-connector-memory/README.md | 18 +++++------------ charts/tractusx-connector-memory/values.yaml | 20 ++++--------------- charts/tractusx-connector/README.md | 14 ++++++------- charts/tractusx-connector/values.yaml | 11 +++++----- 6 files changed, 39 insertions(+), 57 deletions(-) diff --git a/charts/tractusx-connector-azure-vault/README.md b/charts/tractusx-connector-azure-vault/README.md index 4a6bd2b6f..748c845bc 100644 --- a/charts/tractusx-connector-azure-vault/README.md +++ b/charts/tractusx-connector-azure-vault/README.md @@ -67,7 +67,7 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | Key | Type | Default | Description | |-----|------|---------|-------------| -| backendService.httpProxyTokenReceiverUrl | string | `""` | | +| backendService.httpProxyTokenReceiverUrl | string | `"https://example.com"` | Specifies a backend service which will receive the EDR | | controlplane.affinity | object | `{}` | | | controlplane.autoscaling.enabled | bool | `false` | Enables [horizontal pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | | controlplane.autoscaling.maxReplicas | int | `100` | Maximum replicas if resource consumption exceeds resource threshholds | @@ -78,15 +78,15 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | controlplane.debug.enabled | bool | `false` | | | controlplane.debug.port | int | `1044` | | | controlplane.debug.suspendOnStart | bool | `false` | | -| controlplane.endpoints | object | `{"control":{"path":"/control","port":8083},"default":{"path":"/api","port":8080},"management":{"authKey":"","path":"/management","port":8081},"metrics":{"path":"/metrics","port":9090},"protocol":{"path":"/api/v1/dsp","port":8084}}` | endpoints of the control plane | +| controlplane.endpoints | object | `{"control":{"path":"/control","port":8083},"default":{"path":"/api","port":8080},"management":{"authKey":"password","path":"/management","port":8081},"metrics":{"path":"/metrics","port":9090},"protocol":{"path":"/api/v1/dsp","port":8084}}` | endpoints of the control plane | | controlplane.endpoints.control | object | `{"path":"/control","port":8083}` | control api, used for internal control calls. can be added to the internal ingress, but should probably not | | controlplane.endpoints.control.path | string | `"/control"` | path for incoming api calls | | controlplane.endpoints.control.port | int | `8083` | port for incoming api calls | | controlplane.endpoints.default | object | `{"path":"/api","port":8080}` | default api for health checks, should not be added to any ingress | | controlplane.endpoints.default.path | string | `"/api"` | path for incoming api calls | | controlplane.endpoints.default.port | int | `8080` | port for incoming api calls | -| controlplane.endpoints.management | object | `{"authKey":"","path":"/management","port":8081}` | data management api, used by internal users, can be added to an ingress and must not be internet facing | -| controlplane.endpoints.management.authKey | string | `""` | authentication key, must be attached to each 'X-Api-Key' request header | +| controlplane.endpoints.management | object | `{"authKey":"password","path":"/management","port":8081}` | data management api, used by internal users, can be added to an ingress and must not be internet facing | +| controlplane.endpoints.management.authKey | string | `"password"` | authentication key, must be attached to each 'X-Api-Key' request header | | controlplane.endpoints.management.path | string | `"/management"` | path for incoming api calls | | controlplane.endpoints.management.port | int | `8081` | port for incoming api calls | | controlplane.endpoints.metrics | object | `{"path":"/metrics","port":9090}` | metrics api, used for application metrics, must not be internet facing | @@ -184,7 +184,7 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | dataplane.endpoints.default.port | int | `8080` | | | dataplane.endpoints.metrics.path | string | `"/metrics"` | | | dataplane.endpoints.metrics.port | int | `9090` | | -| dataplane.endpoints.proxy.authKey | string | `""` | | +| dataplane.endpoints.proxy.authKey | string | `"password"` | | | dataplane.endpoints.proxy.path | string | `"/proxy"` | | | dataplane.endpoints.proxy.port | int | `8186` | | | dataplane.endpoints.public.path | string | `"/api/public"` | | @@ -247,7 +247,7 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | imagePullSecrets | list | `[]` | Existing image pull secret to use to [obtain the container image from private registries](https://kubernetes.io/docs/concepts/containers/images/#using-a-private-registry) | | install.postgresql | bool | `true` | | | nameOverride | string | `""` | | -| participant.id | string | `""` | BPN Number | +| participant.id | string | `"BPNLCHANGEME"` | BPN Number | | postgresql.auth.database | string | `"edc"` | | | postgresql.auth.password | string | `"password"` | | | postgresql.auth.username | string | `"user"` | | @@ -262,10 +262,10 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | tests | object | `{"hookDeletePolicy":"before-hook-creation,hook-succeeded"}` | Configurations for Helm tests | | tests.hookDeletePolicy | string | `"before-hook-creation,hook-succeeded"` | Configure the hook-delete-policy for Helm tests | | vault.azure.certificate | string | `nil` | | -| vault.azure.client | string | `""` | | -| vault.azure.name | string | `""` | | +| vault.azure.client | string | `""` | | +| vault.azure.name | string | `""` | | | vault.azure.secret | string | `nil` | | -| vault.azure.tenant | string | `""` | | +| vault.azure.tenant | string | `""` | | | vault.secretNames.transferProxyTokenEncryptionAesKey | string | `"transfer-proxy-token-encryption-aes-key"` | | | vault.secretNames.transferProxyTokenSignerPrivateKey | string | `nil` | | | vault.secretNames.transferProxyTokenSignerPublicKey | string | `nil` | | diff --git a/charts/tractusx-connector-azure-vault/values.yaml b/charts/tractusx-connector-azure-vault/values.yaml index 346f96476..be67226d1 100644 --- a/charts/tractusx-connector-azure-vault/values.yaml +++ b/charts/tractusx-connector-azure-vault/values.yaml @@ -38,7 +38,7 @@ customLabels: {} participant: # -- BPN Number - id: "" + id: "BPNLCHANGEME" controlplane: image: @@ -94,7 +94,7 @@ controlplane: # -- path for incoming api calls path: /management # -- authentication key, must be attached to each 'X-Api-Key' request header - authKey: "" + authKey: "password" # -- control api, used for internal control calls. can be added to the internal ingress, but should probably not control: # -- port for incoming api calls @@ -354,7 +354,7 @@ dataplane: proxy: port: 8186 path: /proxy - authKey: "" + authKey: "password" metrics: port: 9090 path: /metrics @@ -508,9 +508,9 @@ postgresql: password: "password" vault: azure: - name: "" - client: "" - tenant: "" + name: "" + client: "" + tenant: "" secret: certificate: @@ -520,7 +520,8 @@ vault: transferProxyTokenEncryptionAesKey: transfer-proxy-token-encryption-aes-key backendService: - httpProxyTokenReceiverUrl: "" + # -- Specifies a backend service which will receive the EDR + httpProxyTokenReceiverUrl: "https://example.com" serviceAccount: # Specifies whether a service account should be created create: true diff --git a/charts/tractusx-connector-memory/README.md b/charts/tractusx-connector-memory/README.md index f94fe2f3f..5faee2e11 100644 --- a/charts/tractusx-connector-memory/README.md +++ b/charts/tractusx-connector-memory/README.md @@ -52,21 +52,13 @@ helm install my-release tractusx-edc/tractusx-connector-memory --version 0.5.1 \ | Key | Type | Default | Description | |-----|------|---------|-------------| -| backendService.httpProxyTokenReceiverUrl | string | `""` | | +| backendService.httpProxyTokenReceiverUrl | string | `"https://example.com"` | Specifies a backend service which will receive the EDR | | customCaCerts | object | `{}` | Add custom ca certificates to the truststore | | customLabels | object | `{}` | To add some custom labels | -| daps.clientId | string | `""` | | -| daps.connectors[0].attributes.referringConnector | string | `"http://sokrates-controlplane/BPNSOKRATES"` | | -| daps.connectors[0].certificate | string | `""` | | -| daps.connectors[0].id | string | `"E7:07:2D:74:56:66:31:F0:7B:10:EA:B6:03:06:4C:23:7F:ED:A6:65:keyid:E7:07:2D:74:56:66:31:F0:7B:10:EA:B6:03:06:4C:23:7F:ED:A6:65"` | | -| daps.connectors[0].name | string | `"sokrates"` | | -| daps.paths.jwks | string | `"/jwks.json"` | | -| daps.paths.token | string | `"/token"` | | -| daps.url | string | `"http://{{ .Release.Name }}-daps:4567"` | | | fullnameOverride | string | `""` | | | imagePullSecrets | list | `[]` | Existing image pull secret to use to [obtain the container image from private registries](https://kubernetes.io/docs/concepts/containers/images/#using-a-private-registry) | | nameOverride | string | `""` | | -| participant.id | string | `""` | BPN Number | +| participant.id | string | `"BPNLCHANGEME"` | BPN Number | | runtime.affinity | object | `{}` | | | runtime.autoscaling.enabled | bool | `false` | Enables [horizontal pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | | runtime.autoscaling.maxReplicas | int | `100` | Maximum replicas if resource consumption exceeds resource threshholds | @@ -77,15 +69,15 @@ helm install my-release tractusx-edc/tractusx-connector-memory --version 0.5.1 \ | runtime.debug.enabled | bool | `false` | | | runtime.debug.port | int | `1044` | | | runtime.debug.suspendOnStart | bool | `false` | | -| runtime.endpoints | object | `{"control":{"path":"/control","port":8083},"default":{"path":"/api","port":8080},"management":{"authKey":"","path":"/management","port":8081},"protocol":{"path":"/api/v1/dsp","port":8084},"proxy":{"path":"/proxy","port":8186},"public":{"path":"/api/public","port":8086},"validation":{"path":"/validation","port":8082}}` | endpoints of the control plane | +| runtime.endpoints | object | `{"control":{"path":"/control","port":8083},"default":{"path":"/api","port":8080},"management":{"authKey":"password","path":"/management","port":8081},"protocol":{"path":"/api/v1/dsp","port":8084},"proxy":{"path":"/proxy","port":8186},"public":{"path":"/api/public","port":8086},"validation":{"path":"/validation","port":8082}}` | endpoints of the control plane | | runtime.endpoints.control | object | `{"path":"/control","port":8083}` | control api, used for internal control calls. can be added to the internal ingress, but should probably not | | runtime.endpoints.control.path | string | `"/control"` | path for incoming api calls | | runtime.endpoints.control.port | int | `8083` | port for incoming api calls | | runtime.endpoints.default | object | `{"path":"/api","port":8080}` | default api for health checks, should not be added to any ingress | | runtime.endpoints.default.path | string | `"/api"` | path for incoming api calls | | runtime.endpoints.default.port | int | `8080` | port for incoming api calls | -| runtime.endpoints.management | object | `{"authKey":"","path":"/management","port":8081}` | data management api, used by internal users, can be added to an ingress and must not be internet facing | -| runtime.endpoints.management.authKey | string | `""` | authentication key, must be attached to each 'X-Api-Key' request header | +| runtime.endpoints.management | object | `{"authKey":"password","path":"/management","port":8081}` | data management api, used by internal users, can be added to an ingress and must not be internet facing | +| runtime.endpoints.management.authKey | string | `"password"` | authentication key, must be attached to each 'X-Api-Key' request header | | runtime.endpoints.management.path | string | `"/management"` | path for incoming api calls | | runtime.endpoints.management.port | int | `8081` | port for incoming api calls | | runtime.endpoints.protocol | object | `{"path":"/api/v1/dsp","port":8084}` | dsp api, used for inter connector communication and must be internet facing | diff --git a/charts/tractusx-connector-memory/values.yaml b/charts/tractusx-connector-memory/values.yaml index d22884373..9e65fefb4 100644 --- a/charts/tractusx-connector-memory/values.yaml +++ b/charts/tractusx-connector-memory/values.yaml @@ -32,7 +32,7 @@ customLabels: {} participant: # -- BPN Number - id: "" + id: "BPNLCHANGEME" # -- Add custom ca certificates to the truststore customCaCerts: {} @@ -90,7 +90,7 @@ runtime: # -- path for incoming api calls path: /management # -- authentication key, must be attached to each 'X-Api-Key' request header - authKey: "" + authKey: "password" # -- validation api, only used by the data plane and should not be added to any ingress validation: # -- port for incoming api calls @@ -298,21 +298,9 @@ vault: transferProxyTokenEncryptionAesKey: transfer-proxy-token-encryption-aes-key server: postStart: |- -daps: - url: "http://{{ .Release.Name }}-daps:4567" - clientId: "" - paths: - jwks: /jwks.json - token: /token - connectors: - - id: E7:07:2D:74:56:66:31:F0:7B:10:EA:B6:03:06:4C:23:7F:ED:A6:65:keyid:E7:07:2D:74:56:66:31:F0:7B:10:EA:B6:03:06:4C:23:7F:ED:A6:65 - name: sokrates - attributes: - referringConnector: http://sokrates-controlplane/BPNSOKRATES - # Must be the same certificate that is stores in section 'sokrates-vault' - certificate: "" # must be set externally! backendService: - httpProxyTokenReceiverUrl: "" + # -- Specifies a backend service which will receive the EDR + httpProxyTokenReceiverUrl: "https://example.com" serviceAccount: # Specifies whether a service account should be created create: true diff --git a/charts/tractusx-connector/README.md b/charts/tractusx-connector/README.md index a37af885e..4ec4ba4c6 100644 --- a/charts/tractusx-connector/README.md +++ b/charts/tractusx-connector/README.md @@ -61,7 +61,7 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.5.1 \ | Key | Type | Default | Description | |-----|------|---------|-------------| -| backendService.httpProxyTokenReceiverUrl | string | `""` | | +| backendService.httpProxyTokenReceiverUrl | string | `"https://example.com"` | Specifies a backend service which will receive the EDR | | controlplane.affinity | object | `{}` | | | controlplane.autoscaling.enabled | bool | `false` | Enables [horizontal pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | | controlplane.autoscaling.maxReplicas | int | `100` | Maximum replicas if resource consumption exceeds resource threshholds | @@ -72,15 +72,15 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.5.1 \ | controlplane.debug.enabled | bool | `false` | | | controlplane.debug.port | int | `1044` | | | controlplane.debug.suspendOnStart | bool | `false` | | -| controlplane.endpoints | object | `{"control":{"path":"/control","port":8083},"default":{"path":"/api","port":8080},"management":{"authKey":"","path":"/management","port":8081},"metrics":{"path":"/metrics","port":9090},"protocol":{"path":"/api/v1/dsp","port":8084}}` | endpoints of the control plane | +| controlplane.endpoints | object | `{"control":{"path":"/control","port":8083},"default":{"path":"/api","port":8080},"management":{"authKey":"password","path":"/management","port":8081},"metrics":{"path":"/metrics","port":9090},"protocol":{"path":"/api/v1/dsp","port":8084}}` | endpoints of the control plane | | controlplane.endpoints.control | object | `{"path":"/control","port":8083}` | control api, used for internal control calls. can be added to the internal ingress, but should probably not | | controlplane.endpoints.control.path | string | `"/control"` | path for incoming api calls | | controlplane.endpoints.control.port | int | `8083` | port for incoming api calls | | controlplane.endpoints.default | object | `{"path":"/api","port":8080}` | default api for health checks, should not be added to any ingress | | controlplane.endpoints.default.path | string | `"/api"` | path for incoming api calls | | controlplane.endpoints.default.port | int | `8080` | port for incoming api calls | -| controlplane.endpoints.management | object | `{"authKey":"","path":"/management","port":8081}` | data management api, used by internal users, can be added to an ingress and must not be internet facing | -| controlplane.endpoints.management.authKey | string | `""` | authentication key, must be attached to each 'X-Api-Key' request header | +| controlplane.endpoints.management | object | `{"authKey":"password","path":"/management","port":8081}` | data management api, used by internal users, can be added to an ingress and must not be internet facing | +| controlplane.endpoints.management.authKey | string | `"password"` | authentication key, must be attached to each 'X-Api-Key' request header | | controlplane.endpoints.management.path | string | `"/management"` | path for incoming api calls | | controlplane.endpoints.management.port | int | `8081` | port for incoming api calls | | controlplane.endpoints.metrics | object | `{"path":"/metrics","port":9090}` | metrics api, used for application metrics, must not be internet facing | @@ -178,7 +178,7 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.5.1 \ | dataplane.endpoints.default.port | int | `8080` | | | dataplane.endpoints.metrics.path | string | `"/metrics"` | | | dataplane.endpoints.metrics.port | int | `9090` | | -| dataplane.endpoints.proxy.authKey | string | `""` | | +| dataplane.endpoints.proxy.authKey | string | `"password"` | | | dataplane.endpoints.proxy.path | string | `"/proxy"` | | | dataplane.endpoints.proxy.port | int | `8186` | | | dataplane.endpoints.public.path | string | `"/api/public"` | | @@ -247,7 +247,7 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.5.1 \ | networkPolicy.dataplane | object | `{"from":[{"namespaceSelector":{}}]}` | Configuration of the dataplane component | | networkPolicy.dataplane.from | list | `[{"namespaceSelector":{}}]` | Specify from rule network policy for dp (defaults to all namespaces) | | networkPolicy.enabled | bool | `false` | If `true` network policy will be created to restrict access to control- and dataplane | -| participant.id | string | `""` | BPN Number | +| participant.id | string | `"BPNLCHANGEME"` | BPN Number | | postgresql.auth.database | string | `"edc"` | | | postgresql.auth.password | string | `"password"` | | | postgresql.auth.username | string | `"user"` | | @@ -265,7 +265,7 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.5.1 \ | vault.hashicorp.paths.health | string | `"/v1/sys/health"` | | | vault.hashicorp.paths.secret | string | `"/v1/secret"` | | | vault.hashicorp.timeout | int | `30` | | -| vault.hashicorp.token | string | `""` | | +| vault.hashicorp.token | string | `"root"` | | | vault.hashicorp.url | string | `"http://{{ .Release.Name }}-vault:8200"` | | | vault.injector.enabled | bool | `false` | | | vault.secretNames.transferProxyTokenEncryptionAesKey | string | `"transfer-proxy-token-encryption-aes-key"` | | diff --git a/charts/tractusx-connector/values.yaml b/charts/tractusx-connector/values.yaml index 204e41c52..0a4ec6074 100644 --- a/charts/tractusx-connector/values.yaml +++ b/charts/tractusx-connector/values.yaml @@ -38,7 +38,7 @@ customLabels: {} participant: # -- BPN Number - id: "" + id: "BPNLCHANGEME" controlplane: image: @@ -94,7 +94,7 @@ controlplane: # -- path for incoming api calls path: /management # -- authentication key, must be attached to each 'X-Api-Key' request header - authKey: "" + authKey: "password" # -- control api, used for internal control calls. can be added to the internal ingress, but should probably not control: # -- port for incoming api calls @@ -352,7 +352,7 @@ dataplane: proxy: port: 8186 path: /proxy - authKey: "" + authKey: "password" metrics: port: 9090 path: /metrics @@ -512,7 +512,7 @@ vault: postStart: # must be set externally! hashicorp: url: "http://{{ .Release.Name }}-vault:8200" - token: "" + token: "root" timeout: 30 healthCheck: enabled: true @@ -525,7 +525,8 @@ vault: transferProxyTokenSignerPublicKey: transferProxyTokenEncryptionAesKey: transfer-proxy-token-encryption-aes-key backendService: - httpProxyTokenReceiverUrl: "" + # -- Specifies a backend service which will receive the EDR + httpProxyTokenReceiverUrl: "https://example.com" networkPolicy: # -- If `true` network policy will be created to restrict access to control- and dataplane From b17cbc05e9697e2c772177f9fb8845aaa99cf2c3 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Thu, 14 Sep 2023 13:16:59 +0200 Subject: [PATCH 30/60] chore: bump version to 0.6.0-SNAPSHOT (#765) --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 1ea79c439..a516a3bdc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ group=org.eclipse.tractusx.edc -version=0.5.2-SNAPSHOT +version=0.6.0-SNAPSHOT # configure the build: txScmConnection=scm:git:git@github.com:eclipse-tractusx/tractusx-edc.git txWebsiteUrl=https://github.com/eclipse-tractusx/tractusx-edc.git From 3ac36f189d4e497cc12aa6e88938d5986c75181c Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Fri, 15 Sep 2023 09:10:20 +0200 Subject: [PATCH 31/60] feat: add azure dataplane (#755) * feat: add Azure Blob data plane packages * formatting/checkstyle * small test runtime simplification * add test step for dataplane tests * DEPENDENCIES * pr remarks - formatting * pr remarks - constants --- .github/workflows/verify.yaml | 13 +- DEPENDENCIES | 285 ++++++++-------- .../edc-dataplane-base/build.gradle.kts | 1 + .../cloud-transfer-tests/build.gradle.kts | 45 +++ .../transfer/test/AzureBlobHelper.java | 95 ++++++ .../transfer/test/AzureToAzureTest.java | 229 +++++++++++++ .../transfer/test/MultiCloudTest.java | 223 ++++++++++++ .../transfer/test/ParticipantRuntime.java | 71 ++++ .../transfer/test/RuntimeConfig.java | 83 +++++ .../dataplane/transfer/test/S3ToS3Test.java | 280 ++++++++++++++++ .../transfer/test/TestConstants.java | 73 ++++ .../transfer/test/TestFunctions.java | 53 +++ .../src/test/resources/testfile.json | 317 ++++++++++++++++++ .../edc-dataplane-proxy-e2e/build.gradle.kts | 0 .../proxy/e2e/DpfProxyEndToEndTest.java | 2 +- .../dataplane/proxy/e2e/EdrCacheSetup.java | 0 .../dataplane/proxy/e2e/KeyStoreSetup.java | 0 edc-tests/runtime/dataplane-cloud/README.md | 4 + .../runtime/dataplane-cloud/build.gradle.kts | 38 +++ gradle/libs.versions.toml | 13 +- settings.gradle.kts | 6 +- 21 files changed, 1682 insertions(+), 149 deletions(-) create mode 100644 edc-tests/edc-dataplane/cloud-transfer-tests/build.gradle.kts create mode 100644 edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/AzureBlobHelper.java create mode 100644 edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/AzureToAzureTest.java create mode 100644 edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/MultiCloudTest.java create mode 100644 edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/ParticipantRuntime.java create mode 100644 edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/RuntimeConfig.java create mode 100644 edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/S3ToS3Test.java create mode 100644 edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/TestConstants.java create mode 100644 edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/TestFunctions.java create mode 100644 edc-tests/edc-dataplane/cloud-transfer-tests/src/test/resources/testfile.json rename edc-tests/{ => edc-dataplane}/edc-dataplane-proxy-e2e/build.gradle.kts (100%) rename edc-tests/{ => edc-dataplane}/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/DpfProxyEndToEndTest.java (99%) rename edc-tests/{ => edc-dataplane}/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/EdrCacheSetup.java (100%) rename edc-tests/{ => edc-dataplane}/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/KeyStoreSetup.java (100%) create mode 100644 edc-tests/runtime/dataplane-cloud/README.md create mode 100644 edc-tests/runtime/dataplane-cloud/build.gradle.kts diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index dd3f48cd2..2570fdaa8 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -152,6 +152,17 @@ jobs: - name: Run Postgresql E2E tests run: ./gradlew test -DincludeTags="PostgresqlIntegrationTest" -PverboseTest=true + dataplane-tests: + runs-on: ubuntu-latest + needs: [ verify-formatting, verify-license-headers ] + + steps: + - uses: actions/checkout@v3 + - uses: ./.github/actions/setup-java + + - name: Run Azure/S3 dataplane tests + run: ./gradlew -p edc-tests/edc-dataplane test -DincludeTags="AzureCosmosDbIntegrationTest,AwsS3IntegrationTest" + miw-integration-tests: runs-on: ubuntu-latest needs: [ verify-formatting, verify-license-headers ] @@ -183,7 +194,7 @@ jobs: docker exec docker-environment-postgres-1 /opt/seed.sh - name: Run MIW Integration tests - run: | + run: | ./gradlew -p edc-tests/miw-tests test -DincludeTags="MiwIntegrationTest" -PverboseTest=true - name: Run SSI E2E tests run: | diff --git a/DEPENDENCIES b/DEPENDENCIES index ab716079a..4e1875bd8 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -8,10 +8,11 @@ maven/mavencentral/com.azure/azure-core-http-netty/1.13.6, MIT AND Apache-2.0, a maven/mavencentral/com.azure/azure-core/1.41.0, MIT AND Apache-2.0, approved, #9648 maven/mavencentral/com.azure/azure-core/1.42.0, MIT AND Apache-2.0, approved, #10089 maven/mavencentral/com.azure/azure-identity/1.10.0, MIT AND Apache-2.0, approved, #10086 -maven/mavencentral/com.azure/azure-identity/1.9.2, MIT AND Apache-2.0, approved, #9686 maven/mavencentral/com.azure/azure-json/1.0.1, MIT AND Apache-2.0, approved, #7933 -maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.6.4, MIT, approved, #7940 maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.6.5, MIT, approved, #7940 +maven/mavencentral/com.azure/azure-storage-blob/12.23.0, MIT, approved, #9632 +maven/mavencentral/com.azure/azure-storage-common/12.22.0, MIT, approved, #9645 +maven/mavencentral/com.azure/azure-storage-internal-avro/12.8.0, MIT, approved, #9630 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.3, Apache-2.0, approved, clearlydefined maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.13.5, Apache-2.0, approved, clearlydefined @@ -28,6 +29,7 @@ maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.14.1, Apache-2. 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.2, 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-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-yaml/2.13.3, Apache-2.0, approved, #2566 @@ -46,11 +48,8 @@ maven/mavencentral/com.fasterxml.jackson.module/jackson-module-jakarta-xmlbind-a maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.14.2, Apache-2.0, approved, #7931 maven/mavencentral/com.fasterxml.jackson/jackson-bom/2.15.2, 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.0, Apache-2.0, approved, #10346 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.0, 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.3, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #7946 -maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.0, Apache-2.0, approved, #7942 maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.3, 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 @@ -64,7 +63,6 @@ maven/mavencentral/com.google.guava/listenablefuture/9999.0-empty-to-avoid-confl maven/mavencentral/com.google.j2objc/j2objc-annotations/1.3, Apache-2.0, approved, CQ21195 maven/mavencentral/com.google.protobuf/protobuf-java/3.19.6, BSD-3-Clause, approved, clearlydefined maven/mavencentral/com.microsoft.azure/msal4j-persistence-extension/1.2.0, MIT, approved, clearlydefined -maven/mavencentral/com.microsoft.azure/msal4j/1.13.8, MIT, approved, clearlydefined maven/mavencentral/com.microsoft.azure/msal4j/1.13.9, MIT, approved, clearlydefined maven/mavencentral/com.microsoft.azure/msal4j/1.4.0, MIT, approved, clearlydefined maven/mavencentral/com.nimbusds/content-type/2.2, Apache-2.0, approved, clearlydefined @@ -150,7 +148,7 @@ maven/mavencentral/io.swagger.core.v3/swagger-integration/2.2.10, Apache-2.0, ap maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2-jakarta/2.2.2, Apache-2.0, approved, clearlydefined maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2/2.2.10, Apache-2.0, approved, #9814 maven/mavencentral/io.swagger.core.v3/swagger-models-jakarta/2.2.2, Apache-2.0, approved, #5919 -maven/mavencentral/io.swagger.core.v3/swagger-models/2.2.10, LicenseRef-scancode-proprietary-license AND Apache-2.0, restricted, #10354 +maven/mavencentral/io.swagger.core.v3/swagger-models/2.2.10, LicenseRef-scancode-proprietary-license AND Apache-2.0, restricted, #10520 maven/mavencentral/jakarta.activation/jakarta.activation-api/1.2.1, EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jaf maven/mavencentral/jakarta.activation/jakarta.activation-api/2.1.0, EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jaf maven/mavencentral/jakarta.annotation/jakarta.annotation-api/2.1.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.ca @@ -203,138 +201,142 @@ 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.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/api-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/api-observability/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-index-sql/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/auth-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/auth-tokenbased/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/autodoc-processor/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/aws-s3-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/boot/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/callback-event-dispatcher/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/callback-http-dispatcher/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/configuration-filesystem/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/connector-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-agreement-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-definition-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-definition-store-sql/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-negotiation-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-negotiation-store-sql/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-api-configuration/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-aggregate-services/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-api-client-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/core-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-aws-s3/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-client/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-framework/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-client/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-util/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-http-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/http-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/http/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/iam-mock/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-micrometer/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-providers/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jetty-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jetty-micrometer/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/json-ld-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/json-ld/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/junit/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jwt-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jwt-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/management-api-configuration/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/management-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/micrometer-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/oauth2-client/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/oauth2-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-definition-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-definition-store-sql/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-engine/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-evaluator/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-model/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-lease/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-pool-apache-commons/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/state-machine/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-local/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-data-plane/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-process-api/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-process-store-sql/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-pull-http-dynamic-receiver/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transform-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transform-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/util/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/validator-core/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/validator-spi/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/vault-azure/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/vault-hashicorp/0.2.1, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/web-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/aggregate-service-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/api-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/api-observability/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/asset-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/asset-index-sql/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/asset-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/auth-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/auth-tokenbased/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/autodoc-processor/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/aws-s3-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/aws-s3-test/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/azure-blob-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/azure-test/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/boot/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/callback-event-dispatcher/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/callback-http-dispatcher/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/catalog-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/catalog-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/catalog-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/configuration-filesystem/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/connector-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-agreement-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-definition-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-definition-store-sql/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-negotiation-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-negotiation-store-sql/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-api-configuration/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-aggregate-services/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-api-client-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/core-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-aws-s3/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-azure-storage/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-client/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-framework/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-selector-client/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-selector-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-selector-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-util/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-http-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/http-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/http/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/iam-mock/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-micrometer/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-providers/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jetty-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jetty-micrometer/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/json-ld-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/json-ld/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/junit/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jwt-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jwt-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/management-api-configuration/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/management-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/micrometer-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/oauth2-client/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/oauth2-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-definition-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-definition-store-sql/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-engine/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-evaluator/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-model/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/sql-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/sql-lease/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/sql-pool-apache-commons/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/state-machine/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-local/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-data-plane/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-process-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-process-store-sql/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-pull-http-dynamic-receiver/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transform-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transform-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/util/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/validator-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/validator-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/vault-azure/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/vault-hashicorp/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/web-spi/0.2.2-20230905-SNAPSHOT, 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.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-common/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-server/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-client/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-common/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-server/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-servlet/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-alpn-client/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-annotations/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-client/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-http/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-io/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-jndi/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-plus/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-security/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-server/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.15, 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.flywaydb/flyway-core/9.22.0, 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 @@ -376,7 +378,9 @@ maven/mavencentral/org.jetbrains/annotations/17.0.0, Apache-2.0, approved, clear maven/mavencentral/org.jetbrains/annotations/24.0.1, Apache-2.0, approved, #7417 maven/mavencentral/org.junit-pioneer/junit-pioneer/2.0.1, EPL-2.0, approved, clearlydefined 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.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.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.platform/junit-platform-commons/1.10.0, EPL-2.0, approved, #9715 maven/mavencentral/org.junit.platform/junit-platform-engine/1.10.0, EPL-2.0, approved, #9709 @@ -410,17 +414,11 @@ maven/mavencentral/org.slf4j/slf4j-api/1.7.35, MIT, approved, CQ13368 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.7, MIT, approved, #5915 maven/mavencentral/org.slf4j/slf4j-api/2.0.9, MIT, approved, #5915 -maven/mavencentral/org.testcontainers/database-commons/1.18.3, MIT, approved, clearlydefined maven/mavencentral/org.testcontainers/database-commons/1.19.0, Apache-2.0, approved, #10345 -maven/mavencentral/org.testcontainers/jdbc/1.18.3, MIT, approved, clearlydefined maven/mavencentral/org.testcontainers/jdbc/1.19.0, Apache-2.0, approved, #10348 -maven/mavencentral/org.testcontainers/junit-jupiter/1.18.3, MIT, approved, #7941 maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, None, restricted, #10344 -maven/mavencentral/org.testcontainers/postgresql/1.18.3, MIT, approved, #9332 maven/mavencentral/org.testcontainers/postgresql/1.19.0, None, restricted, #10350 -maven/mavencentral/org.testcontainers/testcontainers/1.18.3, MIT, approved, #7938 maven/mavencentral/org.testcontainers/testcontainers/1.19.0, None, restricted, #10347 maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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 @@ -458,6 +456,7 @@ maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.123, Apache-2.0, ap maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.144, Apache-2.0, approved, #8635 maven/mavencentral/software.amazon.awssdk/regions/2.20.123, Apache-2.0, approved, #8632 maven/mavencentral/software.amazon.awssdk/regions/2.20.144, Apache-2.0, approved, #8632 +maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.20.144, Apache-2.0, approved, #10521 maven/mavencentral/software.amazon.awssdk/s3/2.20.123, Apache-2.0, approved, #8623 maven/mavencentral/software.amazon.awssdk/s3/2.20.144, Apache-2.0, approved, #8623 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.123, Apache-2.0, approved, #8611 diff --git a/edc-dataplane/edc-dataplane-base/build.gradle.kts b/edc-dataplane/edc-dataplane-base/build.gradle.kts index 03a5ee3db..6c223a758 100644 --- a/edc-dataplane/edc-dataplane-base/build.gradle.kts +++ b/edc-dataplane/edc-dataplane-base/build.gradle.kts @@ -31,6 +31,7 @@ dependencies { runtimeOnly(libs.edc.config.filesystem) runtimeOnly(libs.edc.auth.tokenbased) runtimeOnly(libs.edc.dpf.awss3) + runtimeOnly(libs.edc.dpf.azblob) runtimeOnly(libs.edc.dpf.oauth2) runtimeOnly(libs.edc.dpf.http) diff --git a/edc-tests/edc-dataplane/cloud-transfer-tests/build.gradle.kts b/edc-tests/edc-dataplane/cloud-transfer-tests/build.gradle.kts new file mode 100644 index 000000000..aa7bbb5e7 --- /dev/null +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/build.gradle.kts @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft + * + * 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` +} + +dependencies { + + testImplementation(project(":edc-tests:e2e-tests")) + testImplementation(libs.edc.junit) + testImplementation(libs.restAssured) + + // test runtime config + testImplementation(libs.edc.config.filesystem) + testImplementation(libs.edc.dpf.http) + testImplementation(libs.edc.auth.tokenbased) + testImplementation(libs.testcontainers.junit) + testImplementation(testFixtures(libs.edc.azure.test)) + testImplementation(libs.edc.aws.s3.core) + testImplementation(testFixtures(libs.edc.aws.s3.test)) + testImplementation(libs.aws.s3) + testImplementation(libs.aws.s3transfer) +} + + + diff --git a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/AzureBlobHelper.java b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/AzureBlobHelper.java new file mode 100644 index 000000000..eaa9c9341 --- /dev/null +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/AzureBlobHelper.java @@ -0,0 +1,95 @@ +/* + * + * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft + * + * 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 + * + */ + +package org.eclipse.tractusx.edc.dataplane.transfer.test; + +import com.azure.storage.blob.BlobContainerClient; +import com.azure.storage.blob.BlobServiceClient; +import com.azure.storage.blob.models.BlobItem; +import com.azure.storage.blob.sas.BlobContainerSasPermission; +import com.azure.storage.blob.sas.BlobServiceSasSignatureValues; + +import java.io.IOException; +import java.io.InputStream; +import java.time.OffsetDateTime; +import java.util.List; + +import static org.eclipse.edc.azure.testfixtures.TestFunctions.getBlobServiceClient; + +/** + * Helper class that internally uses Azure SDK classes to create containers, upload blobs, generate SAS tokens, etc. + */ +public class AzureBlobHelper { + private final String accountName; + private final String key; + private final String host; + private final int port; + private BlobServiceClient blobServiceClient; + + public AzureBlobHelper(String accountName, String key, String host, int port) { + this.accountName = accountName; + this.key = key; + this.host = host; + this.port = port; + } + + public BlobContainerClient createContainer(String containerName) { + return blobClient().createBlobContainer(containerName); + } + + private BlobServiceClient blobClient() { + if (blobServiceClient == null) { + var endpoint = "http://%s:%s/%s".formatted(host, port, accountName); + blobServiceClient = getBlobServiceClient(accountName, key, endpoint); + } + return blobServiceClient; + } + + public void uploadBlob(BlobContainerClient client, InputStream inputStream, String targetBlobName) { + client.getBlobClient(targetBlobName).upload(inputStream, true); + } + + public void uploadBlob(BlobContainerClient client, String resourceName) { + try (var is = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourceName)) { + client.getBlobClient(resourceName).upload(is, true); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + public List listBlobs(String container) { + if (blobClient().listBlobContainers().stream().noneMatch(bci -> bci.getName().equalsIgnoreCase(container))) { + return List.of(); + } + return blobClient() + .getBlobContainerClient(container) + .listBlobs() + .stream().map(BlobItem::getName) + .toList(); + } + + public String generateAccountSas(String containerName) { + var expiry = OffsetDateTime.MAX.minusDays(1); + var permissions = BlobContainerSasPermission.parse("w"); + var vals = new BlobServiceSasSignatureValues(expiry, permissions); + return blobClient().getBlobContainerClient(containerName).generateSas(vals); + } +} 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 new file mode 100644 index 000000000..68f8190de --- /dev/null +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/AzureToAzureTest.java @@ -0,0 +1,229 @@ +/* + * + * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft + * + * 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 + * + */ + +package org.eclipse.tractusx.edc.dataplane.transfer.test; + +import io.restassured.http.ContentType; +import org.eclipse.edc.azure.testfixtures.annotations.AzureStorageIntegrationTest; +import org.eclipse.edc.spi.types.domain.transfer.DataFlowRequest; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; +import org.testcontainers.containers.FixedHostPortGenericContainer; +import org.testcontainers.junit.jupiter.Container; +import org.testcontainers.junit.jupiter.Testcontainers; + +import java.io.FileInputStream; +import java.io.IOException; +import java.time.Duration; + +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.AZBLOB_CONSUMER_ACCOUNT_KEY; +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.AZBLOB_PROVIDER_ACCOUNT_KEY; +import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.AZBLOB_PROVIDER_ACCOUNT_NAME; +import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.AZBLOB_PROVIDER_CONTAINER_NAME; +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.isA; +import static org.mockito.Mockito.verify; +import static org.testcontainers.shaded.org.awaitility.Awaitility.await; + +/** + * This test is intended to verify transfers within the same cloud provider, i.e. AzureBlob-to-AzureBlob. + * It spins up a fully-fledged dataplane and issues the DataFlowRequest via the data plane's Control API + */ +@SuppressWarnings("resource") +@Testcontainers +@AzureStorageIntegrationTest +public class AzureToAzureTest { + private static final int PROVIDER_CONTROL_PORT = getFreePort(); + + private static final int AZURITE_HOST_PORT = getFreePort(); + // launches the data plane + @RegisterExtension + protected static final ParticipantRuntime DATAPLANE_RUNTIME = new ParticipantRuntime( + ":edc-tests:runtime:dataplane-cloud", + "AzureBlob-Dataplane", + RuntimeConfig.Azure.createDataplane("/control", PROVIDER_CONTROL_PORT, AZURITE_HOST_PORT) + ); + /** + * Currently we have to use one container to host both consumer and provider accounts, because we cannot handle + * two different endpoint templates for provider and consumer. Endpoint templates are configured globally. + * Also, the host-port must be fixed/deterministic, as the {@code PROVIDER_RUNTIME} needs to know it in advance + */ + @Container + private final FixedHostPortGenericContainer azuriteContainer = new FixedHostPortGenericContainer<>(AZURITE_DOCKER_IMAGE) + .withFixedExposedPort(AZURITE_HOST_PORT, AZURITE_CONTAINER_PORT) + .withEnv("AZURITE_ACCOUNTS", AZBLOB_PROVIDER_ACCOUNT_NAME + ":" + AZBLOB_PROVIDER_ACCOUNT_KEY + ";" + AZBLOB_CONSUMER_ACCOUNT_NAME + ":" + AZBLOB_CONSUMER_ACCOUNT_KEY); + private AzureBlobHelper providerBlobHelper; + private AzureBlobHelper consumerBlobHelper; + + @BeforeEach + void setup() { + providerBlobHelper = new AzureBlobHelper(AZBLOB_PROVIDER_ACCOUNT_NAME, AZBLOB_PROVIDER_ACCOUNT_KEY, azuriteContainer.getHost(), azuriteContainer.getMappedPort(AZURITE_CONTAINER_PORT)); + consumerBlobHelper = new AzureBlobHelper(AZBLOB_CONSUMER_ACCOUNT_NAME, AZBLOB_CONSUMER_ACCOUNT_KEY, azuriteContainer.getHost(), azuriteContainer.getMappedPort(AZURITE_CONTAINER_PORT)); + } + + @Test + void transferFile_success() { + // upload file to provider's blob store + var bcc = providerBlobHelper.createContainer(AZBLOB_PROVIDER_CONTAINER_NAME); + providerBlobHelper.uploadBlob(bcc, TESTFILE_NAME); + + // create container in consumer's blob store + consumerBlobHelper.createContainer(AZBLOB_CONSUMER_CONTAINER_NAME); + + DATAPLANE_RUNTIME.getVault().storeSecret(AZBLOB_PROVIDER_KEY_ALIAS, AZBLOB_PROVIDER_ACCOUNT_KEY); + DATAPLANE_RUNTIME.getVault().storeSecret(AZBLOB_CONSUMER_KEY_ALIAS, """ + {"sas": "%s","edctype":"dataspaceconnector:azuretoken"} + """.formatted(consumerBlobHelper.generateAccountSas(AZBLOB_CONSUMER_CONTAINER_NAME))); + + var request = createFlowRequest(TESTFILE_NAME); + + var url = "http://localhost:%s/control/transfer".formatted(PROVIDER_CONTROL_PORT); + + given().when() + .baseUri(url) + .contentType(ContentType.JSON) + .body(request) + .post() + .then() + .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)); + + } + + /** + * This method is used to transfer a large sparse file from the provider's blob store to the consumer's blob store. It follows the following steps: + *
    + *
  1. Uploads the file to the provider's blob store.
  2. + *
  3. Creates a random binary file of size greater than 1GB.
  4. + *
  5. Uploads the large file to the provider's blob store.
  6. + *
  7. Creates a container in the consumer's blob store.
  8. + *
  9. Creates a flow request with the given blob name.
  10. + *
  11. Waits for the transfer to complete by polling the consumer's blob store for the existence of the transferred blob.
  12. + *
+ */ + @ParameterizedTest(name = "File size bytes: {0}") + // 1mb, 512mb, 1gb + @ValueSource(longs = {1024 * 1024 * 512, 1024L * 1024L * 1024L, /*1024L * 1024L * 1024L * 1024 takes extremely long!*/}) + void transferFile_largeFile(long sizeBytes) throws IOException { + // upload file to provider's blob store + var bcc = providerBlobHelper.createContainer(AZBLOB_PROVIDER_CONTAINER_NAME); + + // create random binary file of >1gb in size + var blobName = "largeblob.bin"; + var f = createSparseFile(sizeBytes); + providerBlobHelper.uploadBlob(bcc, new FileInputStream(f), blobName); + + // create container in consumer's blob store + consumerBlobHelper.createContainer(AZBLOB_CONSUMER_CONTAINER_NAME); + + DATAPLANE_RUNTIME.getVault().storeSecret(AZBLOB_PROVIDER_KEY_ALIAS, AZBLOB_PROVIDER_ACCOUNT_KEY); + DATAPLANE_RUNTIME.getVault().storeSecret(AZBLOB_CONSUMER_KEY_ALIAS, """ + {"sas": "%s","edctype":"dataspaceconnector:azuretoken"} + """.formatted(consumerBlobHelper.generateAccountSas(AZBLOB_CONSUMER_CONTAINER_NAME))); + + var request = createFlowRequest(blobName); + + var url = "http://localhost:%s/control/transfer".formatted(PROVIDER_CONTROL_PORT); + + given().when() + .baseUri(url) + .contentType(ContentType.JSON) + .body(request) + .post() + .then() + .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)); + + } + + @Test + void transferFile_targetContainerNotExist_shouldFail() { + // upload file to provider's blob store + var bcc = providerBlobHelper.createContainer(AZBLOB_PROVIDER_CONTAINER_NAME); + providerBlobHelper.uploadBlob(bcc, TESTFILE_NAME); + + // do NOT create container in consumer's blob store + + DATAPLANE_RUNTIME.getVault().storeSecret(AZBLOB_PROVIDER_KEY_ALIAS, AZBLOB_PROVIDER_ACCOUNT_KEY); + DATAPLANE_RUNTIME.getVault().storeSecret(AZBLOB_CONSUMER_KEY_ALIAS, """ + {"sas": "%s","edctype":"dataspaceconnector:azuretoken"} + """.formatted(consumerBlobHelper.generateAccountSas(AZBLOB_CONSUMER_CONTAINER_NAME))); + + var request = createFlowRequest(TESTFILE_NAME); + + var url = "http://localhost:%s/control/transfer".formatted(PROVIDER_CONTROL_PORT); + + given().when() + .baseUri(url) + .contentType(ContentType.JSON) + .body(request) + .post() + .then() + .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))); + } + + private DataFlowRequest createFlowRequest(String blobName) { + return DataFlowRequest.Builder.newInstance() + .id("test-request") + .sourceDataAddress(blobSourceAddress(blobName)) + .destinationDataAddress(blobDestinationAddress(blobName)) + .processId("test-process-id") + .trackable(false) + .build(); + } + +} 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 new file mode 100644 index 000000000..b3b366cb0 --- /dev/null +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/MultiCloudTest.java @@ -0,0 +1,223 @@ +/* + * + * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft + * + * 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 + * + */ + +package org.eclipse.tractusx.edc.dataplane.transfer.test; + +import io.restassured.http.ContentType; +import org.eclipse.edc.aws.s3.AwsClientProviderConfiguration; +import org.eclipse.edc.aws.s3.AwsClientProviderImpl; +import org.eclipse.edc.aws.s3.S3BucketSchema; +import org.eclipse.edc.aws.s3.S3ClientRequest; +import org.eclipse.edc.aws.s3.testfixtures.annotations.AwsS3IntegrationTest; +import org.eclipse.edc.azure.testfixtures.annotations.AzureStorageIntegrationTest; +import org.eclipse.edc.junit.testfixtures.TestUtils; +import org.eclipse.edc.spi.types.domain.DataAddress; +import org.eclipse.edc.spi.types.domain.transfer.DataFlowRequest; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; +import org.testcontainers.containers.FixedHostPortGenericContainer; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.junit.jupiter.Container; +import org.testcontainers.junit.jupiter.Testcontainers; +import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.model.CreateBucketRequest; +import software.amazon.awssdk.services.s3.model.PutObjectRequest; + +import java.net.URI; +import java.time.Duration; +import java.util.UUID; + +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.AZBLOB_CONSUMER_ACCOUNT_KEY; +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; +import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.S3_CONSUMER_BUCKET_NAME; +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.TestFunctions.listObjects; +import static org.testcontainers.shaded.org.awaitility.Awaitility.await; + +@Testcontainers +@AzureStorageIntegrationTest +@AwsS3IntegrationTest +public class MultiCloudTest { + // S3 test constants + public static final String REGION = Region.US_WEST_2.id(); + public static final String BUCKET_NAME = S3_CONSUMER_BUCKET_NAME; + 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; + private static final int AZURITE_HOST_PORT = getFreePort(); + private static final String BLOB_CONTAINER_NAME = AZBLOB_CONSUMER_CONTAINER_NAME; + + // General constants, containers etc. + private static final int PROVIDER_CONTROL_PORT = getFreePort(); // port of the control api + @RegisterExtension + protected static final ParticipantRuntime DATAPLANE_RUNTIME = new ParticipantRuntime( + ":edc-tests:runtime:dataplane-cloud", + "MultiCloud-Dataplane", + RuntimeConfig.Azure.createDataplane("/control", PROVIDER_CONTROL_PORT, AZURITE_HOST_PORT) + ); + + @Container + private final GenericContainer s3Container = new GenericContainer<>(MINIO_DOCKER_IMAGE) + .withEnv("MINIO_ROOT_USER", ACCESS_KEY_ID) + .withEnv("MINIO_ROOT_PASSWORD", SECRET_ACCESS_KEY) + .withExposedPorts(MINIO_CONTAINER_PORT); + + @Container + private final FixedHostPortGenericContainer azuriteContainer = new FixedHostPortGenericContainer<>(TestConstants.AZURITE_DOCKER_IMAGE) + .withFixedExposedPort(AZURITE_HOST_PORT, 10000) + .withEnv("AZURITE_ACCOUNTS", BLOB_ACCOUNT_NAME + ":" + BLOB_ACCOUNT_KEY); + + private AzureBlobHelper blobStoreHelper; + private S3Client s3Client; + private String s3EndpointOverride; + + @BeforeEach + void setup() { + blobStoreHelper = new AzureBlobHelper(BLOB_ACCOUNT_NAME, BLOB_ACCOUNT_KEY, azuriteContainer.getHost(), azuriteContainer.getMappedPort(10000)); + s3EndpointOverride = "http://localhost:%s/".formatted(s3Container.getMappedPort(MINIO_CONTAINER_PORT)); + var providerConfig = AwsClientProviderConfiguration.Builder.newInstance() + .endpointOverride(URI.create(s3EndpointOverride)) + .credentialsProvider(() -> AwsBasicCredentials.create(ACCESS_KEY_ID, SECRET_ACCESS_KEY)) + .build(); + s3Client = new AwsClientProviderImpl(providerConfig).s3Client(S3ClientRequest.from(REGION, s3EndpointOverride)); + } + + @Test + void transferFile_azureToS3() { + // create container in Azure Blob, upload file + var bcc = blobStoreHelper.createContainer(BLOB_CONTAINER_NAME); + blobStoreHelper.uploadBlob(bcc, TESTFILE_NAME); + DATAPLANE_RUNTIME.getVault().storeSecret(BLOB_KEY_ALIAS, BLOB_ACCOUNT_KEY); + + // create target bucket in S3 + var r = s3Client.createBucket(CreateBucketRequest.builder().bucket(BUCKET_NAME).build()); + assertThat(r.sdkHttpResponse().isSuccessful()).isTrue(); + + // create data flow request + var dfr = DataFlowRequest.Builder.newInstance() + .id("test-request") + .sourceDataAddress(DataAddress.Builder.newInstance() + .type("AzureStorage") + .property("container", BLOB_CONTAINER_NAME) + .property("account", BLOB_ACCOUNT_NAME) + .property("keyName", BLOB_KEY_ALIAS) + .property("blobname", TESTFILE_NAME) + .build() + ) + .destinationDataAddress(DataAddress.Builder.newInstance() + .type(S3BucketSchema.TYPE) + .keyName(TESTFILE_NAME) + .property(S3BucketSchema.REGION, REGION) + .property(S3BucketSchema.BUCKET_NAME, BUCKET_NAME) + .property(S3BucketSchema.ACCESS_KEY_ID, ACCESS_KEY_ID) + .property(S3BucketSchema.SECRET_ACCESS_KEY, SECRET_ACCESS_KEY) + .property(S3BucketSchema.ENDPOINT_OVERRIDE, s3EndpointOverride) + .build() + ) + .processId("test-process-id") + .trackable(false) + .build(); + + var url = "http://localhost:%s/control/transfer".formatted(PROVIDER_CONTROL_PORT); + given().when() + .baseUri(url) + .contentType(ContentType.JSON) + .body(dfr) + .post() + .then() + .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))); + } + + @Test + void transferFile_s3ToAzure() { + // create source bucket in S3, upload file + var b1 = s3Client.createBucket(CreateBucketRequest.builder().bucket(BUCKET_NAME).build()); + assertThat(b1.sdkHttpResponse().isSuccessful()).isTrue(); + var putResponse = s3Client.putObject(PutObjectRequest.builder().bucket(BUCKET_NAME).key(TESTFILE_NAME).build(), TestUtils.getFileFromResourceName(TESTFILE_NAME).toPath()); + assertThat(putResponse.sdkHttpResponse().isSuccessful()).isTrue(); + + + // create container in consumer's blob store + blobStoreHelper.createContainer(BLOB_CONTAINER_NAME); + DATAPLANE_RUNTIME.getVault().storeSecret(BLOB_KEY_ALIAS, """ + {"sas": "%s","edctype":"dataspaceconnector:azuretoken"} + """.formatted(blobStoreHelper.generateAccountSas(BLOB_CONTAINER_NAME))); + + + // create data flow request + var dfr = DataFlowRequest.Builder.newInstance() + .id("test-request") + .sourceDataAddress(DataAddress.Builder.newInstance() + .type(S3BucketSchema.TYPE) + .keyName(TESTFILE_NAME) + .property(S3BucketSchema.REGION, REGION) + .property(S3BucketSchema.BUCKET_NAME, BUCKET_NAME) + .property(S3BucketSchema.ACCESS_KEY_ID, ACCESS_KEY_ID) + .property(S3BucketSchema.SECRET_ACCESS_KEY, SECRET_ACCESS_KEY) + .property(S3BucketSchema.ENDPOINT_OVERRIDE, s3EndpointOverride) + .build() + ) + .destinationDataAddress(blobDestinationAddress(TESTFILE_NAME)) + .processId("test-process-id") + .trackable(false) + .build(); + + var url = "http://localhost:%s/control/transfer".formatted(PROVIDER_CONTROL_PORT); + given().when() + .baseUri(url) + .contentType(ContentType.JSON) + .body(dfr) + .post() + .then() + .statusCode(200); + + await().pollInterval(Duration.ofSeconds(2)) + .atMost(Duration.ofSeconds(60)) + .untilAsserted(() -> assertThat(blobStoreHelper.listBlobs(BLOB_CONTAINER_NAME)) + .isNotEmpty() + .contains(TESTFILE_NAME) + .contains(COMPLETION_MARKER)); + } +} diff --git a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/ParticipantRuntime.java b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/ParticipantRuntime.java new file mode 100644 index 000000000..99f25e42d --- /dev/null +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/ParticipantRuntime.java @@ -0,0 +1,71 @@ +/* + * 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.dataplane.transfer.test; + +import org.eclipse.edc.junit.extensions.EdcRuntimeExtension; +import org.eclipse.edc.spi.monitor.ConsoleMonitor; +import org.eclipse.edc.spi.monitor.Monitor; +import org.eclipse.edc.spi.security.Vault; +import org.eclipse.edc.spi.system.ServiceExtension; +import org.eclipse.edc.spi.system.ServiceExtensionContext; +import org.eclipse.edc.spi.system.injection.InjectionContainer; +import org.junit.jupiter.api.extension.AfterAllCallback; +import org.junit.jupiter.api.extension.BeforeAllCallback; +import org.junit.jupiter.api.extension.ExtensionContext; + +import java.util.List; +import java.util.Map; + +import static org.mockito.Mockito.spy; + +public class ParticipantRuntime extends EdcRuntimeExtension implements BeforeAllCallback, AfterAllCallback { + + + public ParticipantRuntime(String moduleName, String runtimeName, Map properties) { + super(moduleName, runtimeName, properties); + var monitor = spy(new ConsoleMonitor(runtimeName, ConsoleMonitor.Level.DEBUG)); + registerServiceMock(Monitor.class, monitor); + } + + @Override + public void beforeTestExecution(ExtensionContext extensionContext) { + //do nothing - we only want to start the runtime once + } + + @Override + public void afterTestExecution(ExtensionContext context) { + } + + @Override + public void beforeAll(ExtensionContext context) throws Exception { + //only run this once + super.beforeTestExecution(context); + } + + @Override + public void afterAll(ExtensionContext context) throws Exception { + super.afterTestExecution(context); + } + + public Vault getVault() { + return getContext().getService(Vault.class); + } + + @Override + protected void bootExtensions(ServiceExtensionContext context, List> serviceExtensions) { + super.bootExtensions(context, serviceExtensions); + } + +} diff --git a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/RuntimeConfig.java b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/RuntimeConfig.java new file mode 100644 index 000000000..bf4587265 --- /dev/null +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/RuntimeConfig.java @@ -0,0 +1,83 @@ +/* + * + * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft + * + * 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 + * + */ + +package org.eclipse.tractusx.edc.dataplane.transfer.test; + +import java.util.HashMap; +import java.util.Map; + +import static org.eclipse.edc.junit.testfixtures.TestUtils.getFreePort; + +/** + * Configuration baseline for Data-Plane e2e tests + */ +public class RuntimeConfig { + /** + * Configures the data plane token endpoint, and all relevant HTTP contexts + */ + public static Map baseConfig(String controlPath, int controlPort) { + return new HashMap<>() { + { + put("edc.dataplane.token.validation.endpoint", "http://token-validation.com"); + put("web.http.path", "/api"); + put("web.http.port", String.valueOf(getFreePort())); + put("web.http.public.path", "/public"); + put("web.http.public.port", String.valueOf(getFreePort())); + put("web.http.consumer.api.path", "/api/consumer"); + put("web.http.consumer.api.port", String.valueOf(getFreePort())); + put("tx.dpf.consumer.proxy.port", String.valueOf(getFreePort())); + put("web.http.control.path", controlPath); + put("web.http.control.port", String.valueOf(controlPort)); + } + }; + } + + /** + * Azure specific configuration, e.g. access credentials, blobstore endpoint templates, etc. + */ + public static class Azure { + /** + * Creates a configuration for a Provider runtime, running Azure ingress and egress + * + * @param controlPath the controlPath of the control API + * @param controlPort the port of the control API + * @param mappedAzuritePort the host port for the Blob endpoint template. + */ + public static Map createDataplane(String controlPath, int controlPort, Integer mappedAzuritePort) { + var base = baseConfig(controlPath, controlPort); + + base.putAll(new HashMap<>() { + { + put("edc.blobstore.endpoint.template", "http://127.0.0.1:" + mappedAzuritePort + "/%s"); + } + }); + return base; + } + } + + public static class S3 { + + public static Map createDataplane(String controlPath, int controlPort) { + return baseConfig(controlPath, controlPort); + } + } +} + 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 new file mode 100644 index 000000000..10a690a00 --- /dev/null +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/S3ToS3Test.java @@ -0,0 +1,280 @@ +/* + * + * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft + * + * 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 + * + */ + +package org.eclipse.tractusx.edc.dataplane.transfer.test; + +import io.restassured.http.ContentType; +import org.eclipse.edc.aws.s3.AwsClientProviderConfiguration; +import org.eclipse.edc.aws.s3.AwsClientProviderImpl; +import org.eclipse.edc.aws.s3.S3BucketSchema; +import org.eclipse.edc.aws.s3.S3ClientRequest; +import org.eclipse.edc.aws.s3.testfixtures.annotations.AwsS3IntegrationTest; +import org.eclipse.edc.junit.testfixtures.TestUtils; +import org.eclipse.edc.spi.types.domain.DataAddress; +import org.eclipse.edc.spi.types.domain.transfer.DataFlowRequest; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.junit.jupiter.Container; +import org.testcontainers.junit.jupiter.Testcontainers; +import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; +import software.amazon.awssdk.core.async.AsyncRequestBody; +import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.model.CreateBucketRequest; +import software.amazon.awssdk.services.s3.model.NoSuchBucketException; +import software.amazon.awssdk.services.s3.model.PutObjectRequest; +import software.amazon.awssdk.transfer.s3.S3TransferManager; +import software.amazon.awssdk.transfer.s3.model.CompletedUpload; +import software.amazon.awssdk.transfer.s3.model.UploadRequest; + +import java.io.File; +import java.net.URI; +import java.time.Duration; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; + +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; +import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.S3_CONSUMER_BUCKET_NAME; +import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.S3_PROVIDER_BUCKET_NAME; +import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.S3_REGION; +import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestConstants.TESTFILE_NAME; +import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestFunctions.createSparseFile; +import static org.eclipse.tractusx.edc.dataplane.transfer.test.TestFunctions.listObjects; +import static org.mockito.ArgumentMatchers.isA; +import static org.mockito.ArgumentMatchers.startsWith; +import static org.mockito.Mockito.verify; +import static org.testcontainers.shaded.org.awaitility.Awaitility.await; + +/** + * This test is intended to verify transfers within the same cloud provider, i.e. S3-to-S3. + * It spins up a fully-fledged dataplane and issues the DataFlowRequest via the data plane's Control API + */ +@Testcontainers +@AwsS3IntegrationTest +public class S3ToS3Test { + private static final String SECRET_ACCESS_KEY = UUID.randomUUID().toString(); // password + private static final int PROVIDER_CONTROL_PORT = getFreePort(); // port of the control api + @RegisterExtension + protected static final ParticipantRuntime DATAPLANE_RUNTIME = new ParticipantRuntime( + ":edc-tests:runtime:dataplane-cloud", + "AwsS3-Dataplane", + RuntimeConfig.S3.createDataplane("/control", PROVIDER_CONTROL_PORT) + ); + @Container + private final GenericContainer providerContainer = new GenericContainer<>(MINIO_DOCKER_IMAGE) + .withEnv("MINIO_ROOT_USER", S3_ACCESS_KEY_ID) + .withEnv("MINIO_ROOT_PASSWORD", SECRET_ACCESS_KEY) + .withExposedPorts(MINIO_CONTAINER_PORT); + + @Container + private final GenericContainer consumerContainer = new GenericContainer<>(MINIO_DOCKER_IMAGE) + .withEnv("MINIO_ROOT_USER", S3_ACCESS_KEY_ID) + .withEnv("MINIO_ROOT_PASSWORD", SECRET_ACCESS_KEY) + .withExposedPorts(MINIO_CONTAINER_PORT); + private S3Client providerClient; + private S3Client consumerClient; + private String providerEndpointOverride; + private String consumerEndpointOverride; + + @BeforeEach + void setup() { + providerEndpointOverride = "http://localhost:%s/".formatted(providerContainer.getMappedPort(MINIO_CONTAINER_PORT)); + var providerConfig = AwsClientProviderConfiguration.Builder.newInstance() + .endpointOverride(URI.create(providerEndpointOverride)) + .credentialsProvider(() -> AwsBasicCredentials.create(S3_ACCESS_KEY_ID, SECRET_ACCESS_KEY)) + .build(); + providerClient = new AwsClientProviderImpl(providerConfig).s3Client(S3ClientRequest.from(S3_REGION, providerEndpointOverride)); + + consumerEndpointOverride = "http://localhost:%s".formatted(consumerContainer.getMappedPort(MINIO_CONTAINER_PORT)); + var consumerConfig = AwsClientProviderConfiguration.Builder.newInstance() + .endpointOverride(URI.create(consumerEndpointOverride)) + .credentialsProvider(() -> AwsBasicCredentials.create(S3_ACCESS_KEY_ID, SECRET_ACCESS_KEY)) + .build(); + consumerClient = new AwsClientProviderImpl(consumerConfig).s3Client(S3ClientRequest.from(S3_REGION, consumerEndpointOverride)); + } + + @Test + void transferFile_success() { + + // create bucket in provider + var b1 = providerClient.createBucket(CreateBucketRequest.builder().bucket(S3_PROVIDER_BUCKET_NAME).build()); + assertThat(b1.sdkHttpResponse().isSuccessful()).isTrue(); + // upload test file in provider + var putResponse = providerClient.putObject(PutObjectRequest.builder().bucket(S3_PROVIDER_BUCKET_NAME).key(TESTFILE_NAME).build(), TestUtils.getFileFromResourceName(TESTFILE_NAME).toPath()); + assertThat(putResponse.sdkHttpResponse().isSuccessful()).isTrue(); + + // create bucket in consumer + var b2 = consumerClient.createBucket(CreateBucketRequest.builder().bucket(S3_CONSUMER_BUCKET_NAME).build()); + assertThat(b2.sdkHttpResponse().isSuccessful()).isTrue(); + + // initiate data flow request + var request = createFlowRequest(); + var url = "http://localhost:%s/control/transfer".formatted(PROVIDER_CONTROL_PORT); + + given().when() + .baseUri(url) + .contentType(ContentType.JSON) + .body(request) + .post() + .then() + .statusCode(200); + + + await().pollInterval(Duration.ofSeconds(2)) + .atMost(Duration.ofSeconds(60)) + .untilAsserted(() -> assertThat(listObjects(consumerClient, S3_CONSUMER_BUCKET_NAME)) + .isNotEmpty() + .contains(TESTFILE_NAME) + .anyMatch(c -> c.endsWith(COMPLETION_MARKER))); + } + + @Test + void transferFile_targetContainerNotExist_shouldFail() { + // create bucket in provider + var b1 = providerClient.createBucket(CreateBucketRequest.builder().bucket(S3_PROVIDER_BUCKET_NAME).build()); + assertThat(b1.sdkHttpResponse().isSuccessful()).isTrue(); + // upload test file in provider + var putResponse = providerClient.putObject(PutObjectRequest.builder().bucket(S3_PROVIDER_BUCKET_NAME).key(TESTFILE_NAME).build(), TestUtils.getFileFromResourceName(TESTFILE_NAME).toPath()); + assertThat(putResponse.sdkHttpResponse().isSuccessful()).isTrue(); + + // do not create bucket in consumer -> will fail! + + // initiate data flow request + var request = createFlowRequest(); + var url = "http://localhost:%s/control/transfer".formatted(PROVIDER_CONTROL_PORT); + + given().when() + .baseUri(url) + .contentType(ContentType.JSON) + .body(request) + .post() + .then() + .statusCode(200); + + + // wait until the data plane logs an exception that it cannot transfer the file + await().pollInterval(Duration.ofSeconds(2)) + .atMost(Duration.ofSeconds(10)) + .untilAsserted(() -> verify(DATAPLANE_RUNTIME.getContext().getMonitor()).severe(startsWith("Error writing the %s object on the %s bucket: The specified bucket does not exist".formatted(TESTFILE_NAME, S3_CONSUMER_BUCKET_NAME)), + isA(NoSuchBucketException.class))); + } + + @ParameterizedTest(name = "File size bytes: {0}") + // 1mb, 512mb, 1gb + @ValueSource(longs = {1024 * 1024 * 512, 1024L * 1024L * 1024L, 1024L * 1024L * 1024L * 1024}) + void transferfile_largeFile(long sizeBytes) { + + // create large sparse file + var file = createSparseFile(sizeBytes); + + // create bucket in provider + var b1 = providerClient.createBucket(CreateBucketRequest.builder().bucket(S3_PROVIDER_BUCKET_NAME).build()); + assertThat(b1.sdkHttpResponse().isSuccessful()).isTrue(); + // upload test file in provider + uploadLargeFile(file, S3_PROVIDER_BUCKET_NAME, TESTFILE_NAME).thenAccept(completedUpload -> { + // create bucket in consumer + var b2 = consumerClient.createBucket(CreateBucketRequest.builder().bucket(S3_CONSUMER_BUCKET_NAME).build()); + assertThat(b2.sdkHttpResponse().isSuccessful()).isTrue(); + + // initiate data flow request + var request = createFlowRequest(); + var url = "http://localhost:%s/control/transfer".formatted(PROVIDER_CONTROL_PORT); + + given().when() + .baseUri(url) + .contentType(ContentType.JSON) + .body(request) + .post() + .then() + .statusCode(200); + + + await().pollInterval(Duration.ofSeconds(2)) + .atMost(Duration.ofSeconds(60)) + .untilAsserted(() -> assertThat(listObjects(consumerClient, S3_CONSUMER_BUCKET_NAME)) + .isNotEmpty() + .contains(TESTFILE_NAME) + .anyMatch(c -> c.endsWith(COMPLETION_MARKER))); + }); + + + } + + private CompletableFuture uploadLargeFile(File file, String bucketName, String fileName) { + + var providerConfig = AwsClientProviderConfiguration.Builder.newInstance() + .endpointOverride(URI.create(providerEndpointOverride)) + .credentialsProvider(() -> AwsBasicCredentials.create(S3_ACCESS_KEY_ID, SECRET_ACCESS_KEY)) + .build(); + var asyncClient = new AwsClientProviderImpl(providerConfig).s3AsyncClient(S3_REGION); + var tm = S3TransferManager.builder() + .s3Client(asyncClient) + .build(); + + // TransferManager processes all transfers asynchronously, + // so this call returns immediately. + var upload = tm.upload(UploadRequest.builder() + .putObjectRequest(PutObjectRequest.builder().key(fileName).bucket(bucketName).build()) + .requestBody(AsyncRequestBody.fromFile(file)) + .build()); + + return upload.completionFuture(); + } + + + private DataFlowRequest createFlowRequest() { + return DataFlowRequest.Builder.newInstance() + .id("test-request") + .sourceDataAddress(DataAddress.Builder.newInstance() + .type(S3BucketSchema.TYPE) + .keyName(TESTFILE_NAME) + .property(S3BucketSchema.REGION, S3_REGION) + .property(S3BucketSchema.BUCKET_NAME, S3_PROVIDER_BUCKET_NAME) + .property(S3BucketSchema.ACCESS_KEY_ID, S3_ACCESS_KEY_ID) + .property(S3BucketSchema.SECRET_ACCESS_KEY, SECRET_ACCESS_KEY) + .property(S3BucketSchema.ENDPOINT_OVERRIDE, providerEndpointOverride) + .build() + ) + .destinationDataAddress(DataAddress.Builder.newInstance() + .type(S3BucketSchema.TYPE) + .keyName(TESTFILE_NAME) + .property(S3BucketSchema.REGION, S3_REGION) + .property(S3BucketSchema.BUCKET_NAME, S3_CONSUMER_BUCKET_NAME) + .property(S3BucketSchema.ACCESS_KEY_ID, S3_ACCESS_KEY_ID) + .property(S3BucketSchema.SECRET_ACCESS_KEY, SECRET_ACCESS_KEY) + .property(S3BucketSchema.ENDPOINT_OVERRIDE, consumerEndpointOverride) + .build() + ) + .processId("test-process-id") + .trackable(false) + .build(); + } + +} 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 new file mode 100644 index 000000000..e500270be --- /dev/null +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/TestConstants.java @@ -0,0 +1,73 @@ +/* + * + * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft + * + * 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 + * + */ + +package org.eclipse.tractusx.edc.dataplane.transfer.test; + +import org.eclipse.edc.spi.types.domain.DataAddress; +import software.amazon.awssdk.regions.Region; + +public class TestConstants { + // AZURE BLOB CONSTANTS + public static final String AZURITE_DOCKER_IMAGE = "mcr.microsoft.com/azure-storage/azurite"; + public static final int AZURITE_CONTAINER_PORT = 10000; + public static final String AZBLOB_PROVIDER_ACCOUNT_NAME = "provider"; + public static final String AZBLOB_PROVIDER_ACCOUNT_KEY = "providerkey"; + public static final String AZBLOB_CONSUMER_ACCOUNT_NAME = "consumer"; + public static final String AZBLOB_CONSUMER_ACCOUNT_KEY = "consumerkey"; + // alias under which the provider key is stored in the vault. must end with -key1 + public static final String AZBLOB_PROVIDER_KEY_ALIAS = "providerkey-key1"; + // alias under which the consumer key is stored in the vault. must end with -key1 + public static final String AZBLOB_CONSUMER_KEY_ALIAS = "consumerkey-key1`"; + public static final String AZBLOB_PROVIDER_CONTAINER_NAME = "src-container"; + public static final String AZBLOB_CONSUMER_CONTAINER_NAME = "dest-container"; + // AMAZON S3 CONSTANTS + public static final String MINIO_DOCKER_IMAGE = "bitnami/minio"; + public static final int MINIO_CONTAINER_PORT = 9000; + public static final String S3_REGION = Region.US_WEST_2.id(); + public static final String S3_PROVIDER_BUCKET_NAME = "provider-bucket"; + public static final String S3_CONSUMER_BUCKET_NAME = "consumer-bucket"; + 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() + .type("AzureStorage") + .property("container", AZBLOB_PROVIDER_CONTAINER_NAME) + .property("account", AZBLOB_PROVIDER_ACCOUNT_NAME) + .property("keyName", AZBLOB_PROVIDER_KEY_ALIAS) + .property("blobname", blobName) + .build(); + } + + public static DataAddress blobDestinationAddress(String blobName) { + return DataAddress.Builder.newInstance() + .type("AzureStorage") + .property("container", AZBLOB_CONSUMER_CONTAINER_NAME) + .property("account", AZBLOB_CONSUMER_ACCOUNT_NAME) + .property("blobname", blobName) + .property("keyName", AZBLOB_CONSUMER_KEY_ALIAS) + .build(); + } + + +} diff --git a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/TestFunctions.java b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/TestFunctions.java new file mode 100644 index 000000000..e3ecbc58b --- /dev/null +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/java/org/eclipse/tractusx/edc/dataplane/transfer/test/TestFunctions.java @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft + * + * 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 + * + */ + +package org.eclipse.tractusx.edc.dataplane.transfer.test; + +import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.model.ListObjectsRequest; +import software.amazon.awssdk.services.s3.model.S3Object; + +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.nio.file.Files; +import java.util.List; + +public class TestFunctions { + public static File createSparseFile(long sizeBytes) { + try { + var name = Files.createTempFile("", ".bin"); + try (var f = new RandomAccessFile(name.toFile(), "rw")) { + f.setLength(sizeBytes); + f.write("foobar".getBytes()); + } + return name.toFile(); + } catch (IOException e) { + throw new RuntimeException(e); + } + + } + + public static List listObjects(S3Client consumerClient, String bucketName) { + var response = consumerClient.listObjects(ListObjectsRequest.builder().bucket(bucketName).build()); + return response.contents().stream().map(S3Object::key).toList(); + } +} diff --git a/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/resources/testfile.json b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/resources/testfile.json new file mode 100644 index 000000000..f2c63e6c6 --- /dev/null +++ b/edc-tests/edc-dataplane/cloud-transfer-tests/src/test/resources/testfile.json @@ -0,0 +1,317 @@ +[ + { + "_id": "64e878422f54f7451fc8ac5a", + "index": 0, + "guid": "58cd89a8-bbc4-49dc-a82c-9e95a17bd09a", + "isActive": true, + "balance": "$2,609.85", + "picture": "http://placehold.it/32x32", + "age": 34, + "eyeColor": "brown", + "name": "Bennett Ward", + "gender": "male", + "company": "ANIVET", + "email": "bennettward@anivet.com", + "phone": "+1 (946) 427-3749", + "address": "800 Nichols Avenue, Wheaton, Arkansas, 5955", + "about": "In ipsum incididunt proident laborum ipsum aliqua veniam minim irure magna. Nisi quis laboris amet ullamco quis reprehenderit dolor fugiat adipisicing aliqua dolor irure. Ut esse ipsum ea incididunt ipsum in Lorem sit ex veniam. Enim do sit sunt consequat eu et cillum Lorem consectetur dolor incididunt. Quis laboris ipsum magna ut officia labore elit. Elit proident eiusmod sunt laboris do aute officia laboris deserunt est ut deserunt.\r\n", + "registered": "2017-08-18T03:46:19 -02:00", + "latitude": 40.471184, + "longitude": -83.133691, + "tags": [ + "veniam", + "consequat", + "sint", + "magna", + "adipisicing", + "eiusmod", + "proident" + ], + "friends": [ + { + "id": 0, + "name": "Marquez Robinson" + }, + { + "id": 1, + "name": "Juliana Yang" + }, + { + "id": 2, + "name": "Mccarthy Wilkins" + } + ], + "greeting": "Hello, Bennett Ward! You have 6 unread messages.", + "favoriteFruit": "banana" + }, + { + "_id": "64e8784201c692a3fe69fa9b", + "index": 1, + "guid": "b58c8f04-7a95-4e49-8a15-e28e31cbfb22", + "isActive": false, + "balance": "$1,141.67", + "picture": "http://placehold.it/32x32", + "age": 36, + "eyeColor": "brown", + "name": "Janette Avery", + "gender": "female", + "company": "ASSURITY", + "email": "janetteavery@assurity.com", + "phone": "+1 (897) 585-2136", + "address": "128 Amersfort Place, Kenmar, Minnesota, 9633", + "about": "Minim eiusmod consequat tempor nisi. Do non tempor tempor cupidatat consequat qui. Dolor consequat non fugiat id ea cillum deserunt labore elit cupidatat exercitation voluptate cillum.\r\n", + "registered": "2017-12-02T06:49:19 -01:00", + "latitude": 34.258782, + "longitude": -21.998249, + "tags": [ + "eiusmod", + "ullamco", + "minim", + "aliqua", + "do", + "cillum", + "Lorem" + ], + "friends": [ + { + "id": 0, + "name": "Cherry Skinner" + }, + { + "id": 1, + "name": "Conner Reyes" + }, + { + "id": 2, + "name": "Parker Gonzalez" + } + ], + "greeting": "Hello, Janette Avery! You have 10 unread messages.", + "favoriteFruit": "strawberry" + }, + { + "_id": "64e87842f52337c981862e8f", + "index": 2, + "guid": "9ff7da8a-d2b0-4096-b8f6-9352806a9e83", + "isActive": false, + "balance": "$1,335.78", + "picture": "http://placehold.it/32x32", + "age": 28, + "eyeColor": "green", + "name": "Dominique Hanson", + "gender": "female", + "company": "VANTAGE", + "email": "dominiquehanson@vantage.com", + "phone": "+1 (989) 447-3926", + "address": "615 Meserole Avenue, Austinburg, California, 1522", + "about": "Incididunt laborum consequat est nulla est ea sint cupidatat duis nostrud elit anim. Dolore enim laboris dolore ullamco cupidatat ipsum enim nulla mollit tempor. Deserunt et aliqua mollit ut do dolore tempor voluptate amet aliquip duis consectetur nulla Lorem. Labore adipisicing enim cupidatat ipsum adipisicing eiusmod consequat eu nostrud culpa. Nostrud velit consectetur non deserunt dolore nostrud duis culpa voluptate deserunt sunt veniam. Proident minim eiusmod nulla officia magna eu exercitation anim. Tempor et irure esse laborum.\r\n", + "registered": "2016-07-27T05:23:38 -02:00", + "latitude": -55.068801, + "longitude": -25.708949, + "tags": [ + "eiusmod", + "in", + "proident", + "et", + "et", + "nisi", + "culpa" + ], + "friends": [ + { + "id": 0, + "name": "Nita Noel" + }, + { + "id": 1, + "name": "Catalina Melendez" + }, + { + "id": 2, + "name": "Williamson Sampson" + } + ], + "greeting": "Hello, Dominique Hanson! You have 1 unread messages.", + "favoriteFruit": "banana" + }, + { + "_id": "64e87842338e5431dbd0b1ea", + "index": 3, + "guid": "a96e773d-5c23-4d9a-adc9-d6a018314b58", + "isActive": false, + "balance": "$1,913.89", + "picture": "http://placehold.it/32x32", + "age": 38, + "eyeColor": "green", + "name": "Wagner Dennis", + "gender": "male", + "company": "AQUAZURE", + "email": "wagnerdennis@aquazure.com", + "phone": "+1 (937) 431-2082", + "address": "445 Montauk Court, Verdi, Northern Mariana Islands, 5384", + "about": "Tempor nulla sint proident mollit cupidatat ea tempor ex. Duis aliqua nulla magna in consequat excepteur consequat ad. Do nisi nulla laboris id est sunt. Elit tempor cupidatat exercitation commodo do cupidatat quis veniam dolor aliqua dolor nulla dolor fugiat.\r\n", + "registered": "2021-04-26T09:52:32 -02:00", + "latitude": 18.451519, + "longitude": -156.122664, + "tags": [ + "eu", + "nostrud", + "pariatur", + "culpa", + "ex", + "proident", + "adipisicing" + ], + "friends": [ + { + "id": 0, + "name": "Beatriz Short" + }, + { + "id": 1, + "name": "Benjamin Cohen" + }, + { + "id": 2, + "name": "Owen Byrd" + } + ], + "greeting": "Hello, Wagner Dennis! You have 2 unread messages.", + "favoriteFruit": "banana" + }, + { + "_id": "64e878424a3a21770faa9e26", + "index": 4, + "guid": "4930409b-db05-4937-af3e-2036a482df12", + "isActive": false, + "balance": "$2,529.52", + "picture": "http://placehold.it/32x32", + "age": 28, + "eyeColor": "brown", + "name": "Atkins Moses", + "gender": "male", + "company": "SKYPLEX", + "email": "atkinsmoses@skyplex.com", + "phone": "+1 (995) 553-2028", + "address": "448 Cumberland Street, Dana, Federated States Of Micronesia, 7392", + "about": "Et ut ea velit labore dolore ad reprehenderit exercitation dolor adipisicing et id ea. Sunt cupidatat consectetur nostrud minim eiusmod nisi. Sint laborum duis tempor elit dolor consectetur cillum.\r\n", + "registered": "2021-04-12T11:23:36 -02:00", + "latitude": -2.638186, + "longitude": -154.242354, + "tags": [ + "dolor", + "officia", + "est", + "nulla", + "aute", + "laboris", + "nulla" + ], + "friends": [ + { + "id": 0, + "name": "Riddle Christian" + }, + { + "id": 1, + "name": "Polly Schultz" + }, + { + "id": 2, + "name": "Livingston Manning" + } + ], + "greeting": "Hello, Atkins Moses! You have 9 unread messages.", + "favoriteFruit": "banana" + }, + { + "_id": "64e87842884162d3c897e7ad", + "index": 5, + "guid": "b3cb202a-6e46-4095-9592-6366f6da3bc9", + "isActive": false, + "balance": "$3,158.74", + "picture": "http://placehold.it/32x32", + "age": 32, + "eyeColor": "blue", + "name": "Tasha Russell", + "gender": "female", + "company": "BALUBA", + "email": "tasharussell@baluba.com", + "phone": "+1 (826) 541-3686", + "address": "335 Amber Street, Advance, Pennsylvania, 8192", + "about": "Non pariatur irure ea ex anim deserunt ea exercitation est. Esse quis aliqua irure est nisi enim eiusmod nisi exercitation ipsum sint enim tempor laboris. Et tempor tempor tempor dolore sunt et incididunt tempor. Laboris aliqua voluptate duis id enim elit et occaecat anim ut aliquip incididunt consequat ex. Commodo cupidatat pariatur est irure commodo incididunt excepteur ex. Culpa Lorem enim eu dolor anim.\r\n", + "registered": "2017-02-14T10:10:26 -01:00", + "latitude": 29.687589, + "longitude": -76.699133, + "tags": [ + "esse", + "et", + "enim", + "irure", + "ipsum", + "irure", + "commodo" + ], + "friends": [ + { + "id": 0, + "name": "Phoebe Lester" + }, + { + "id": 1, + "name": "Tisha Owens" + }, + { + "id": 2, + "name": "Tiffany Pearson" + } + ], + "greeting": "Hello, Tasha Russell! You have 2 unread messages.", + "favoriteFruit": "banana" + }, + { + "_id": "64e878428448c3ea48fb1094", + "index": 6, + "guid": "6542e7cd-bccc-4af2-9975-e52ae75d2362", + "isActive": false, + "balance": "$3,203.36", + "picture": "http://placehold.it/32x32", + "age": 23, + "eyeColor": "blue", + "name": "Iris Hawkins", + "gender": "female", + "company": "ANOCHA", + "email": "irishawkins@anocha.com", + "phone": "+1 (879) 591-2788", + "address": "745 Douglass Street, Thatcher, Washington, 7675", + "about": "Dolore ipsum et est aute laborum fugiat esse nisi enim id. Veniam culpa tempor Lorem aliqua culpa quis. Veniam voluptate velit ea excepteur ullamco laboris cillum enim adipisicing magna dolor id. Dolor ex sunt proident occaecat.\r\n", + "registered": "2022-04-25T05:38:28 -02:00", + "latitude": -9.450379, + "longitude": -67.567812, + "tags": [ + "eu", + "velit", + "cupidatat", + "incididunt", + "pariatur", + "velit", + "Lorem" + ], + "friends": [ + { + "id": 0, + "name": "Araceli Rosales" + }, + { + "id": 1, + "name": "Lynette Huff" + }, + { + "id": 2, + "name": "Medina Nolan" + } + ], + "greeting": "Hello, Iris Hawkins! You have 6 unread messages.", + "favoriteFruit": "banana" + } +] \ No newline at end of file diff --git a/edc-tests/edc-dataplane-proxy-e2e/build.gradle.kts b/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/build.gradle.kts similarity index 100% rename from edc-tests/edc-dataplane-proxy-e2e/build.gradle.kts rename to edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/build.gradle.kts diff --git a/edc-tests/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 similarity index 99% rename from edc-tests/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/DpfProxyEndToEndTest.java rename to edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/DpfProxyEndToEndTest.java index 588f6d698..c1950ee8f 100644 --- a/edc-tests/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 @@ -59,7 +59,7 @@ public class DpfProxyEndToEndTest { public static final String KEYSTORE_PASS = "test123"; - private static final String LAUNCHER_MODULE = ":edc-tests:edc-dataplane-proxy-e2e"; + private static final String LAUNCHER_MODULE = ":edc-tests:edc-dataplane:edc-dataplane-proxy-e2e"; private static final int CONSUMER_HTTP_PORT = getFreePort(); private static final int CONSUMER_PROXY_PORT = getFreePort(); private static final int PRODUCER_HTTP_PORT = getFreePort(); diff --git a/edc-tests/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 similarity index 100% rename from edc-tests/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/EdrCacheSetup.java rename to edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/EdrCacheSetup.java diff --git a/edc-tests/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/KeyStoreSetup.java b/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/KeyStoreSetup.java similarity index 100% rename from edc-tests/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/KeyStoreSetup.java rename to edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/src/test/java/org/eclipse/tractusx/edc/dataplane/proxy/e2e/KeyStoreSetup.java diff --git a/edc-tests/runtime/dataplane-cloud/README.md b/edc-tests/runtime/dataplane-cloud/README.md new file mode 100644 index 000000000..d779a8f8b --- /dev/null +++ b/edc-tests/runtime/dataplane-cloud/README.md @@ -0,0 +1,4 @@ +# Dataplane Runtime for Testing Purposes + +This module provides a dataplane runtime using AWS S3 and Azure Blob Storage packages to test +several variants of cloud transfers. Please only use for testing purposes! diff --git a/edc-tests/runtime/dataplane-cloud/build.gradle.kts b/edc-tests/runtime/dataplane-cloud/build.gradle.kts new file mode 100644 index 000000000..90724a443 --- /dev/null +++ b/edc-tests/runtime/dataplane-cloud/build.gradle.kts @@ -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 + * + */ + +plugins { + `java-library` + id("application") +} + + +dependencies { + + // use basic (all in-mem) data plane + runtimeOnly(project(":edc-dataplane:edc-dataplane-base")) { + exclude("org.eclipse.edc", "api-observability") + } + +// implementation(project(":edc-tests:runtime:extensions")) +} + +application { + mainClass.set("org.eclipse.edc.boot.system.runtime.BaseRuntime") +} + +// do not publish +edcBuild { + publish.set(false) +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a1ac0c9f7..bb508d459 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ format.version = "1.1" [versions] -edc = "0.2.1" +edc = "0.2.2-20230905-SNAPSHOT" postgres = "42.6.0" awaitility = "4.2.0" nimbus = "9.31" @@ -81,6 +81,7 @@ edc-ext-azure-test = { module = "org.eclipse.edc:azure-test", version.ref = "edc edc-ext-jsonld = { module = "org.eclipse.edc:json-ld", version.ref = "edc" } edc-ext-jersey-providers = { module = "org.eclipse.edc:jersey-providers", version.ref = "edc" } + # implementations edc-sql-assetindex = { module = "org.eclipse.edc:asset-index-sql", version.ref = "edc" } edc-sql-contract-definition = { module = "org.eclipse.edc:contract-definition-store-sql", version.ref = "edc" } @@ -94,6 +95,12 @@ edc-sql-pool = { module = "org.eclipse.edc:sql-pool-apache-commons", version.ref # azure stuff edc-azure-vault = { module = "org.eclipse.edc:vault-azure", version.ref = "edc" } edc-azure-identity = { module = "com.azure:azure-identity", version.ref = "azure-identity" } +edc-azure-test = { module = "org.eclipse.edc:azure-test", version.ref = "edc" } + +# EDC aws s3 stuff +edc-aws-s3-core = { module = "org.eclipse.edc:aws-s3-core", version.ref = "edc" } +edc-aws-s3-test = { module = "org.eclipse.edc:aws-s3-test", version.ref = "edc" } +edc-dpf-awss3 = { module = "org.eclipse.edc:data-plane-aws-s3", version.ref = "edc" } # Control Plane implementations edc-controlplane-callback-dispatcher-event = { module = "org.eclipse.edc:callback-event-dispatcher", version.ref = "edc" } @@ -112,7 +119,8 @@ edc-dpf-transfer = { module = "org.eclipse.edc:transfer-data-plane", version.ref edc-dpf-framework = { module = "org.eclipse.edc:data-plane-framework", version.ref = "edc" } edc-dpf-core = { module = "org.eclipse.edc:data-plane-core", version.ref = "edc" } edc-dpf-util = { module = "org.eclipse.edc:data-plane-util", version.ref = "edc" } -edc-dpf-awss3 = { module = "org.eclipse.edc:data-plane-aws-s3", version.ref = "edc" } + +edc-dpf-azblob = { module = "org.eclipse.edc:data-plane-azure-storage", version.ref = "edc" } edc-dpf-http = { module = "org.eclipse.edc:data-plane-http", version.ref = "edc" } edc-dpf-oauth2 = { module = "org.eclipse.edc:data-plane-http-oauth2", version.ref = "edc" } edc-dpf-api = { module = "org.eclipse.edc:data-plane-api", version.ref = "edc" } @@ -141,6 +149,7 @@ apache-sshd-sftp = { module = "org.apache.sshd:sshd-sftp", version.ref = "apache testcontainers-junit = { module = "org.testcontainers:junit-jupiter", version.ref = "testcontainers" } testcontainers-postgres = { module = "org.testcontainers:postgresql", version.ref = "testcontainers" } aws-s3 = { module = "software.amazon.awssdk:s3", version.ref = "aws" } +aws-s3transfer = { module = "software.amazon.awssdk:s3-transfer-manager", version.ref = "aws" } jakarta-rsApi = { module = "jakarta.ws.rs:jakarta.ws.rs-api", version.ref = "rsApi" } jakartaJson = { module = "org.glassfish:jakarta.json", version.ref = "jakarta-json" } jacksonJsonP = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp", version.ref = "jackson" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 86486df88..707cd22b1 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -54,13 +54,16 @@ include("edc-extensions:ssi:ssi-miw-credential-client") include("edc-extensions:ssi:jws2020-crypto-suite") include(":edc-extensions:ssi:ssi-identity-extractor") - +// test modules include(":edc-tests:e2e-tests") include(":edc-tests:miw-tests") include(":edc-tests:runtime:extensions") include(":edc-tests:runtime:runtime-memory") +include(":edc-tests:runtime:dataplane-cloud") include(":edc-tests:runtime:runtime-memory-ssi") include(":edc-tests:runtime:runtime-postgresql") +include(":edc-tests:edc-dataplane:edc-dataplane-proxy-e2e") +include(":edc-tests:edc-dataplane:cloud-transfer-tests") // modules for controlplane artifacts include(":edc-controlplane") @@ -79,7 +82,6 @@ include(":edc-extensions:dataplane-proxy:edc-dataplane-proxy-consumer-api") include(":edc-extensions:dataplane-proxy:edc-dataplane-proxy-provider-spi") include(":edc-extensions:dataplane-proxy:edc-dataplane-proxy-provider-core") include(":edc-extensions:dataplane-proxy:edc-dataplane-proxy-provider-api") -include(":edc-tests:edc-dataplane-proxy-e2e") include(":samples:multi-tenancy") From de975a6652e4d10af6b17aace60508cbaa6b4393 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Fri, 15 Sep 2023 11:06:47 +0200 Subject: [PATCH 32/60] add stalebot (#766) --- .github/ISSUE_TEMPLATE/bug_report.md | 6 +- .github/ISSUE_TEMPLATE/feature_request.md | 31 +++--- .github/workflows/stale-bot.yml | 109 ++++++++++++++++++++++ 3 files changed, 130 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/stale-bot.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 4f74bf45e..611371ec6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -2,7 +2,7 @@ name: Bug report about: Create a report to help us improve title: '' -labels: bug +labels: ["bug", "triage"] assignees: '' --- @@ -28,9 +28,9 @@ _A clear and concise description of what you expected to happen._ _If applicable, add screenshots and/or error messages to help explain your problem._ -## Context Informations +## Context Information -_Add any other context about the probleme here._ +_Add any other context or information about the problem here._ - Used version: [e.g. Commit Hash] - OS: [e.g. Mac OS (M1), Windows, Linux] diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 62c89ee8c..f091eb007 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,23 +1,28 @@ --- -name: Feature request -about: Suggest an idea for this project +name: Feature Request +about: Request a new feature title: '' -labels: enhancement +labels: ['triage', 'enhancement'] assignees: '' --- -_If you are missing a feature or have an idea how to improve this project that should first be -discussed, please feel free to open up a [discussion](https://github.com/eclipse-tractusx/tractusx-edc/discussions/categories/ideas)._ +## WHAT -**Is your feature request related to a problem? Please describe.** -_A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]_ +// describes the desired functionality and how the feature should behave. This should include clear requirements, and a "definition-of-done", i.e. what the result of the issue should be. This is important for concept, documentation or ideation issues -**Describe the solution you'd like** -_A clear and concise description of what you want to happen._ +## WHY +// outlines the motivation, why the feature is desired, and possibly what the impact is if the feature is _not_ +implemented. "Because we need it" is not a sufficient reason! -**Describe alternatives you've considered** -_A clear and concise description of any alternative solutions or features you've considered._ +## HOW -**Additional context** -_Add any other context or screenshots about the feature request here._ +// if possible, outlines a solution proposal + +## FURTHER NOTES + +// anything else you want to outline + +_Please be sure to take a look at +our [contribution guidelines](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/CONTRIBUTING.md) and +our [PR etiquette](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/pr_etiquette.md)._ \ No newline at end of file diff --git a/.github/workflows/stale-bot.yml b/.github/workflows/stale-bot.yml new file mode 100644 index 000000000..2a8ca07f5 --- /dev/null +++ b/.github/workflows/stale-bot.yml @@ -0,0 +1,109 @@ +# +# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# Copyright (c) 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: Close Inactive Issues + +on: + workflow_call: + secrets: + envGH: + required: true + +jobs: + close-issues-in-triage: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - uses: actions/stale@v8 + with: + operations-per-run: 1000 + days-before-issue-stale: 32 # 4 weeks + days-before-issue-close: 14 + stale-issue-label: "stale" + stale-issue-message: "This issue is stale because it has been open for 4 weeks with no activity." + close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." + close-issue-reason: 'not_planned' + days-before-pr-stale: -1 # ignore PRs (overwrite default days-before-stale) + days-before-pr-close: -1 # ignore PRs (overwrite default days-before-close) + remove-issue-stale-when-updated: true + only-labels: 'triage' + repo-token: ${{ github.token }} + + close-issues-with-assignee: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - uses: actions/stale@v8 + with: + operations-per-run: 1000 + days-before-issue-stale: 32 + days-before-issue-close: 7 + stale-issue-label: "stale" + stale-issue-message: "This issue is stale because it has been open for 4 weeks with no activity." + close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale." + close-issue-reason: 'not_planned' + days-before-pr-stale: -1 # ignore PRs (overwrite default days-before-stale) + days-before-pr-close: -1 # ignore PRs (overwrite default days-before-close) + remove-issue-stale-when-updated: true + exempt-issue-labels: bug # ignore issues labelled as bug + repo-token: ${{ github.token }} + + close-issues-without-assignee: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - uses: actions/stale@v8 + with: + operations-per-run: 1000 + days-before-issue-stale: 14 + days-before-issue-close: 7 + stale-issue-label: "stale" + stale-issue-message: "This issue is stale because it has been open for 2 weeks with no activity." + close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale." + close-issue-reason: 'not_planned' + days-before-pr-stale: -1 # ignore PRs (overwrite default days-before-stale) + days-before-pr-close: -1 # ignore PRs (overwrite default days-before-close) + remove-issue-stale-when-updated: true + exempt-all-issue-assignees: true # issues with assignees will be ignored + exempt-issue-labels: bug,triage # ignore issues labelled as bug or triage + repo-token: ${{ github.token }} + + close-inactive-pull-requests: + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: actions/stale@v8 + with: + operations-per-run: 1000 + days-before-issue-stale: -1 # ignore issues (overwrite default days-before-stale) + days-before-issue-close: -1 # ignore issues (overwrite default days-before-close) + stale-pr-label: "stale" + stale-pr-message: "This pull request is stale because it has been open for 7 days with no activity." + close-pr-message: "This pull request was closed because it has been inactive for 7 days since being marked as stale." + days-before-pr-stale: 7 + days-before-pr-close: 7 + remove-pr-stale-when-updated: true + repo-token: ${{ github.token }} From 07c72cc280fcba267542eeca9a284b668c2e8fab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 07:21:44 +0200 Subject: [PATCH 33/60] chore(deps): bump org.flywaydb:flyway-core from 9.22.0 to 9.22.1 (#768) Bumps [org.flywaydb:flyway-core](https://github.com/flyway/flyway) from 9.22.0 to 9.22.1. - [Release notes](https://github.com/flyway/flyway/releases) - [Commits](https://github.com/flyway/flyway/compare/flyway-9.22.0...flyway-9.22.1) --- updated-dependencies: - dependency-name: org.flywaydb:flyway-core 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-extensions/postgresql-migration/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edc-extensions/postgresql-migration/build.gradle.kts b/edc-extensions/postgresql-migration/build.gradle.kts index 479e9edab..0d257e45e 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.0") + implementation("org.flywaydb:flyway-core:9.22.1") } From d7ef52f477a0e8715b9e49c31c8c0b4cfde4cfb9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 07:21:50 +0200 Subject: [PATCH 34/60] chore(deps): bump aws from 2.20.144 to 2.20.149 (#769) Bumps `aws` from 2.20.144 to 2.20.149. Updates `software.amazon.awssdk:s3` from 2.20.144 to 2.20.149 Updates `software.amazon.awssdk:s3-transfer-manager` from 2.20.144 to 2.20.149 --- 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] 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 bb508d459..d1a35a808 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.0" -aws = "2.20.144" +aws = "2.20.149" rsApi = "3.1.0" jupiter = "5.10.0" assertj = "3.24.2" From 4ec29b5489b0629fa4772e9bf123f71aa8fe5840 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 07:21:57 +0200 Subject: [PATCH 35/60] chore(deps): bump com.azure:azure-identity from 1.10.0 to 1.10.1 (#770) Bumps [com.azure:azure-identity](https://github.com/Azure/azure-sdk-for-java) from 1.10.0 to 1.10.1. - [Release notes](https://github.com/Azure/azure-sdk-for-java/releases) - [Commits](https://github.com/Azure/azure-sdk-for-java/compare/azure-core_1.10.0...azure-identity_1.10.1) --- updated-dependencies: - dependency-name: com.azure:azure-identity 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 d1a35a808..3865230fa 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,7 @@ edc = "0.2.2-20230905-SNAPSHOT" postgres = "42.6.0" awaitility = "4.2.0" nimbus = "9.31" -azure-identity = "1.10.0" +azure-identity = "1.10.1" slf4j = "2.0.9" okhttp = "4.11.0" mockwebserver = "5.0.0-alpha.11" From e5d62471095b95c37a6633564749f63bb000e0ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 07:22:07 +0200 Subject: [PATCH 36/60] chore(deps): bump actions/checkout from 3 to 4 (#772) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout 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> --- .github/workflows/verify.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index 2570fdaa8..ee77c7a88 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -157,7 +157,7 @@ jobs: needs: [ verify-formatting, verify-license-headers ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/setup-java - name: Run Azure/S3 dataplane tests From 1412c3a4707b5912d5321c01b043fb61546afbaa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 12:27:50 +0200 Subject: [PATCH 37/60] chore(deps): bump com.nimbusds:nimbus-jose-jwt from 9.31 to 9.34 (#771) * chore(deps): bump com.nimbusds:nimbus-jose-jwt from 9.31 to 9.34 Bumps [com.nimbusds:nimbus-jose-jwt](https://bitbucket.org/connect2id/nimbus-jose-jwt) from 9.31 to 9.34. - [Changelog](https://bitbucket.org/connect2id/nimbus-jose-jwt/src/master/CHANGELOG.txt) - [Commits](https://bitbucket.org/connect2id/nimbus-jose-jwt/branches/compare/9.34..9.31) --- updated-dependencies: - dependency-name: com.nimbusds:nimbus-jose-jwt dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * DEPENDENCIES --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Paul Latzelsperger --- DEPENDENCIES | 60 +++++++++++++++++++++++---------------- gradle/libs.versions.toml | 2 +- 2 files changed, 37 insertions(+), 25 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 4e1875bd8..bd4b88a27 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -5,10 +5,14 @@ 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.5, MIT AND Apache-2.0, approved, #7948 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/1.41.0, MIT AND Apache-2.0, approved, #9648 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, , restricted, clearlydefined maven/mavencentral/com.azure/azure-identity/1.10.0, MIT AND Apache-2.0, approved, #10086 +maven/mavencentral/com.azure/azure-identity/1.10.1, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-json/1.0.1, MIT AND Apache-2.0, approved, #7933 +maven/mavencentral/com.azure/azure-json/1.1.0, , restricted, clearlydefined maven/mavencentral/com.azure/azure-security-keyvault-secrets/4.6.5, MIT, approved, #7940 maven/mavencentral/com.azure/azure-storage-blob/12.23.0, MIT, approved, #9632 maven/mavencentral/com.azure/azure-storage-common/12.22.0, MIT, approved, #9645 @@ -69,6 +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.31, Apache-2.0, approved, clearlydefined +maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.34, , 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 @@ -98,6 +103,7 @@ maven/mavencentral/io.micrometer/micrometer-observation/1.11.3, Apache-2.0, appr maven/mavencentral/io.netty/netty-buffer/4.1.93.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.93.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.93.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.93.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 @@ -112,8 +118,11 @@ maven/mavencentral/io.netty/netty-handler-proxy/4.1.94.Final, Apache-2.0 AND BSD maven/mavencentral/io.netty/netty-handler/4.1.93.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.93.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.93.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.93.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.93.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 @@ -131,8 +140,11 @@ maven/mavencentral/io.opentelemetry.instrumentation/opentelemetry-instrumentatio 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.33, Apache-2.0, approved, #9687 +maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.34, Apache-2.0, approved, #9687 maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.33, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.34, Apache-2.0, approved, clearlydefined maven/mavencentral/io.projectreactor/reactor-core/3.4.30, Apache-2.0, approved, #7517 +maven/mavencentral/io.projectreactor/reactor-core/3.4.31, 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 @@ -337,7 +349,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.0, Apache-2.0, approved, #10349 +maven/mavencentral/org.flywaydb/flyway-core/9.22.1, 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 @@ -417,53 +429,53 @@ 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/jdbc/1.19.0, Apache-2.0, approved, #10348 -maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, None, restricted, #10344 +maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, MIT, approved, #10344 maven/mavencentral/org.testcontainers/postgresql/1.19.0, None, restricted, #10350 -maven/mavencentral/org.testcontainers/testcontainers/1.19.0, None, restricted, #10347 +maven/mavencentral/org.testcontainers/testcontainers/1.19.0, Apache-2.0 AND MIT, approved, #10347 maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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.123, Apache-2.0, approved, #8598 -maven/mavencentral/software.amazon.awssdk/annotations/2.20.144, Apache-2.0, approved, #8598 +maven/mavencentral/software.amazon.awssdk/annotations/2.20.149, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/apache-client/2.20.123, Apache-2.0, approved, #8609 -maven/mavencentral/software.amazon.awssdk/apache-client/2.20.144, Apache-2.0, approved, #8609 +maven/mavencentral/software.amazon.awssdk/apache-client/2.20.149, Apache-2.0, approved, #8609 maven/mavencentral/software.amazon.awssdk/arns/2.20.123, Apache-2.0, approved, #8616 -maven/mavencentral/software.amazon.awssdk/arns/2.20.144, Apache-2.0, approved, #8616 +maven/mavencentral/software.amazon.awssdk/arns/2.20.149, Apache-2.0, approved, #8616 maven/mavencentral/software.amazon.awssdk/auth/2.20.123, Apache-2.0, approved, #8602 -maven/mavencentral/software.amazon.awssdk/auth/2.20.144, Apache-2.0, approved, #8602 +maven/mavencentral/software.amazon.awssdk/auth/2.20.149, Apache-2.0, approved, #8602 maven/mavencentral/software.amazon.awssdk/aws-core/2.20.123, Apache-2.0, approved, #8612 -maven/mavencentral/software.amazon.awssdk/aws-core/2.20.144, Apache-2.0, approved, #8612 +maven/mavencentral/software.amazon.awssdk/aws-core/2.20.149, Apache-2.0, approved, #8612 maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.123, Apache-2.0, approved, #8629 -maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.144, Apache-2.0, approved, #8629 +maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.149, Apache-2.0, approved, #8629 maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.123, Apache-2.0, approved, #8624 -maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.144, Apache-2.0, approved, #8624 +maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.149, Apache-2.0, approved, #8624 maven/mavencentral/software.amazon.awssdk/crt-core/2.20.123, Apache-2.0, approved, #8627 -maven/mavencentral/software.amazon.awssdk/crt-core/2.20.144, Apache-2.0, approved, #8627 +maven/mavencentral/software.amazon.awssdk/crt-core/2.20.149, Apache-2.0, approved, #8627 maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.123, Apache-2.0, approved, #8604 -maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.144, Apache-2.0, approved, #8604 +maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.149, Apache-2.0, approved, #8604 maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.123, Apache-2.0, approved, #8608 -maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.144, Apache-2.0, approved, #8608 +maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.149, Apache-2.0, approved, #8608 maven/mavencentral/software.amazon.awssdk/iam/2.20.123, Apache-2.0, approved, #9271 maven/mavencentral/software.amazon.awssdk/json-utils/2.20.123, Apache-2.0, approved, #8614 -maven/mavencentral/software.amazon.awssdk/json-utils/2.20.144, Apache-2.0, approved, #8614 +maven/mavencentral/software.amazon.awssdk/json-utils/2.20.149, Apache-2.0, approved, #8614 maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.123, Apache-2.0, approved, #8636 -maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.144, Apache-2.0, approved, #8636 +maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.149, Apache-2.0, approved, #8636 maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.123, Apache-2.0, approved, #8613 -maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.144, Apache-2.0, approved, #8613 +maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.149, Apache-2.0, approved, #8613 maven/mavencentral/software.amazon.awssdk/profiles/2.20.123, Apache-2.0, approved, #8600 -maven/mavencentral/software.amazon.awssdk/profiles/2.20.144, Apache-2.0, approved, #8600 +maven/mavencentral/software.amazon.awssdk/profiles/2.20.149, Apache-2.0, approved, #8600 maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.123, Apache-2.0, approved, #8635 -maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.144, Apache-2.0, approved, #8635 +maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.149, Apache-2.0, approved, #8635 maven/mavencentral/software.amazon.awssdk/regions/2.20.123, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/regions/2.20.144, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.20.144, Apache-2.0, approved, #10521 +maven/mavencentral/software.amazon.awssdk/regions/2.20.149, Apache-2.0, approved, #8632 +maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.20.149, Apache-2.0, approved, #10521 maven/mavencentral/software.amazon.awssdk/s3/2.20.123, Apache-2.0, approved, #8623 -maven/mavencentral/software.amazon.awssdk/s3/2.20.144, Apache-2.0, approved, #8623 +maven/mavencentral/software.amazon.awssdk/s3/2.20.149, Apache-2.0, approved, #8623 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.123, Apache-2.0, approved, #8611 -maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.144, Apache-2.0, approved, #8611 +maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.149, Apache-2.0, approved, #8611 maven/mavencentral/software.amazon.awssdk/sts/2.20.123, Apache-2.0, approved, #9269 maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.123, Apache-2.0, approved, #8622 -maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.144, Apache-2.0, approved, #8622 +maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.149, Apache-2.0, approved, #8622 maven/mavencentral/software.amazon.awssdk/utils/2.20.123, Apache-2.0, approved, #8625 -maven/mavencentral/software.amazon.awssdk/utils/2.20.144, Apache-2.0, approved, #8625 +maven/mavencentral/software.amazon.awssdk/utils/2.20.149, 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 3865230fa..1b283774e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ format.version = "1.1" edc = "0.2.2-20230905-SNAPSHOT" postgres = "42.6.0" awaitility = "4.2.0" -nimbus = "9.31" +nimbus = "9.34" azure-identity = "1.10.1" slf4j = "2.0.9" okhttp = "4.11.0" From dcafdda8bd4a4e2c238be277efacafec69674bd4 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Mon, 18 Sep 2023 20:08:26 +0200 Subject: [PATCH 38/60] fix(docs): use correct url in docu (#774) * fix(docs): use correct url in docu * DEPENDENCIES --- DEPENDENCIES | 10 +++++----- edc-extensions/bpn-validation/README.md | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index bd4b88a27..1daa3a270 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -8,11 +8,11 @@ maven/mavencentral/com.azure/azure-core-http-netty/1.13.6, MIT AND Apache-2.0, a maven/mavencentral/com.azure/azure-core-http-netty/1.13.7, MIT AND Apache-2.0, approved, #7948 maven/mavencentral/com.azure/azure-core/1.41.0, MIT AND Apache-2.0, approved, #9648 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, , restricted, clearlydefined +maven/mavencentral/com.azure/azure-core/1.43.0, MIT AND Apache-2.0, approved, #10548 maven/mavencentral/com.azure/azure-identity/1.10.0, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-identity/1.10.1, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-json/1.0.1, MIT AND Apache-2.0, approved, #7933 -maven/mavencentral/com.azure/azure-json/1.1.0, , restricted, clearlydefined +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.23.0, MIT, approved, #9632 maven/mavencentral/com.azure/azure-storage-common/12.22.0, MIT, approved, #9645 @@ -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.31, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.34, , restricted, clearlydefined +maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.34, Apache-2.0, approved, #10549 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 @@ -160,7 +160,7 @@ maven/mavencentral/io.swagger.core.v3/swagger-integration/2.2.10, Apache-2.0, ap maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2-jakarta/2.2.2, Apache-2.0, approved, clearlydefined maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2/2.2.10, Apache-2.0, approved, #9814 maven/mavencentral/io.swagger.core.v3/swagger-models-jakarta/2.2.2, Apache-2.0, approved, #5919 -maven/mavencentral/io.swagger.core.v3/swagger-models/2.2.10, LicenseRef-scancode-proprietary-license AND Apache-2.0, restricted, #10520 +maven/mavencentral/io.swagger.core.v3/swagger-models/2.2.10, Apache-2.0, approved, #10353 maven/mavencentral/jakarta.activation/jakarta.activation-api/1.2.1, EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jaf maven/mavencentral/jakarta.activation/jakarta.activation-api/2.1.0, EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jaf maven/mavencentral/jakarta.annotation/jakarta.annotation-api/2.1.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.ca @@ -430,7 +430,7 @@ 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/jdbc/1.19.0, Apache-2.0, approved, #10348 maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, MIT, approved, #10344 -maven/mavencentral/org.testcontainers/postgresql/1.19.0, None, restricted, #10350 +maven/mavencentral/org.testcontainers/postgresql/1.19.0, MIT, approved, #10350 maven/mavencentral/org.testcontainers/testcontainers/1.19.0, Apache-2.0 AND MIT, approved, #10347 maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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 diff --git a/edc-extensions/bpn-validation/README.md b/edc-extensions/bpn-validation/README.md index 58ec270d1..4415cd482 100644 --- a/edc-extensions/bpn-validation/README.md +++ b/edc-extensions/bpn-validation/README.md @@ -70,7 +70,7 @@ which constraint functions is called to evaluate the policy. Here, it is the `Bu The `bpn-evaluation` module provides a simple CRUD REST API to manipulate BPN <> group associations. Each BPN is stored in an internal database together with the groups that it was assigned. The OpenAPI specification can be -found [here](../../resources/openapi/yaml/bpn-validation-api.yaml). +found [here](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/tractusx-edc). ## Business Partner Number Policy [not recommended] From 7362ca1ee8d375a82ef6198847fa30eff65e5280 Mon Sep 17 00:00:00 2001 From: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com> Date: Tue, 19 Sep 2023 15:23:17 +0200 Subject: [PATCH 39/60] feat: update to EDC v0.3.0 (#775) * feat: update to EDC v0.3.0 * add missing deps * add missing deps again * DEPENDENCIES --- DEPENDENCIES | 346 ++++++++---------- .../InMemoryEndpointDataReferenceCache.java | 6 +- .../edr/core/manager/EdrManagerImplTest.java | 8 +- .../edc-dataplane-base/build.gradle.kts | 4 +- .../build.gradle.kts | 1 - .../build.gradle.kts | 1 - .../build.gradle.kts | 1 - .../sql/SqlEndpointDataReferenceCache.java | 16 +- .../edc-dataplane-proxy-e2e/build.gradle.kts | 2 + gradle/libs.versions.toml | 4 +- .../EndpointDataReferenceCacheTestBase.java | 2 +- 11 files changed, 185 insertions(+), 206 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 1daa3a270..5328a6374 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -3,53 +3,49 @@ 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.5, MIT AND Apache-2.0, approved, #7948 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/1.41.0, MIT AND Apache-2.0, approved, #9648 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-identity/1.10.0, MIT AND Apache-2.0, approved, #10086 maven/mavencentral/com.azure/azure-identity/1.10.1, MIT AND Apache-2.0, approved, #10086 -maven/mavencentral/com.azure/azure-json/1.0.1, MIT AND Apache-2.0, approved, #7933 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.23.0, MIT, approved, #9632 -maven/mavencentral/com.azure/azure-storage-common/12.22.0, MIT, approved, #9645 -maven/mavencentral/com.azure/azure-storage-internal-avro/12.8.0, MIT, approved, #9630 +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.fasterxml.jackson.core/jackson-annotations/2.10.3, Apache-2.0, approved, CQ21280 -maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.13.3, Apache-2.0, approved, clearlydefined 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-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-databind/2.13.3, Apache-2.0, approved, #2134 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.dataformat/jackson-dataformat-toml/2.15.2, 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-yaml/2.13.3, Apache-2.0, approved, #2566 -maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.14.2, Apache-2.0, approved, #5933 +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.datatype/jackson-datatype-jakarta-jsonp/2.15.2, Apache-2.0, approved, #9179 -maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.13.3, Apache-2.0, approved, clearlydefined 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.jakarta.rs/jackson-jakarta-rs-json-provider/2.13.3, Apache-2.0, approved, clearlydefined +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.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/jackson-bom/2.14.2, Apache-2.0, approved, #7931 +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.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 @@ -95,55 +91,36 @@ maven/mavencentral/dev.failsafe/failsafe-okhttp/3.3.2, Apache-2.0, approved, #91 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.138, MIT, approved, CQ22530 maven/mavencentral/io.github.classgraph/classgraph/4.8.154, MIT, approved, CQ22530 -maven/mavencentral/io.micrometer/micrometer-commons/1.11.3, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #9243 -maven/mavencentral/io.micrometer/micrometer-core/1.11.3, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #9238 -maven/mavencentral/io.micrometer/micrometer-observation/1.11.3, Apache-2.0, approved, #9242 -maven/mavencentral/io.netty/netty-buffer/4.1.93.Final, Apache-2.0, approved, CQ21842 +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.94.Final, Apache-2.0, approved, CQ21842 -maven/mavencentral/io.netty/netty-codec-dns/4.1.93.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.93.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.93.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.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 -maven/mavencentral/io.netty/netty-codec/4.1.93.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.93.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.93.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.93.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.93.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.93.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.93.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.93.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-classes/2.0.61.Final, Apache-2.0, approved, clearlydefined 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.94.Final, Apache-2.0, approved, #4107 -maven/mavencentral/io.netty/netty-transport-native-epoll/4.1.93.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.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 -maven/mavencentral/io.netty/netty-transport-native-unix-common/4.1.93.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.93.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.33, Apache-2.0, approved, #9687 maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.34, Apache-2.0, approved, #9687 -maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.33, Apache-2.0, approved, clearlydefined maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.34, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.projectreactor/reactor-core/3.4.30, Apache-2.0, approved, #7517 maven/mavencentral/io.projectreactor/reactor-core/3.4.31, 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 @@ -151,16 +128,15 @@ 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.2, Apache-2.0, approved, #5947 -maven/mavencentral/io.swagger.core.v3/swagger-annotations/2.2.10, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.swagger.core.v3/swagger-core-jakarta/2.2.2, Apache-2.0, approved, #5929 -maven/mavencentral/io.swagger.core.v3/swagger-core/2.2.10, Apache-2.0, approved, #9265 -maven/mavencentral/io.swagger.core.v3/swagger-integration-jakarta/2.2.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.swagger.core.v3/swagger-integration/2.2.10, Apache-2.0, approved, #10352 -maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2-jakarta/2.2.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2/2.2.10, Apache-2.0, approved, #9814 -maven/mavencentral/io.swagger.core.v3/swagger-models-jakarta/2.2.2, Apache-2.0, approved, #5919 -maven/mavencentral/io.swagger.core.v3/swagger-models/2.2.10, Apache-2.0, approved, #10353 +maven/mavencentral/io.swagger.core.v3/swagger-annotations/2.2.15, Apache-2.0, approved, clearlydefined +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/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/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 maven/mavencentral/jakarta.activation/jakarta.activation-api/1.2.1, EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jaf maven/mavencentral/jakarta.activation/jakarta.activation-api/2.1.0, EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jaf maven/mavencentral/jakarta.annotation/jakarta.annotation-api/2.1.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.ca @@ -168,7 +144,6 @@ maven/mavencentral/jakarta.inject/jakarta.inject-api/2.0.1, Apache-2.0, approved maven/mavencentral/jakarta.json/jakarta.json-api/2.1.1, EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, #7907 maven/mavencentral/jakarta.transaction/jakarta.transaction-api/2.0.0, EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, #7697 maven/mavencentral/jakarta.validation/jakarta.validation-api/2.0.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/jakarta.validation/jakarta.validation-api/3.0.0, Apache-2.0, approved, clearlydefined maven/mavencentral/jakarta.validation/jakarta.validation-api/3.0.2, Apache-2.0, approved, clearlydefined maven/mavencentral/jakarta.ws.rs/jakarta.ws.rs-api/3.1.0, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.rest maven/mavencentral/jakarta.xml.bind/jakarta.xml.bind-api/2.3.2, BSD-3-Clause, approved, ee4j.jaxb @@ -213,120 +188,120 @@ 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.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/api-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/api-observability/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-index-sql/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/auth-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/auth-tokenbased/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/autodoc-processor/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/aws-s3-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/aws-s3-test/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/azure-blob-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/azure-test/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/boot/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/callback-event-dispatcher/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/callback-http-dispatcher/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/configuration-filesystem/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/connector-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-agreement-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-definition-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-definition-store-sql/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-negotiation-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-negotiation-store-sql/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-api-configuration/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-aggregate-services/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-api-client-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/core-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-aws-s3/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-azure-storage/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-client/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-framework/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-client/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-util/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-http-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/http-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/http/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/iam-mock/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-micrometer/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-providers/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jetty-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jetty-micrometer/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/json-ld-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/json-ld/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/junit/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jwt-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jwt-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/management-api-configuration/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/management-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/micrometer-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/oauth2-client/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/oauth2-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-definition-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-definition-store-sql/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-engine/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-evaluator/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-model/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-lease/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-pool-apache-commons/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/state-machine/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-local/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-data-plane/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-process-api/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-process-store-sql/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-pull-http-dynamic-receiver/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transform-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transform-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/util/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/validator-core/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/validator-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/vault-azure/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/vault-hashicorp/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/web-spi/0.2.2-20230905-SNAPSHOT, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/aggregate-service-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/api-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/api-observability/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/asset-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/asset-index-sql/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/asset-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/auth-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/auth-tokenbased/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/autodoc-processor/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/aws-s3-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/aws-s3-test/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/azure-blob-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/azure-test/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/boot/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/callback-event-dispatcher/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/callback-http-dispatcher/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/catalog-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/catalog-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/catalog-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/configuration-filesystem/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/connector-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-agreement-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-definition-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-definition-store-sql/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-negotiation-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-negotiation-store-sql/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-api-configuration/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-aggregate-services/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-api-client-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-api-client/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/core-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-aws-s3/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-azure-storage/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-client/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-http/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-selector-client/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-selector-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-selector-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/data-plane-util/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-http-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/http-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/http/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/iam-mock/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-micrometer/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-providers/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jetty-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jetty-micrometer/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/json-ld-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/json-ld/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/junit/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jwt-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jwt-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/management-api-configuration/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/management-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/micrometer-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/oauth2-client/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/oauth2-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-definition-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-definition-store-sql/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-engine/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-evaluator/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-model/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/sql-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/sql-lease/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/sql-pool-apache-commons/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/state-machine/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-local/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-data-plane/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-process-api/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-process-store-sql/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-pull-http-dynamic-receiver/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transform-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transform-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/util/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/validator-core/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/validator-spi/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/vault-azure/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/vault-hashicorp/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/web-spi/0.3.0, 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 @@ -373,7 +348,6 @@ maven/mavencentral/org.jacoco/org.jacoco.agent/0.8.8, EPL-2.0, approved, CQ23285 maven/mavencentral/org.jacoco/org.jacoco.ant/0.8.8, EPL-2.0, approved, #1068 maven/mavencentral/org.jacoco/org.jacoco.core/0.8.8, EPL-2.0, approved, CQ23283 maven/mavencentral/org.jacoco/org.jacoco.report/0.8.8, EPL-2.0 AND Apache-2.0, approved, CQ23284 -maven/mavencentral/org.javassist/javassist/3.25.0-GA, MPL-1.1 OR LGPL-2.1-or-later OR Apache-2.0, approved, CQ19885 maven/mavencentral/org.javassist/javassist/3.28.0-GA, Apache-2.0 OR LGPL-2.1-or-later OR MPL-1.1, approved, #327 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 @@ -388,7 +362,7 @@ maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.7.10, Apache-2.0, approv 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.0.1, EPL-2.0, approved, clearlydefined +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.9.3, EPL-2.0, approved, #3133 maven/mavencentral/org.junit.jupiter/junit-jupiter-engine/5.10.0, EPL-2.0, approved, #9711 @@ -414,7 +388,6 @@ 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.postgresql/postgresql/42.6.0, BSD-2-Clause AND Apache-2.0, approved, #9159 -maven/mavencentral/org.reactivestreams/reactive-streams/1.0.3, CC0-1.0, approved, CQ16332 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 @@ -432,50 +405,49 @@ maven/mavencentral/org.testcontainers/jdbc/1.19.0, Apache-2.0, approved, #10348 maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, MIT, approved, #10344 maven/mavencentral/org.testcontainers/postgresql/1.19.0, MIT, approved, #10350 maven/mavencentral/org.testcontainers/testcontainers/1.19.0, Apache-2.0 AND MIT, approved, #10347 -maven/mavencentral/org.yaml/snakeyaml/1.33, Apache-2.0, approved, clearlydefined 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.123, Apache-2.0, approved, #8598 +maven/mavencentral/software.amazon.awssdk/annotations/2.20.146, Apache-2.0, approved, #8598 maven/mavencentral/software.amazon.awssdk/annotations/2.20.149, Apache-2.0, approved, #8598 -maven/mavencentral/software.amazon.awssdk/apache-client/2.20.123, Apache-2.0, approved, #8609 +maven/mavencentral/software.amazon.awssdk/apache-client/2.20.146, Apache-2.0, approved, #8609 maven/mavencentral/software.amazon.awssdk/apache-client/2.20.149, Apache-2.0, approved, #8609 -maven/mavencentral/software.amazon.awssdk/arns/2.20.123, Apache-2.0, approved, #8616 +maven/mavencentral/software.amazon.awssdk/arns/2.20.146, Apache-2.0, approved, #8616 maven/mavencentral/software.amazon.awssdk/arns/2.20.149, Apache-2.0, approved, #8616 -maven/mavencentral/software.amazon.awssdk/auth/2.20.123, Apache-2.0, approved, #8602 +maven/mavencentral/software.amazon.awssdk/auth/2.20.146, Apache-2.0, approved, #8602 maven/mavencentral/software.amazon.awssdk/auth/2.20.149, Apache-2.0, approved, #8602 -maven/mavencentral/software.amazon.awssdk/aws-core/2.20.123, Apache-2.0, approved, #8612 +maven/mavencentral/software.amazon.awssdk/aws-core/2.20.146, Apache-2.0, approved, #8612 maven/mavencentral/software.amazon.awssdk/aws-core/2.20.149, Apache-2.0, approved, #8612 -maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.123, Apache-2.0, approved, #8629 +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.149, Apache-2.0, approved, #8629 -maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.123, Apache-2.0, approved, #8624 +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.149, Apache-2.0, approved, #8624 -maven/mavencentral/software.amazon.awssdk/crt-core/2.20.123, Apache-2.0, approved, #8627 +maven/mavencentral/software.amazon.awssdk/crt-core/2.20.146, Apache-2.0, approved, #8627 maven/mavencentral/software.amazon.awssdk/crt-core/2.20.149, Apache-2.0, approved, #8627 -maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.123, Apache-2.0, approved, #8604 +maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.146, Apache-2.0, approved, #8604 maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.149, Apache-2.0, approved, #8604 -maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.123, Apache-2.0, approved, #8608 +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.149, Apache-2.0, approved, #8608 -maven/mavencentral/software.amazon.awssdk/iam/2.20.123, Apache-2.0, approved, #9271 -maven/mavencentral/software.amazon.awssdk/json-utils/2.20.123, Apache-2.0, approved, #8614 +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.149, Apache-2.0, approved, #8614 -maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.123, Apache-2.0, approved, #8636 +maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.146, Apache-2.0, approved, #8636 maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.149, Apache-2.0, approved, #8636 -maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.123, Apache-2.0, approved, #8613 +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.149, Apache-2.0, approved, #8613 -maven/mavencentral/software.amazon.awssdk/profiles/2.20.123, Apache-2.0, approved, #8600 +maven/mavencentral/software.amazon.awssdk/profiles/2.20.146, Apache-2.0, approved, #8600 maven/mavencentral/software.amazon.awssdk/profiles/2.20.149, Apache-2.0, approved, #8600 -maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.123, Apache-2.0, approved, #8635 +maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.146, Apache-2.0, approved, #8635 maven/mavencentral/software.amazon.awssdk/protocol-core/2.20.149, Apache-2.0, approved, #8635 -maven/mavencentral/software.amazon.awssdk/regions/2.20.123, Apache-2.0, approved, #8632 +maven/mavencentral/software.amazon.awssdk/regions/2.20.146, Apache-2.0, approved, #8632 maven/mavencentral/software.amazon.awssdk/regions/2.20.149, Apache-2.0, approved, #8632 maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.20.149, Apache-2.0, approved, #10521 -maven/mavencentral/software.amazon.awssdk/s3/2.20.123, Apache-2.0, approved, #8623 +maven/mavencentral/software.amazon.awssdk/s3/2.20.146, Apache-2.0, approved, #8623 maven/mavencentral/software.amazon.awssdk/s3/2.20.149, Apache-2.0, approved, #8623 -maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.123, Apache-2.0, approved, #8611 +maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.146, Apache-2.0, approved, #8611 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.149, Apache-2.0, approved, #8611 -maven/mavencentral/software.amazon.awssdk/sts/2.20.123, Apache-2.0, approved, #9269 -maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.123, Apache-2.0, approved, #8622 +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.149, Apache-2.0, approved, #8622 -maven/mavencentral/software.amazon.awssdk/utils/2.20.123, Apache-2.0, approved, #8625 +maven/mavencentral/software.amazon.awssdk/utils/2.20.146, Apache-2.0, approved, #8625 maven/mavencentral/software.amazon.awssdk/utils/2.20.149, Apache-2.0, approved, #8625 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/InMemoryEndpointDataReferenceCache.java b/core/edr-cache-core/src/main/java/org/eclipse/tractusx/edc/edr/core/defaults/InMemoryEndpointDataReferenceCache.java index c8c99d315..d1e3edc35 100644 --- a/core/edr-cache-core/src/main/java/org/eclipse/tractusx/edc/edr/core/defaults/InMemoryEndpointDataReferenceCache.java +++ b/core/edr-cache-core/src/main/java/org/eclipse/tractusx/edc/edr/core/defaults/InMemoryEndpointDataReferenceCache.java @@ -87,7 +87,7 @@ public InMemoryEndpointDataReferenceCache(String lockId, Clock clock, Map findByIdAndLease(String transferProcessId) { + public StoreResult findByIdAndLease(String transferProcessId) { return lockManager.readLock(() -> { var edr = edrsByTransferProcessId.get(transferProcessId); var edrEntry = entriesByEdrId.get(edr.getId()); @@ -97,8 +97,8 @@ public InMemoryEndpointDataReferenceCache(String lockId, Clock clock, Map findByCorrelationIdAndLease(String correlationId) { - return findByIdAndLease(correlationId); + public EndpointDataReferenceEntry findById(String correlationId) { + return findByIdAndLease(correlationId).orElse(storeFailure -> null); } @Override 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 cd6033559..ce90f3465 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 @@ -118,7 +118,7 @@ void initial_shouldTransitionRequesting() { var edrEntry = edrEntryBuilder().state(NEGOTIATED.code()).build(); var transferProcess = createTransferProcessBuilder().build(); when(edrCache.nextNotLeased(anyInt(), stateIs(NEGOTIATED.code()))).thenReturn(List.of(edrEntry)).thenReturn(emptyList()); - when(edrCache.findByCorrelationIdAndLease(edrEntry.getTransferProcessId())).thenReturn(StoreResult.success(edrEntry)); + when(edrCache.findByIdAndLease(edrEntry.getTransferProcessId())).thenReturn(StoreResult.success(edrEntry)); when(transferProcessService.findById(edrEntry.getTransferProcessId())).thenReturn(transferProcess); when(transferProcessService.initiateTransfer(any())).thenReturn(ServiceResult.success(transferProcess)); @@ -138,7 +138,7 @@ void initial_shouldNotTransitionToRefreshing_WhenNotExpired() { .thenReturn(List.of(edrEntry)) .thenReturn(emptyList()); - when(edrCache.findByCorrelationIdAndLease(edrEntry.getTransferProcessId())).thenReturn(StoreResult.success(edrEntry)); + when(edrCache.findByIdAndLease(edrEntry.getTransferProcessId())).thenReturn(StoreResult.success(edrEntry)); when(transferProcessService.findById(edrEntry.getTransferProcessId())).thenReturn(transferProcess); when(transferProcessService.initiateTransfer(any())).thenReturn(ServiceResult.success(transferProcess)); @@ -159,7 +159,7 @@ void initial_shouldTransitionError_whenTransferProcessNotFound() { .thenReturn(List.of(edrEntry)) .thenReturn(emptyList()); - when(edrCache.findByCorrelationIdAndLease(edrEntry.getTransferProcessId())).thenReturn(StoreResult.success(edrEntry)); + when(edrCache.findByIdAndLease(edrEntry.getTransferProcessId())).thenReturn(StoreResult.success(edrEntry)); when(transferProcessService.findById(edrEntry.getTransferProcessId())).thenReturn(null); edrManager.start(); @@ -179,7 +179,7 @@ void initial_shouldNotTransitionError_whenInitiatedTransferFailsOnce() { .thenReturn(List.of(edrEntry.copy())) .thenReturn(emptyList()); - when(edrCache.findByCorrelationIdAndLease(edrEntry.getTransferProcessId())).thenReturn(StoreResult.success(edrEntry)); + when(edrCache.findByIdAndLease(edrEntry.getTransferProcessId())).thenReturn(StoreResult.success(edrEntry)); when(transferProcessService.findById(edrEntry.getTransferProcessId())).thenReturn(transferProcess); when(transferProcessService.initiateTransfer(any())) .thenReturn(ServiceResult.badRequest("bad")) diff --git a/edc-dataplane/edc-dataplane-base/build.gradle.kts b/edc-dataplane/edc-dataplane-base/build.gradle.kts index 6c223a758..021e4a254 100644 --- a/edc-dataplane/edc-dataplane-base/build.gradle.kts +++ b/edc-dataplane/edc-dataplane-base/build.gradle.kts @@ -35,7 +35,9 @@ dependencies { runtimeOnly(libs.edc.dpf.oauth2) runtimeOnly(libs.edc.dpf.http) - runtimeOnly(libs.edc.dpf.framework) + runtimeOnly(libs.edc.dpf.core) + runtimeOnly(libs.edc.controlplane.apiclient) + runtimeOnly(libs.edc.dpf.api) runtimeOnly(libs.edc.core.connector) runtimeOnly(libs.edc.boot) 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 fbe98c1a5..2256c0b1c 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 @@ -23,7 +23,6 @@ dependencies { implementation(libs.edc.spi.http) implementation(libs.edc.util) - implementation(libs.edc.dpf.framework) implementation(libs.edc.dpf.util) implementation(libs.edc.ext.http) implementation(libs.edc.spi.auth) 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 6e0354ad0..729e2bf74 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 @@ -21,7 +21,6 @@ dependencies { implementation(libs.edc.spi.http) implementation(libs.edc.util) - implementation(libs.edc.dpf.framework) implementation(libs.edc.dpf.util) implementation(libs.edc.ext.http) implementation(libs.edc.spi.jwt) diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-core/build.gradle.kts b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-core/build.gradle.kts index 8ec7a9641..1e0be9029 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-core/build.gradle.kts +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-provider-core/build.gradle.kts @@ -19,7 +19,6 @@ plugins { dependencies { implementation(libs.edc.util) - implementation(libs.edc.dpf.framework) implementation(libs.edc.dpf.util) implementation(libs.edc.jwt.core) implementation(libs.edc.ext.http) 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 12bc7676a..8d04213ea 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 @@ -105,11 +105,6 @@ public SqlEndpointDataReferenceCache(DataSourceRegistry dataSourceRegistry, Stri }); } - @Override - public StoreResult findByCorrelationIdAndLease(String correlationId) { - return findByIdAndLease(correlationId); - } - @Override public void save(EndpointDataReferenceEntry entity) { throw new UnsupportedOperationException("Please use save(EndpointDataReferenceEntry, EndpointDataReference) instead!"); @@ -199,6 +194,17 @@ public StoreResult deleteByTransferProcessId(String }); } + @Override + public @Nullable EndpointDataReferenceEntry findById(String id) { + return transactionContext.execute(() -> { + try (var connection = getConnection()) { + return findById(connection, id, this::mapResultSet); + } catch (Exception exception) { + throw new EdcPersistenceException(exception); + } + }); + } + @Override public @NotNull List nextNotLeased(int max, Criterion... criteria) { return transactionContext.execute(() -> { diff --git a/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/build.gradle.kts b/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/build.gradle.kts index eeb8473f3..c9ead1762 100644 --- a/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/build.gradle.kts +++ b/edc-tests/edc-dataplane/edc-dataplane-proxy-e2e/build.gradle.kts @@ -25,6 +25,8 @@ dependencies { testImplementation(libs.edc.config.filesystem) testImplementation(libs.edc.dpf.http) testImplementation(libs.edc.auth.tokenbased) + testRuntimeOnly(libs.edc.dpf.core) + testRuntimeOnly(libs.edc.controlplane.apiclient) testImplementation(project(":spi:edr-spi")) testImplementation(project(":core:edr-cache-core")) testImplementation(project(":edc-extensions:dataplane-proxy:edc-dataplane-proxy-consumer-api")) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1b283774e..b4b04e305 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ format.version = "1.1" [versions] -edc = "0.2.2-20230905-SNAPSHOT" +edc = "0.3.0" postgres = "42.6.0" awaitility = "4.2.0" nimbus = "9.34" @@ -37,6 +37,7 @@ edc-spi-transaction-datasource = { module = "org.eclipse.edc:transaction-datasou 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" } @@ -116,7 +117,6 @@ edc-dpf-selector-client = { module = "org.eclipse.edc:data-plane-selector-client edc-dpf-selector-spi = { module = "org.eclipse.edc:data-plane-selector-spi", version.ref = "edc" } edc-dpf-selector-core = { module = "org.eclipse.edc:data-plane-selector-core", version.ref = "edc" } edc-dpf-transfer = { module = "org.eclipse.edc:transfer-data-plane", version.ref = "edc" } -edc-dpf-framework = { module = "org.eclipse.edc:data-plane-framework", version.ref = "edc" } edc-dpf-core = { module = "org.eclipse.edc:data-plane-core", version.ref = "edc" } edc-dpf-util = { module = "org.eclipse.edc:data-plane-util", version.ref = "edc" } diff --git a/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/EndpointDataReferenceCacheTestBase.java b/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/EndpointDataReferenceCacheTestBase.java index 72d52ac44..6d55a71f8 100644 --- a/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/EndpointDataReferenceCacheTestBase.java +++ b/spi/edr-spi/src/testFixtures/java/org/eclipse/tractusx/edc/edr/spi/EndpointDataReferenceCacheTestBase.java @@ -73,7 +73,7 @@ void findByTransferProcessId() { var entry = edrEntry("assetId", "agreementId", "tpId"); getStore().save(entry, edr("edrId")); - assertThat(getStore().findByCorrelationIdAndLease(entry.getTransferProcessId())).isNotNull(); + assertThat(getStore().findByIdAndLease(entry.getTransferProcessId())).isNotNull(); } @Test From 7daa3194c6fd3d4771a0a88010ae6927e010f2db Mon Sep 17 00:00:00 2001 From: Alex Wellnitz <141134451+awellnitz-materna@users.noreply.github.com> Date: Wed, 20 Sep 2023 10:57:08 +0200 Subject: [PATCH 40/60] fix: Error Message in SsiMiwOauth2ClientExtension updated (#778) --- .../tractusx/edc/iam/ssi/miw/SsiMiwOauth2ClientExtension.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/SsiMiwOauth2ClientExtension.java b/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/SsiMiwOauth2ClientExtension.java index 0905b18f6..8af1c3620 100644 --- a/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/SsiMiwOauth2ClientExtension.java +++ b/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/SsiMiwOauth2ClientExtension.java @@ -67,7 +67,7 @@ private MiwOauth2ClientConfiguration createConfiguration(ServiceExtensionContext var clientId = context.getConfig().getString(CLIENT_ID); var clientSecretAlias = context.getConfig().getString(CLIENT_SECRET_ALIAS); var clientSecret = vault.resolveSecret(clientSecretAlias); - Objects.requireNonNull(clientSecret, "Client secret not found in the vault"); + Objects.requireNonNull(clientSecret, "Client secret could not be retrieved"); return MiwOauth2ClientConfiguration.Builder.newInstance() .tokenUrl(tokenUrl) From 4b38aa4becc6ab0b12165e669681dd979b7e1815 Mon Sep 17 00:00:00 2001 From: "Tuncay Tunc (ZF Friedrichshafen AG)" <100704677+tuncaytunc-zf@users.noreply.github.com> Date: Wed, 20 Sep 2023 11:23:19 +0200 Subject: [PATCH 41/60] chore: update postgresql helm chart from 12.1.6 to 12.11.2 (#776) * Update Postgresql from 12.1.6 to 15.4.0 * Update README * Correct chart version 12.11.2 --- charts/tractusx-connector-azure-vault/Chart.yaml | 2 +- charts/tractusx-connector-azure-vault/README.md | 2 +- charts/tractusx-connector/Chart.yaml | 2 +- charts/tractusx-connector/README.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/charts/tractusx-connector-azure-vault/Chart.yaml b/charts/tractusx-connector-azure-vault/Chart.yaml index 8383cfb89..546f6252c 100644 --- a/charts/tractusx-connector-azure-vault/Chart.yaml +++ b/charts/tractusx-connector-azure-vault/Chart.yaml @@ -53,6 +53,6 @@ dependencies: # PostgreSQL - name: postgresql alias: postgresql - version: 12.1.6 + version: 12.11.2 repository: https://charts.bitnami.com/bitnami condition: install.postgresql diff --git a/charts/tractusx-connector-azure-vault/README.md b/charts/tractusx-connector-azure-vault/README.md index 748c845bc..2f2755b3a 100644 --- a/charts/tractusx-connector-azure-vault/README.md +++ b/charts/tractusx-connector-azure-vault/README.md @@ -61,7 +61,7 @@ helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0. | Repository | Name | Version | |------------|------|---------| -| https://charts.bitnami.com/bitnami | postgresql(postgresql) | 12.1.6 | +| https://charts.bitnami.com/bitnami | postgresql(postgresql) | 12.11.2 | ## Values diff --git a/charts/tractusx-connector/Chart.yaml b/charts/tractusx-connector/Chart.yaml index 81ac62198..db12d1b83 100644 --- a/charts/tractusx-connector/Chart.yaml +++ b/charts/tractusx-connector/Chart.yaml @@ -59,6 +59,6 @@ dependencies: # PostgreSQL - name: postgresql alias: postgresql - version: 12.1.6 + version: 12.11.2 repository: https://charts.bitnami.com/bitnami condition: install.postgresql diff --git a/charts/tractusx-connector/README.md b/charts/tractusx-connector/README.md index 4ec4ba4c6..ed883b32e 100644 --- a/charts/tractusx-connector/README.md +++ b/charts/tractusx-connector/README.md @@ -54,7 +54,7 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.5.1 \ | Repository | Name | Version | |------------|------|---------| -| https://charts.bitnami.com/bitnami | postgresql(postgresql) | 12.1.6 | +| https://charts.bitnami.com/bitnami | postgresql(postgresql) | 12.11.2 | | https://helm.releases.hashicorp.com | vault(vault) | 0.20.0 | ## Values From c8dd495469136af2c4db26856f5af2c9cf263f0c Mon Sep 17 00:00:00 2001 From: bcronin90 <90203222+bcronin90@users.noreply.github.com> Date: Thu, 21 Sep 2023 08:15:08 +0200 Subject: [PATCH 42/60] docs: add docusaurus publishing workflow (#715) * Automatically create API spec Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Bump Signed-off-by: Brendan Cronin * Allow for direct version input Signed-off-by: Brendan Cronin * Add Signed-off-by: Brendan Cronin * Test Signed-off-by: Brendan Cronin * Remove trigger Signed-off-by: Brendan Cronin * Add trigger Signed-off-by: Brendan Cronin * Remove trigger Signed-off-by: Brendan Cronin * Restructure kits documentation Signed-off-by: Brendan Cronin * Debug Signed-off-by: Brendan Cronin * Just publish OpenAPI yaml Signed-off-by: Brendan Cronin * Clean up documentation Signed-off-by: Brendan Cronin * Clean up documentation Signed-off-by: Brendan Cronin * test Signed-off-by: Brendan Cronin * lint markdown Signed-off-by: Brendan Cronin * publish Signed-off-by: Brendan Cronin * publish Signed-off-by: Brendan Cronin * publish Signed-off-by: Brendan Cronin * add todo Signed-off-by: Brendan Cronin * Fix linting problems Signed-off-by: Brendan Cronin * Add publishing task Signed-off-by: Brendan Cronin * Fix pipeline inputs Signed-off-by: Brendan Cronin * Fix pipeline inputs Signed-off-by: Brendan Cronin * Debug Signed-off-by: Brendan Cronin * Debug Signed-off-by: Brendan Cronin * Debug Signed-off-by: Brendan Cronin * Debug Signed-off-by: Brendan Cronin * Permissions Signed-off-by: Brendan Cronin * Permissions Signed-off-by: Brendan Cronin * Remove trigger Signed-off-by: Brendan Cronin * Fix rebase issues Signed-off-by: Brendan Cronin * Remove use of swaggerhub api Signed-off-by: Brendan Cronin * Remove unnecessary changes Signed-off-by: Brendan Cronin * Remove unnecessary changes Signed-off-by: Brendan Cronin * Extract script Signed-off-by: Brendan Cronin * Test Signed-off-by: Brendan Cronin * Test Signed-off-by: Brendan Cronin * Test Signed-off-by: Brendan Cronin * Test Signed-off-by: Brendan Cronin * Remove trigger Signed-off-by: Brendan Cronin * Revert helm doc file Signed-off-by: Brendan Cronin * Revert helm doc files Signed-off-by: Brendan Cronin * Add markdownlint rules Signed-off-by: Brendan Cronin * Correct markdown errors Signed-off-by: Brendan Cronin * Correct markdown errors Signed-off-by: Brendan Cronin --------- Signed-off-by: Brendan Cronin --- .github/workflows/publish-docusaurus.yaml | 68 ++++++++++++++++++ .github/workflows/publish-new-release.yml | 11 +++ .github/workflows/publish.yaml | 9 ++- .markdownlint.yaml | 11 ++- CODE_OF_CONDUCT.md | 2 +- core/edr-core/README.md | 2 +- docs/development/Release.md | 6 -- docs/development/postman/README.md | 2 - .../00_adoption-view.md} | 7 +- .../images/edc_architecture.png | Bin .../images/edc_overview.png | Bin .../01_domain_model.md} | 7 +- .../02_OpenAPI/00_open_api.md | 3 + .../05_EDC Extensions/00_extensions.md} | 2 +- .../images/domain-model.png | Bin .../00_repository_structure.md} | 0 .../01_project_structure.md} | 0 .../00_operation_view.md} | 0 .../01_technical_prerequisites.md} | 0 .../00_local_setup_controlplane.md} | 0 .../01_local_setup_dataplane.md} | 0 .../04_Test Your Setup/01_api.md} | 2 +- .../05_Migration/00_upgrading.md} | 0 .../page00_development_view.md | 24 ------- .../page01_eclipse_foundation.md | 35 --------- .../operation-view/page06_kubernetes_setup.md | 22 ------ docs/migration/Version_0.4.x_0.5.x.md | 4 +- .../notice.md | 14 ++-- .../README.md | 4 +- .../notice.md | 14 ++-- .../README.md | 4 +- .../notice.md | 14 ++-- edc-controlplane/edc-runtime-memory/notice.md | 14 ++-- .../edc-dataplane-azure-vault/README.md | 4 +- .../edc-dataplane-azure-vault/notice.md | 14 ++-- .../edc-dataplane-hashicorp-vault/README.md | 4 +- .../edc-dataplane-hashicorp-vault/notice.md | 14 ++-- edc-extensions/bpn-validation/README.md | 2 +- edc-extensions/cx-oauth2/README.md | 2 +- .../README.md | 12 ++-- .../ssi/jws2020-crypto-suite/README.md | 7 +- .../ssi/ssi-miw-credential-client/README.md | 2 +- resources/create_kit_documentation.sh | 53 ++++++++++++++ 43 files changed, 227 insertions(+), 168 deletions(-) create mode 100644 .github/workflows/publish-docusaurus.yaml rename docs/kit/{adoption-view/page_adoption-view.md => Adoption View/00_adoption-view.md} (97%) rename docs/kit/{adoption-view => Adoption View}/images/edc_architecture.png (100%) rename docs/kit/{adoption-view => Adoption View}/images/edc_overview.png (100%) rename docs/kit/{adoption-view/page_domain_model.md => Development View/01_domain_model.md} (96%) create mode 100644 docs/kit/Development View/02_OpenAPI/00_open_api.md rename docs/kit/{operation-view/page10_extensions.md => Development View/05_EDC Extensions/00_extensions.md} (98%) rename docs/kit/{adoption-view => Development View}/images/domain-model.png (100%) rename docs/kit/{development-view/page02_repository_structure.md => Documentation/00_repository_structure.md} (100%) rename docs/kit/{development-view/page03_project_structure.md => Documentation/01_project_structure.md} (100%) rename docs/kit/{operation-view/page00_operation_view.md => Operation View/00_operation_view.md} (100%) rename docs/kit/{operation-view/page02_technical_prerequisites.md => Operation View/01_technical_prerequisites.md} (100%) rename docs/kit/{operation-view/page03_local_setup_controlplane.md => Operation View/02_Local Setup/00_local_setup_controlplane.md} (100%) rename docs/kit/{operation-view/page04_local_setup_dataplane.md => Operation View/02_Local Setup/01_local_setup_dataplane.md} (100%) rename docs/kit/{operation-view/page08_api.md => Operation View/04_Test Your Setup/01_api.md} (93%) rename docs/kit/{operation-view/page09_upgrading.md => Operation View/05_Migration/00_upgrading.md} (100%) delete mode 100644 docs/kit/development-view/page00_development_view.md delete mode 100644 docs/kit/development-view/page01_eclipse_foundation.md delete mode 100644 docs/kit/operation-view/page06_kubernetes_setup.md create mode 100755 resources/create_kit_documentation.sh diff --git a/.github/workflows/publish-docusaurus.yaml b/.github/workflows/publish-docusaurus.yaml new file mode 100644 index 000000000..5cb0f5c06 --- /dev/null +++ b/.github/workflows/publish-docusaurus.yaml @@ -0,0 +1,68 @@ +# +# Copyright (c) 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 +# + +--- +name: "Publish docusaurus documentation" + +on: + workflow_dispatch: + inputs: + downstream-version: + required: false + type: string + workflow_call: + inputs: + downstream-version: + required: false + type: string + +jobs: + publish-docusaurus: + permissions: + contents: write + packages: write + name: "Publish docusaurus documentation as zip file" + runs-on: ubuntu-latest + env: + SWAGGERHUB_API_KEY: ${{ secrets.SWAGGERHUB_API_KEY }} + SWAGGERHUB_USER: ${{ secrets.SWAGGERHUB_USER }} + steps: + - uses: actions/checkout@v3 + + - name: "Extract version" + id: extract_version + run: | + if [ -z ${{ inputs.downstream-version }} ]; then + echo "DOWNSTREAM_VERSION=$(grep "version" gradle.properties | awk -F= '{print $2}')" >> "$GITHUB_OUTPUT" + else + echo "DOWNSTREAM_VERSION=${{ inputs.downstream-version }}" >> "$GITHUB_OUTPUT" + fi + + - name: "Gather documentation files" + run: | + chmod +x ./resources/create_kit_documentation.sh + ./resources/create_kit_documentation.sh ${{ runner.temp }} $(pwd) ${{ steps.extract_version.outputs.DOWNSTREAM_VERSION }} + + - name: Publish zip to GitHub Release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ runner.temp }}/tractusx-edc-docusaurus-${{ steps.extract_version.outputs.DOWNSTREAM_VERSION }}.zip + tag: ${{ steps.extract_version.outputs.DOWNSTREAM_VERSION }} diff --git a/.github/workflows/publish-new-release.yml b/.github/workflows/publish-new-release.yml index 09109f136..262456bc7 100644 --- a/.github/workflows/publish-new-release.yml +++ b/.github/workflows/publish-new-release.yml @@ -249,3 +249,14 @@ jobs: with: downstream-version: ${{ needs.release-version.outputs.RELEASE_VERSION }} secrets: inherit + + publish-docusaurus: + name: Publish docusaurus docs + permissions: + contents: write + packages: write + needs: [ secret-presence, publish-to-swaggerhub, github-release ] + with: + downstream-version: ${{ needs.release-version.outputs.RELEASE_VERSION }} + uses: ./.github/workflows/publish-docusaurus.yaml + secrets: inherit diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 164f3bce1..0ab2452bd 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -137,4 +137,11 @@ jobs: needs: [ secret-presence ] if: needs.secret-presence.outputs.HAS_SWAGGER uses: ./.github/workflows/publish-swaggerhub.yaml - secrets: inherit + + publish-docusaurus: + name: Publish docusaurus docs + permissions: + contents: read + needs: [ secret-presence, publish-to-swaggerhub ] + if: needs.secret-presence.outputs.HAS_SWAGGER + uses: ./.github/workflows/publish-docusaurus.yaml diff --git a/.markdownlint.yaml b/.markdownlint.yaml index d060f2264..45ae81489 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -1,4 +1,6 @@ # Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# Copyright (c) 2023 Mercedes-Benz Tech Innovation GmbH +# Copyright (c) 2023 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. @@ -19,7 +21,14 @@ "default": true # Do not restrict line length: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#MD013 "MD013": false -"MD034": +# Do not restrict inline HTML: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#MD033 +"MD033": false # Allow same content on headlines on siblings: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#MD024 "MD024": "siblings_only": true +"MD032": false +# Allow lists without empty lines around them: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#MD032 +# Necessary for Helm docs +"MD004": false +# Allow for more unordered lists: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#MD004 +# Necessary for Helm docs diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 4e32c4bd2..70a08b52a 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -49,7 +49,7 @@ This Code applies within all Project, Working Group, and Interest Group spaces a ## Enforcement -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the Conduct Committee via conduct@eclipse-foundation.org. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Without the explicit consent of the reporter, the Conduct Committee is obligated to maintain confidentiality with regard to the reporter of an incident. The Conduct Committee is further obligated to ensure that the respondent is provided with sufficient information about the complaint to reply. If such details cannot be provided while maintaining confidentiality, the Conduct Committee will take the respondent‘s inability to provide a defense into account in its deliberations and decisions. Further details of enforcement guidelines may be posted separately. +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the Conduct Committee via . All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Without the explicit consent of the reporter, the Conduct Committee is obligated to maintain confidentiality with regard to the reporter of an incident. The Conduct Committee is further obligated to ensure that the respondent is provided with sufficient information about the complaint to reply. If such details cannot be provided while maintaining confidentiality, the Conduct Committee will take the respondent‘s inability to provide a defense into account in its deliberations and decisions. Further details of enforcement guidelines may be posted separately. Staff, Committers and Project Leads have the right to report, remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code, or to block temporarily or permanently any Contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. Any such actions will be reported to the Conduct Committee for transparency and record keeping. diff --git a/core/edr-core/README.md b/core/edr-core/README.md index aeb2e2402..c6cf7ab9d 100644 --- a/core/edr-core/README.md +++ b/core/edr-core/README.md @@ -1,4 +1,4 @@ -# EDR core extension +# EDR Core Extension This extension provide a base implementation of `EdrManager` and `EdrService` both required for interacting with the EDR APIs and state machine diff --git a/docs/development/Release.md b/docs/development/Release.md index 5f2fbd74d..3992c0a1d 100644 --- a/docs/development/Release.md +++ b/docs/development/Release.md @@ -38,11 +38,5 @@ The Eclipse Bot is able to approve dependencies automatically, if the license ca from maven central. 2. Create the Eclipse IP Issues or ask an Eclipse Commiter to do this for you. -## 4. Update OpenAPI docs - -As part of the [kits documentation provided for docusaurus](../kit/development-view/page00_development_view.md) we provide an OpenAPI reference. -This refers to the [EDC API](https://github.com/eclipse-edc/Connector/tree/main/resources/openapi) and needs to be updated to the current release. -The yaml files found there are then converted with the [docusaurus openapi plugin](https://www.npmjs.com/package/docusaurus-plugin-openapi-docs). - [maven-shield]: https://img.shields.io/badge/Apache%20Maven-URL-blue [maven-url]: https://maven.apache.org diff --git a/docs/development/postman/README.md b/docs/development/postman/README.md index f4a7d2b24..2e6cdfeb8 100644 --- a/docs/development/postman/README.md +++ b/docs/development/postman/README.md @@ -23,7 +23,5 @@ The postman collection contains the most common API calls. Please note that the - Policy & Negotiation calls come in pairs for the different kinds of policies - the 'Data' call only works when using the All-In-One Deployment of this repository -![screenshot](./images/screenshot.png) - [postman-shield]: https://img.shields.io/badge/Postman-URL-orange [postman-url]: https://www.postman.com diff --git a/docs/kit/adoption-view/page_adoption-view.md b/docs/kit/Adoption View/00_adoption-view.md similarity index 97% rename from docs/kit/adoption-view/page_adoption-view.md rename to docs/kit/Adoption View/00_adoption-view.md index 256557e60..60274f65c 100644 --- a/docs/kit/adoption-view/page_adoption-view.md +++ b/docs/kit/Adoption View/00_adoption-view.md @@ -1,9 +1,4 @@ ---- -id: Adoption View -title: Adoption View -description: 'Connector Kit' -sidebar_position: 1 ---- +# Adoption View The ConnectorKit provides a connector framework, based on the [Eclipse Dataspace Connector][edc-url] for sovereign, cross-enterprise data exchange. diff --git a/docs/kit/adoption-view/images/edc_architecture.png b/docs/kit/Adoption View/images/edc_architecture.png similarity index 100% rename from docs/kit/adoption-view/images/edc_architecture.png rename to docs/kit/Adoption View/images/edc_architecture.png diff --git a/docs/kit/adoption-view/images/edc_overview.png b/docs/kit/Adoption View/images/edc_overview.png similarity index 100% rename from docs/kit/adoption-view/images/edc_overview.png rename to docs/kit/Adoption View/images/edc_overview.png diff --git a/docs/kit/adoption-view/page_domain_model.md b/docs/kit/Development View/01_domain_model.md similarity index 96% rename from docs/kit/adoption-view/page_domain_model.md rename to docs/kit/Development View/01_domain_model.md index 5143889f9..7ce3ae87f 100644 --- a/docs/kit/adoption-view/page_domain_model.md +++ b/docs/kit/Development View/01_domain_model.md @@ -1,9 +1,4 @@ ---- -id: Domain Model -title: Domain Model -description: 'Connector Kit' -sidebar_position: 2 ---- +# Domain Model ![domain-model](images/domain-model.png) diff --git a/docs/kit/Development View/02_OpenAPI/00_open_api.md b/docs/kit/Development View/02_OpenAPI/00_open_api.md new file mode 100644 index 000000000..7f9e70039 --- /dev/null +++ b/docs/kit/Development View/02_OpenAPI/00_open_api.md @@ -0,0 +1,3 @@ +# OpenAPI + +The following is an automatically generated OpenAPI spec for the TractusX EDC. diff --git a/docs/kit/operation-view/page10_extensions.md b/docs/kit/Development View/05_EDC Extensions/00_extensions.md similarity index 98% rename from docs/kit/operation-view/page10_extensions.md rename to docs/kit/Development View/05_EDC Extensions/00_extensions.md index ce0a72ead..63ed5ce2c 100644 --- a/docs/kit/operation-view/page10_extensions.md +++ b/docs/kit/Development View/05_EDC Extensions/00_extensions.md @@ -1,4 +1,4 @@ -# EDC Extensions +# EDC Extensions Overview The following extensions provide additional functionality to the core EDC. They are currently only available in Tractus-X EDC. diff --git a/docs/kit/adoption-view/images/domain-model.png b/docs/kit/Development View/images/domain-model.png similarity index 100% rename from docs/kit/adoption-view/images/domain-model.png rename to docs/kit/Development View/images/domain-model.png diff --git a/docs/kit/development-view/page02_repository_structure.md b/docs/kit/Documentation/00_repository_structure.md similarity index 100% rename from docs/kit/development-view/page02_repository_structure.md rename to docs/kit/Documentation/00_repository_structure.md diff --git a/docs/kit/development-view/page03_project_structure.md b/docs/kit/Documentation/01_project_structure.md similarity index 100% rename from docs/kit/development-view/page03_project_structure.md rename to docs/kit/Documentation/01_project_structure.md diff --git a/docs/kit/operation-view/page00_operation_view.md b/docs/kit/Operation View/00_operation_view.md similarity index 100% rename from docs/kit/operation-view/page00_operation_view.md rename to docs/kit/Operation View/00_operation_view.md diff --git a/docs/kit/operation-view/page02_technical_prerequisites.md b/docs/kit/Operation View/01_technical_prerequisites.md similarity index 100% rename from docs/kit/operation-view/page02_technical_prerequisites.md rename to docs/kit/Operation View/01_technical_prerequisites.md diff --git a/docs/kit/operation-view/page03_local_setup_controlplane.md b/docs/kit/Operation View/02_Local Setup/00_local_setup_controlplane.md similarity index 100% rename from docs/kit/operation-view/page03_local_setup_controlplane.md rename to docs/kit/Operation View/02_Local Setup/00_local_setup_controlplane.md diff --git a/docs/kit/operation-view/page04_local_setup_dataplane.md b/docs/kit/Operation View/02_Local Setup/01_local_setup_dataplane.md similarity index 100% rename from docs/kit/operation-view/page04_local_setup_dataplane.md rename to docs/kit/Operation View/02_Local Setup/01_local_setup_dataplane.md diff --git a/docs/kit/operation-view/page08_api.md b/docs/kit/Operation View/04_Test Your Setup/01_api.md similarity index 93% rename from docs/kit/operation-view/page08_api.md rename to docs/kit/Operation View/04_Test Your Setup/01_api.md index 9f45abe14..ec8174f01 100644 --- a/docs/kit/operation-view/page08_api.md +++ b/docs/kit/Operation View/04_Test Your Setup/01_api.md @@ -3,7 +3,7 @@ ## API Spec The API spec of the EDC is constantly evolving. -The full API documentation for each release can be viewed on [management-api](../development-view/openAPI/management-api/management-api.info.mdx). +The full API documentation for each release can be viewed on [management-api](../Development View/02_OpenAPI/management-api/management-api.info.mdx). The following are some example API calls for common use cases. They assume the default parameters from the previous local setup. diff --git a/docs/kit/operation-view/page09_upgrading.md b/docs/kit/Operation View/05_Migration/00_upgrading.md similarity index 100% rename from docs/kit/operation-view/page09_upgrading.md rename to docs/kit/Operation View/05_Migration/00_upgrading.md diff --git a/docs/kit/development-view/page00_development_view.md b/docs/kit/development-view/page00_development_view.md deleted file mode 100644 index 03806581d..000000000 --- a/docs/kit/development-view/page00_development_view.md +++ /dev/null @@ -1,24 +0,0 @@ -# Development View - -## Project Overview - -Eclipse Tractus-X is an initiative of companies under the umbrella of the Eclipse Foundation. -It is a pilot for the larger initiative of CatenaX. -A broader overview of the project can be found on the initiative's [Github page][tractusx-edc-link] -or the homepage of the [Eclipse Foundation](https://projects.eclipse.org/projects/automotive.tractusx). - -## The EDC - -The Eclipse Dataspace Connector is one of the core components facilitating Tractus-X. - -:::note Tractus-X EDC or Core EDC? - -This documentation is for Tractus-X EDC. -It includes the Core EDC with all of its functionality. -However, this core is supplemented by extensions that allow for the use of additional backends and connection types. -Furthermore, the provided Helm charts, build configuration and tests allow for a smoother deployment. -::: - -You can find the repository for the Tractus-X EDC [here][tractusx-edc-link]. - -[tractusx-edc-link]: https://github.com/eclipse-tractusx/tractusx-edc diff --git a/docs/kit/development-view/page01_eclipse_foundation.md b/docs/kit/development-view/page01_eclipse_foundation.md deleted file mode 100644 index bf71bd5b9..000000000 --- a/docs/kit/development-view/page01_eclipse_foundation.md +++ /dev/null @@ -1,35 +0,0 @@ -# The Eclipse Foundation - -## Eclipse Development Process - -This Eclipse Foundation open project is governed by the Eclipse Foundation -Development Process and operates under the terms of the Eclipse IP Policy. - -* -* - -## Eclipse Contributor Agreement - -In order to be able to contribute to Eclipse Foundation projects you must -electronically sign the Eclipse Contributor Agreement (ECA). - -* - -The ECA provides the Eclipse Foundation with a permanent record that you agree -that each of your contributions will comply with the commitments documented in -the Developer Certificate of Origin (DCO). Having an ECA on file associated with -the email address matching the "Author" field of your contribution's Git commits -fulfills the DCO's requirement that you sign-off on your contributions. - -For more information, please see the Eclipse Committer Handbook: - - -## License - -Code in Tractus-X EDC is published under the [Apache License](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/LICENSE). - -## Contact - -Contact the project developers via the project's "dev" list. - -* diff --git a/docs/kit/operation-view/page06_kubernetes_setup.md b/docs/kit/operation-view/page06_kubernetes_setup.md deleted file mode 100644 index 67930be5e..000000000 --- a/docs/kit/operation-view/page06_kubernetes_setup.md +++ /dev/null @@ -1,22 +0,0 @@ -# Setup in Kubernetes via Helm - -## Introduction - -While the local setup described earlier is sufficient to test basic EDC functionality, it is not appropriate for any actual environments. -For a more complete setup, Helm charts are provided. - -## Setup - -To set up an example environment, you can use the following Helm commands: - -```shell -helm repo add tractusx-edc https://eclipse-tractusx.github.io/charts/dev -helm install my-release tractusx-edc/tractusx-connector-memory --version 0.3.3 -``` - -## Configuration - -The Helm chart used above can be found [here](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts). -Configuring that deployment requires the same parameters as the local setup described previously. -Helm expects these parameters in the relevant `values.yaml`. -Similar example configurations can be found with the respective charts under the above link. 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 8609ab841..b2210ab2c 100644 --- a/docs/migration/Version_0.4.x_0.5.x.md +++ b/docs/migration/Version_0.4.x_0.5.x.md @@ -59,8 +59,8 @@ out [this documentation](https://github.com/eclipse-tractusx/tractusx-edc/blob/m If you are using the MIW and KeyCloak instances deployed to `INT`, the following values apply: -- MIW Url: https://managed-identity-wallets-new.int.demo.catena-x.net -- KeyCloak Token URL: https://centralidp.int.demo.catena-x.net/auth/realms/CX-Central/protocol/openid-connect/token +- MIW Url: +- KeyCloak Token URL: - Authority BPN: `BPNL00000003CRHK` > Please be aware that the above values are *only* valid for the Catena-X INT environment and *will* change on other diff --git a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md b/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md index 9ee8c52fe..785173187 100644 --- a/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md +++ b/edc-controlplane/edc-controlplane-memory-hashicorp-vault/notice.md @@ -2,24 +2,24 @@ An EDC Control Plane using memory-based storage, and HashiCorp Vault as secret store. -DockerHub: https://hub.docker.com/r/tractusx/edc-controlplane-memory-hashicorp-vault +DockerHub: Eclipse Tractus-X product(s) installed within the image: ## Tractus-X-EDC Control Plane -- GitHub: https://github.com/eclipse-tractusx/tractusx-edc -- Project home: https://projects.eclipse.org/projects/automotive.tractusx -- Dockerfile: https://github.com/eclipse-tractusx/tractusx-edc/blob/main/edc-controlplane/edc-controlplane-memory-hashicorp-vault/src/main/docker/Dockerfile +- 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_7-jre-alpine](https://github.com/adoptium/containers) -- Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin -- Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin +- Official Eclipse Temurin DockerHub page: +- Eclipse Temurin Project: - Additional information about the Eclipse Temurin - images: https://github.com/docker-library/repo-info/tree/master/repos/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). diff --git a/edc-controlplane/edc-controlplane-postgresql-azure-vault/README.md b/edc-controlplane/edc-controlplane-postgresql-azure-vault/README.md index 44a4a13b2..38a2b2bd4 100644 --- a/edc-controlplane/edc-controlplane-postgresql-azure-vault/README.md +++ b/edc-controlplane/edc-controlplane-postgresql-azure-vault/README.md @@ -1,4 +1,6 @@ -# EDC Control-Plane backed by [Postgresql](https://www.postgresql.org/) +# EDC Control-Plane PostgreSQL & Azure Key Vault + +This verison of the EDC Control-Plane is backed by [PostgreSQL](https://www.postgresql.org/) and [Azure Key Vault](https://azure.microsoft.com/en-us/services/key-vault/#product-overview). ## Building diff --git a/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md b/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md index 8f334da53..b5119932a 100644 --- a/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md +++ b/edc-controlplane/edc-controlplane-postgresql-azure-vault/notice.md @@ -2,24 +2,24 @@ An EDC Control Plane using PostgreSQL as persistence backend, and Azure KeyVault as secret store. -DockerHub: https://hub.docker.com/r/tractusx/edc-controlplane-postgresql-azure-vault +DockerHub: Eclipse Tractus-X product(s) installed within the image: ## Tractus-X EDC Control Plane -- GitHub: https://github.com/eclipse-tractusx/tractusx-edc -- Project home: https://projects.eclipse.org/projects/automotive.tractusx -- Dockerfile: https://github.com/eclipse-tractusx/tractusx-edc/blob/main/edc-controlplane/edc-controlplane-postgresql-azure-vault/src/main/docker/Dockerfile +- 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_7-jre-alpine](https://github.com/adoptium/containers) -- Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin -- Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin +- Official Eclipse Temurin DockerHub page: +- Eclipse Temurin Project: - Additional information about the Eclipse Temurin - images: https://github.com/docker-library/repo-info/tree/master/repos/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). diff --git a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/README.md b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/README.md index 4d73773fb..f06c4d127 100644 --- a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/README.md +++ b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/README.md @@ -1,4 +1,6 @@ -# EDC Control-Plane backed by [Postgresql](https://www.postgresql.org/) and [HashiCorp vault](https://www.vaultproject.io/docs) +# EDC Control-Plane PostgreSQL & Hashicorp Vault + +This version of the EDC Control-Plane is backed by [PostgreSQL](https://www.postgresql.org/) and [HashiCorp Vault](https://www.vaultproject.io/docs). ## Building diff --git a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md index fe7cd62ea..628c32c96 100644 --- a/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md +++ b/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/notice.md @@ -2,24 +2,24 @@ An EDC Control Plane using PostgreSQL as persistence backend, and HashiCorp Vault as secret store. -DockerHub: https://hub.docker.com/r/tractusx/edc-controlplane-postgresql-hashicorp-vault +DockerHub: Eclipse Tractus-X product(s) installed within the image: ## Tractus-X EDC Control Plane -- GitHub: https://github.com/eclipse-tractusx/tractusx-edc -- Project home: https://projects.eclipse.org/projects/automotive.tractusx -- Dockerfile: https://github.com/eclipse-tractusx/tractusx-edc/blob/main/edc-controlplane/edc-controlplane-postgresql-hashicorp-vault/src/main/docker/Dockerfile +- 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_7-jre-alpine](https://github.com/adoptium/containers) -- Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin -- Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin +- Official Eclipse Temurin DockerHub page: +- Eclipse Temurin Project: - Additional information about the Eclipse Temurin - images: https://github.com/docker-library/repo-info/tree/master/repos/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). diff --git a/edc-controlplane/edc-runtime-memory/notice.md b/edc-controlplane/edc-runtime-memory/notice.md index 53b503cac..21001a0e9 100644 --- a/edc-controlplane/edc-runtime-memory/notice.md +++ b/edc-controlplane/edc-runtime-memory/notice.md @@ -2,24 +2,24 @@ An EDC Control Plane using memory-based storage, and Azure KeyVault as secret store. -DockerHub: https://hub.docker.com/r/tractusx/edc-runtime-memory +DockerHub: Eclipse Tractus-X product(s) installed within the image: ## Tractus-X EDC Control Plane -- GitHub: https://github.com/eclipse-tractusx/tractusx-edc -- Project home: https://projects.eclipse.org/projects/automotive.tractusx -- Dockerfile: https://github.com/eclipse-tractusx/tractusx-edc/blob/main/edc-controlplane/edc-runtime-memory/src/main/docker/Dockerfile +- 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_7-jre-alpine](https://github.com/adoptium/containers) -- Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin -- Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin +- Official Eclipse Temurin DockerHub page: +- Eclipse Temurin Project: - Additional information about the Eclipse Temurin - images: https://github.com/docker-library/repo-info/tree/master/repos/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). diff --git a/edc-dataplane/edc-dataplane-azure-vault/README.md b/edc-dataplane/edc-dataplane-azure-vault/README.md index 564aabde6..21404d8d0 100644 --- a/edc-dataplane/edc-dataplane-azure-vault/README.md +++ b/edc-dataplane/edc-dataplane-azure-vault/README.md @@ -1,4 +1,6 @@ -# EDC Data-Plane with [Azure Key Vault](https://azure.microsoft.com/en-us/services/key-vault/#product-overview) +# EDC Data-Plane with Azure Key Vault + +This build of the EDC Data-Plane utilizes [Azure Key Vault](https://azure.microsoft.com/en-us/services/key-vault/#product-overview) for secret storage. ## Building diff --git a/edc-dataplane/edc-dataplane-azure-vault/notice.md b/edc-dataplane/edc-dataplane-azure-vault/notice.md index 756c2b9e6..7342e6fa8 100644 --- a/edc-dataplane/edc-dataplane-azure-vault/notice.md +++ b/edc-dataplane/edc-dataplane-azure-vault/notice.md @@ -2,24 +2,24 @@ An EDC Data Plane using the Azure KeyVault. -DockerHub: https://hub.docker.com/r/tractusx/edc-dataplane-azure-vault +DockerHub: Eclipse Tractus-X product(s) installed within the image: ## Tractus-X EDC Data Plane -- GitHub: https://github.com/eclipse-tractusx/tractusx-edc -- Project home: https://projects.eclipse.org/projects/automotive.tractusx -- Dockerfile: https://github.com/eclipse-tractusx/tractusx-edc/blob/main/edc-dataplane/edc-dataplane-azure-vault/src/main/docker/Dockerfile +- 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_7-jre-alpine](https://github.com/adoptium/containers) -- Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin -- Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin +- Official Eclipse Temurin DockerHub page: +- Eclipse Temurin Project: - Additional information about the Eclipse Temurin - images: https://github.com/docker-library/repo-info/tree/master/repos/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). diff --git a/edc-dataplane/edc-dataplane-hashicorp-vault/README.md b/edc-dataplane/edc-dataplane-hashicorp-vault/README.md index 9930c13a8..799d5dd1f 100644 --- a/edc-dataplane/edc-dataplane-hashicorp-vault/README.md +++ b/edc-dataplane/edc-dataplane-hashicorp-vault/README.md @@ -1,4 +1,6 @@ -# EDC Data-Plane [Hashicorp Vault](https://www.vaultproject.io/) +# EDC Data-Plane with Hashicorp Vault + +This build of the EDC Data-Plane utilizes [Hashicorp Vault](https://www.vaultproject.io/) for secret storage. ## Building diff --git a/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md b/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md index cfdddd2d5..964af31cf 100644 --- a/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md +++ b/edc-dataplane/edc-dataplane-hashicorp-vault/notice.md @@ -2,24 +2,24 @@ An EDC Data Plane using the HashiCorp Vault -DockerHub: https://hub.docker.com/r/tractusx/edc-dataplane-hashicorp-vault +DockerHub: Eclipse Tractus-X product(s) installed within the image: ## Tractus-X-EDC Data Plane -- GitHub: https://github.com/eclipse-tractusx/tractusx-edc -- Project home: https://projects.eclipse.org/projects/automotive.tractusx -- Dockerfile: https://github.com/eclipse-tractusx/tractusx-edc/blob/main/edc-dataplane/edc-dataplane-hashicorp-vault/src/main/docker/Dockerfile +- 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_7-jre-alpine](https://github.com/adoptium/containers) -- Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin -- Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin +- Official Eclipse Temurin DockerHub page: +- Eclipse Temurin Project: - Additional information about the Eclipse Temurin - images: https://github.com/docker-library/repo-info/tree/master/repos/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). diff --git a/edc-extensions/bpn-validation/README.md b/edc-extensions/bpn-validation/README.md index 4415cd482..02abad765 100644 --- a/edc-extensions/bpn-validation/README.md +++ b/edc-extensions/bpn-validation/README.md @@ -68,7 +68,7 @@ which constraint functions is called to evaluate the policy. Here, it is the `Bu ### Manipulating groups -The `bpn-evaluation` module provides a simple CRUD REST API to manipulate BPN <> group associations. Each BPN is stored +The `bpn-evaluation` module provides a simple CRUD REST API to manipulate associations between BPN and group. Each BPN is stored in an internal database together with the groups that it was assigned. The OpenAPI specification can be found [here](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/tractusx-edc). diff --git a/edc-extensions/cx-oauth2/README.md b/edc-extensions/cx-oauth2/README.md index 77ee53642..c796ac245 100644 --- a/edc-extensions/cx-oauth2/README.md +++ b/edc-extensions/cx-oauth2/README.md @@ -37,7 +37,7 @@ When a connector receives a message, it will checks the token audience is equal Starting from `0.0.1-milestone-9` EDC requires a mandatory setting `edc.participant.id`, which in this case should be the BPN number which is transmitted over the wire to identifying the participants IDs. To verify that in the DAPS token an extension has been created, that extract from the `ClaimToken` the BPN number and then EDC compare that identity with the one provided over the wire, for security reason. -By default, the extension parse the `referringConnector` url and extract the BPN number as the last parameter in the URL eg (http://sokrates-controlplane/BPNSOKRATES). +By default, the extension parse the `referringConnector` url and extract the BPN number as the last parameter in the URL eg (). ### Configuration diff --git a/edc-extensions/dataplane-selector-configuration/README.md b/edc-extensions/dataplane-selector-configuration/README.md index d5f922732..a912cf9c4 100644 --- a/edc-extensions/dataplane-selector-configuration/README.md +++ b/edc-extensions/dataplane-selector-configuration/README.md @@ -7,12 +7,12 @@ plane will look for an instance with matching capabilities to transfer data. Per data plane instance the following settings must be configured. As `` any unique string is valid. -| Key | Description | Mandatory | Example | -|:------------------------------------------------------------|:--------------------------------------------------|-----------|------------------------------------------------------------------| -| edc.dataplane.selector.````.url | URL to connect to the Data Plane Instance. | X | | -| edc.dataplane.selector.````.sourcetypes | Source Types in a comma separated List. | X | HttpData | -| edc.dataplane.selector.````.destinationtypes | Destination Types in a comma separated List. | X | HttpProxy | -| edc.dataplane.selector.````.properties | Additional properties of the Data Plane Instance. | (X) | { "publicApiUrl": "http://plato-edc-dataplane:8185/api/public" } | +| Key | Description | Mandatory | Example | +|:------------------------------------------------------------|:--------------------------------------------------|-----------|--------------------------------------------------------------------| +| edc.dataplane.selector.````.url | URL to connect to the Data Plane Instance. | X | | +| edc.dataplane.selector.````.sourcetypes | Source Types in a comma separated List. | X | HttpData | +| edc.dataplane.selector.````.destinationtypes | Destination Types in a comma separated List. | X | HttpProxy | +| edc.dataplane.selector.````.properties | Additional properties of the Data Plane Instance. | (X) | `{ "publicApiUrl": "http://plato-edc-dataplane:8185/api/public" }` | The property `publicApiUrl` is mandatory for Data Plane Instances with destination type `HttpProxy`. diff --git a/edc-extensions/ssi/jws2020-crypto-suite/README.md b/edc-extensions/ssi/jws2020-crypto-suite/README.md index 4a11e93dd..c552f3180 100644 --- a/edc-extensions/ssi/jws2020-crypto-suite/README.md +++ b/edc-extensions/ssi/jws2020-crypto-suite/README.md @@ -64,7 +64,6 @@ acceptable to you, please add a dependency exclusion to your build script. a [hard-coded context](https://github.com/filip26/iron-verifiable-credentials/blob/82d13326c5f64a0f38c75d417ffc263febfd970d/src/main/java/com/apicatalog/vc/processor/Issuer.java#L122) added to the compacted JSON-LD, which is incorrect. It doesn't negatively impact the resulting JSON-LD, other than possibly affecting processing times, but unfortunately it also makes it impossible to add more contexts, such -as https://w3id.org/security/suites/jws-2020/v1. We mitigated this with -the [`IssuerCompat.java`](./src/main/java/org/eclipse/edc/security/signature/jws2020/IssuerCompat.java), which should be -used -for compaction. +as . We mitigated this with +the [`IssuerCompat.java`](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/edc-extensions/ssi/jws2020-crypto-suite/src/main/java/org/eclipse/edc/security/signature/jws2020/IssuerCompat.java), +which should be used for compaction. diff --git a/edc-extensions/ssi/ssi-miw-credential-client/README.md b/edc-extensions/ssi/ssi-miw-credential-client/README.md index 8413e575b..883165147 100644 --- a/edc-extensions/ssi/ssi-miw-credential-client/README.md +++ b/edc-extensions/ssi/ssi-miw-credential-client/README.md @@ -27,7 +27,7 @@ This module also contains two additional validation rules of VP/VC on the provid | tx.ssi.oauth.client.id | X | | Client id | | tx.ssi.oauth.client.secret.alias | X | | Vault alias for the client secret | -By default, the `tx.ssi.miw.authority.issuer` is composed with `did:web:: +By default, the `tx.ssi.miw.authority.issuer` is composed with `did:web::` Another mandatory settings is `tx.ssi.endpoint.audience` which is described [here](../ssi-identity-core/README.md) diff --git a/resources/create_kit_documentation.sh b/resources/create_kit_documentation.sh new file mode 100755 index 000000000..beda356b9 --- /dev/null +++ b/resources/create_kit_documentation.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +output_dir=$1 +repo_root=$2 +release_version=$3 + +echo $1 $2 $3 + +cd ${repo_root} + +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/ +rsync -a --prune-empty-dirs --exclude 'build' --include '*' ./docs/kit/* ${output_dir}/tractusx-edc/Connector\ Kit/ + +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/03_deployment_via_helm +cp ./docs/samples/example-dataspace/README.md ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/03_deployment_via_helm/00_example_dataspace.md +cp ./docs/samples/edr-api-overview/edr-api-overview.md ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/03_deployment_via_helm/01_edr_api_overview.md + +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/04_Test\ Your\ Setup +cp ./docs/development/postman/README.md ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/04_Test\ Your\ Setup/00_postman.md +cp ./docs/samples/Transfer\ Data.md ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/04_Test\ Your\ Setup/02_transfer_data.md +cp -r ./docs/samples/diagrams ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/04_Test\ Your\ Setup/ + +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/05_Migration +cp ./docs/migration/* ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/05_Migration/ + +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View +cp ./docs/README.md ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/00_tractusx_edc.md +cp ./core/edr-core/README.md ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/06_edr_core.md +cp ./docs/development/Release.md ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/07_release.md + +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/03_EDC\ Controlplane +rsync -a --prune-empty-dirs --include '*/' --exclude 'build' --include '*.md' --include '*.png' --include '*.puml' --exclude '*' ./edc-controlplane/* ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/03_EDC\ Controlplane + +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/04_EDC\ Dataplane +rsync -a --prune-empty-dirs --include '*/' --exclude 'build' --include '*.md' --include '*.png' --include '*.puml' --exclude '*' ./edc-dataplane/* ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/04_EDC\ Dataplane + +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/05_EDC\ Extensions +rsync -a --prune-empty-dirs --include '*/' --exclude 'build' --include '*.md' --include '*.png' --include '*.puml' --exclude '*' ./edc-extensions/* ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/05_EDC\ Extensions + +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Documentation +cp ./docs/development/coding-principles.md ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/02_coding_principles.md +cp ./pr_etiquette.md ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/03_pr_etiquette.md +cp ./styleguide.md ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/04_styleguide.md +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/resources +cp ./resources/tx-checkstyle-config.xml ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/resources +cp ./SECURITY.md ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/05_security.md +mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/resources +cp ./resources/save_actions_scr.png ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/resources/ + +curl https://api.swaggerhub.com/apis/tractusx-edc/${release_version}/swagger.yaml > ${output_dir}/tractusx-edc/tractusx-edc-${release_version}.yaml + +cd ${output_dir}/tractusx-edc +zip -r ../tractusx-edc-docusaurus-${release_version}.zip ./* \ No newline at end of file From ceb3cece722a836bb35d7e2b28270089b676d727 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Fri, 22 Sep 2023 14:16:51 +0200 Subject: [PATCH 43/60] feat(ConsumerProxy): enhances error response when fetching data (#780) * feat(ConsumerProxy): enhances error response when fetching data * chore: dependencies file --- DEPENDENCIES | 4 ++-- .../api/asset/ClientErrorExceptionMapper.java | 4 +++- .../asset/ConsumerAssetRequestController.java | 3 +++ .../ConsumerAssetRequestControllerTest.java | 16 +++++++++++++--- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 5328a6374..a499dc637 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -143,8 +143,8 @@ maven/mavencentral/jakarta.annotation/jakarta.annotation-api/2.1.1, EPL-2.0 OR G maven/mavencentral/jakarta.inject/jakarta.inject-api/2.0.1, Apache-2.0, approved, clearlydefined maven/mavencentral/jakarta.json/jakarta.json-api/2.1.1, EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, #7907 maven/mavencentral/jakarta.transaction/jakarta.transaction-api/2.0.0, EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, #7697 -maven/mavencentral/jakarta.validation/jakarta.validation-api/2.0.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/jakarta.validation/jakarta.validation-api/3.0.2, Apache-2.0, approved, clearlydefined +maven/mavencentral/jakarta.validation/jakarta.validation-api/2.0.2, Apache-2.0, approved, ee4j.validation +maven/mavencentral/jakarta.validation/jakarta.validation-api/3.0.2, Apache-2.0, approved, ee4j.validation maven/mavencentral/jakarta.ws.rs/jakarta.ws.rs-api/3.1.0, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.rest maven/mavencentral/jakarta.xml.bind/jakarta.xml.bind-api/2.3.2, BSD-3-Clause, approved, ee4j.jaxb maven/mavencentral/jakarta.xml.bind/jakarta.xml.bind-api/3.0.0, BSD-3-Clause, approved, ee4j.jaxb diff --git a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/ClientErrorExceptionMapper.java b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/ClientErrorExceptionMapper.java index 386428084..819ae41fe 100644 --- a/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/ClientErrorExceptionMapper.java +++ b/edc-extensions/dataplane-proxy/edc-dataplane-proxy-consumer-api/src/main/java/org/eclipse/tractusx/edc/dataplane/proxy/consumer/api/asset/ClientErrorExceptionMapper.java @@ -18,6 +18,7 @@ import jakarta.ws.rs.core.Response; import jakarta.ws.rs.ext.ExceptionMapper; import jakarta.ws.rs.ext.Provider; +import org.eclipse.edc.web.spi.ApiErrorDetail; /** * Maps client errors to return the associated status. @@ -30,7 +31,8 @@ public ClientErrorExceptionMapper() { @Override public Response toResponse(ClientErrorException exception) { - return Response.status(exception.getResponse().getStatus()).build(); + var detail = ApiErrorDetail.Builder.newInstance().message(exception.getMessage()).build(); + return Response.status(exception.getResponse().getStatus()).entity(detail).build(); } } 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 fce090e3a..33d1f01c9 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 @@ -17,8 +17,10 @@ import jakarta.ws.rs.BadRequestException; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; import jakarta.ws.rs.container.AsyncResponse; 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.spi.pipeline.StreamResult; @@ -51,6 +53,7 @@ * Implements the HTTP proxy API. */ @Path("/aas") +@Produces(MediaType.APPLICATION_JSON) public class ConsumerAssetRequestController implements ConsumerAssetRequestApi { public static final String BASE_URL = "baseUrl"; private static final String HTTP_DATA = "HttpData"; 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 25891101a..04acacdf7 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 @@ -28,6 +28,7 @@ import org.eclipse.edc.spi.types.domain.edr.EndpointDataReference; import org.eclipse.edc.spi.types.domain.transfer.DataFlowRequest; import org.eclipse.edc.web.jersey.testfixtures.RestControllerTestBase; +import org.eclipse.tractusx.edc.dataplane.proxy.consumer.api.asset.ClientErrorExceptionMapper; import org.eclipse.tractusx.edc.dataplane.proxy.consumer.api.asset.ConsumerAssetRequestController; import org.eclipse.tractusx.edc.edr.spi.store.EndpointDataReferenceCache; import org.junit.jupiter.api.Test; @@ -53,6 +54,7 @@ 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.tractusx.edc.dataplane.proxy.consumer.api.asset.ConsumerAssetRequestController.BASE_URL; +import static org.hamcrest.Matchers.notNullValue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -159,7 +161,8 @@ void requestAsset_shouldReturnError_whenEdrByAssetIdNotFound() { .body(request) .post(ASSET_REQUEST_PATH) .then() - .statusCode(400); + .statusCode(400) + .body("message", notNullValue()); } @@ -184,7 +187,8 @@ void requestAsset_shouldReturnError_whenMultipleEdrsByAssetIdFound() { .body(request) .post(ASSET_REQUEST_PATH) .then() - .statusCode(428); + .statusCode(428) + .body("message", notNullValue()); } @@ -245,7 +249,8 @@ void requestAsset_shouldReturnError_whenEdrByTransferProcessIdNotFound() { .body(request) .post(ASSET_REQUEST_PATH) .then() - .statusCode(400); + .statusCode(400) + .body("message", notNullValue()); } @@ -309,6 +314,11 @@ protected Object controller() { return new ConsumerAssetRequestController(cache, dataPlaneManager, Executors.newSingleThreadExecutor(), mock(Monitor.class)); } + @Override + protected Object additionalResource() { + return new ClientErrorExceptionMapper(); + } + private RequestSpecification baseRequest() { return given() .baseUri("http://localhost:" + port) From a7931c803346d8761ef25209695318dec55b5324 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Mon, 25 Sep 2023 14:24:34 +0200 Subject: [PATCH 44/60] feat: adds CP callbacks for transfer complete/fail (#782) * feat: adds CP callbacks for transfer complete/fail * chore: dependencies file --- DEPENDENCIES | 1 + .../templates/_helpers.tpl | 7 ++ .../templates/deployment-controlplane.yaml | 2 + .../tractusx-connector/templates/_helpers.tpl | 7 ++ .../templates/deployment-controlplane.yaml | 2 + .../edc-controlplane-base/build.gradle.kts | 1 + .../tractusx/edc/lifecycle/Participant.java | 32 +++++ .../lifecycle/TestRuntimeConfiguration.java | 4 + .../AbstractHttpProviderPushTest.java | 115 ++++++++++++++++++ .../HttpProviderPushInMemoryTest.java | 46 +++++++ .../HttpProviderPushInPostgresqlTest.java | 45 +++++++ gradle/libs.versions.toml | 1 + 12 files changed, 263 insertions(+) create mode 100644 edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/AbstractHttpProviderPushTest.java create mode 100644 edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpProviderPushInMemoryTest.java create mode 100644 edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpProviderPushInPostgresqlTest.java diff --git a/DEPENDENCIES b/DEPENDENCIES index a499dc637..b742303ca 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -220,6 +220,7 @@ maven/mavencentral/org.eclipse.edc/control-api-configuration/0.3.0, Apache-2.0, maven/mavencentral/org.eclipse.edc/control-plane-aggregate-services/0.3.0, Apache-2.0, approved, technology.edc maven/mavencentral/org.eclipse.edc/control-plane-api-client-spi/0.3.0, Apache-2.0, approved, technology.edc maven/mavencentral/org.eclipse.edc/control-plane-api-client/0.3.0, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-api/0.3.0, Apache-2.0, approved, technology.edc maven/mavencentral/org.eclipse.edc/control-plane-core/0.3.0, Apache-2.0, approved, technology.edc maven/mavencentral/org.eclipse.edc/control-plane-spi/0.3.0, Apache-2.0, approved, technology.edc maven/mavencentral/org.eclipse.edc/core-spi/0.3.0, Apache-2.0, approved, technology.edc diff --git a/charts/tractusx-connector-azure-vault/templates/_helpers.tpl b/charts/tractusx-connector-azure-vault/templates/_helpers.tpl index c579ca6d6..b3c570bb1 100644 --- a/charts/tractusx-connector-azure-vault/templates/_helpers.tpl +++ b/charts/tractusx-connector-azure-vault/templates/_helpers.tpl @@ -135,6 +135,13 @@ Validation URL {{- printf "http://%s-controlplane:%v%s/token" ( include "txdc.fullname" $ ) $.Values.controlplane.endpoints.control.port $.Values.controlplane.endpoints.control.path -}} {{- end }} +{{/* +Control Plane URL +*/}} +{{- define "txdc.controlplane.url.control" -}} +{{- printf "http://%s-controlplane:%v%s" ( include "txdc.fullname" $ ) $.Values.controlplane.endpoints.control.port $.Values.controlplane.endpoints.control.path -}} +{{- end }} + {{/* Data Control URL */}} diff --git a/charts/tractusx-connector-azure-vault/templates/deployment-controlplane.yaml b/charts/tractusx-connector-azure-vault/templates/deployment-controlplane.yaml index e5426d115..651e502a3 100644 --- a/charts/tractusx-connector-azure-vault/templates/deployment-controlplane.yaml +++ b/charts/tractusx-connector-azure-vault/templates/deployment-controlplane.yaml @@ -184,6 +184,8 @@ spec: value: {{ .Values.controlplane.endpoints.protocol.port | quote }} - name: "WEB_HTTP_PROTOCOL_PATH" value: {{ .Values.controlplane.endpoints.protocol.path | quote }} + - name: "EDC_CONTROL_ENDPOINT" + value: {{ include "txdc.controlplane.url.control" .}} ######### ## DSP ## diff --git a/charts/tractusx-connector/templates/_helpers.tpl b/charts/tractusx-connector/templates/_helpers.tpl index c579ca6d6..b3c570bb1 100644 --- a/charts/tractusx-connector/templates/_helpers.tpl +++ b/charts/tractusx-connector/templates/_helpers.tpl @@ -135,6 +135,13 @@ Validation URL {{- printf "http://%s-controlplane:%v%s/token" ( include "txdc.fullname" $ ) $.Values.controlplane.endpoints.control.port $.Values.controlplane.endpoints.control.path -}} {{- end }} +{{/* +Control Plane URL +*/}} +{{- define "txdc.controlplane.url.control" -}} +{{- printf "http://%s-controlplane:%v%s" ( include "txdc.fullname" $ ) $.Values.controlplane.endpoints.control.port $.Values.controlplane.endpoints.control.path -}} +{{- end }} + {{/* Data Control URL */}} diff --git a/charts/tractusx-connector/templates/deployment-controlplane.yaml b/charts/tractusx-connector/templates/deployment-controlplane.yaml index 830bf349f..22c54ba53 100644 --- a/charts/tractusx-connector/templates/deployment-controlplane.yaml +++ b/charts/tractusx-connector/templates/deployment-controlplane.yaml @@ -184,6 +184,8 @@ spec: value: {{ .Values.controlplane.endpoints.protocol.port | quote }} - name: "WEB_HTTP_PROTOCOL_PATH" value: {{ .Values.controlplane.endpoints.protocol.path | quote }} + - name: "EDC_CONTROL_ENDPOINT" + value: {{ include "txdc.controlplane.url.control" .}} ######### ## DSP ## diff --git a/edc-controlplane/edc-controlplane-base/build.gradle.kts b/edc-controlplane/edc-controlplane-base/build.gradle.kts index f8bc52809..c5c9a30ed 100644 --- a/edc-controlplane/edc-controlplane-base/build.gradle.kts +++ b/edc-controlplane/edc-controlplane-base/build.gradle.kts @@ -47,6 +47,7 @@ dependencies { runtimeOnly(libs.edc.auth.tokenbased) runtimeOnly(libs.edc.api.management) + runtimeOnly(libs.edc.api.controlplane) runtimeOnly(libs.edc.api.management.config) runtimeOnly(libs.edc.api.observability) runtimeOnly(libs.edc.dsp) 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 36b722640..da0c45b30 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 @@ -35,6 +35,7 @@ import java.time.Duration; import java.util.Arrays; import java.util.Map; +import java.util.UUID; import java.util.concurrent.atomic.AtomicReference; import static io.restassured.RestAssured.given; @@ -42,6 +43,7 @@ import static java.lang.String.format; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; +import static org.eclipse.edc.connector.contract.spi.types.negotiation.ContractNegotiationStates.FINALIZED; import static org.eclipse.edc.jsonld.spi.JsonLdKeywords.ID; import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_DATASET_ATTRIBUTE; import static org.eclipse.tractusx.edc.helpers.AssetHelperFunctions.createDataAddressBuilder; @@ -342,6 +344,36 @@ public JsonArray getCatalogDatasets(Participant provider, JsonObject querySpec) return datasetReference.get(); } + /** + * Request a provider asset: + * - retrieves the contract definition associated with the asset, + * - handles the contract negotiation, + * - initiate the data transfer. + * + * @param provider data provider + * @param assetId asset id + * @param destination data destination + * @return transfer process id. + */ + public String requestAsset(Participant provider, String assetId, JsonObject destination) { + var negotiationId = negotiateContract(provider, assetId); + var contractAgreementId = waitForAgreementId(negotiationId); + var transferProcessId = requestTransfer(UUID.randomUUID().toString(), contractAgreementId, assetId, provider, destination); + assertThat(transferProcessId).isNotNull(); + return transferProcessId; + } + + + public String waitForAgreementId(String negotiationId) { + await().atMost(timeout).untilAsserted(() -> { + var state = getContractNegotiationField(negotiationId, "state"); + assertThat(state).isEqualTo(FINALIZED.name()); + }); + + return getContractAgreementId(negotiationId); + } + + public String pullProxyDataByAssetId(Participant provider, String assetId) { var body = Map.of("assetId", assetId, "endpointUrl", format("%s/aas/test", provider.gatewayEndpoint)); return getProxyData(body); 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 e186a94a5..71a6aa38f 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 @@ -97,6 +97,8 @@ public static Map sokratesConfiguration() { put("web.http.public.path", "/api/public"); put("web.http.public.port", SOKRATES_PUBLIC_API_PORT); + put("edc.transfer.send.retry.limit", "1"); + put("edc.transfer.send.retry.base-delay.ms", "100"); // embedded dataplane config put("web.http.control.path", "/api/dataplane/control"); put("web.http.control.port", SOKRATES_DATAPLANE_CONTROL_PORT); @@ -128,6 +130,8 @@ public static Map platoConfiguration() { put("edc.api.auth.key", "testkey"); put("web.http.public.port", PLATO_PUBLIC_API_PORT); put("web.http.public.path", "/api/public"); + put("edc.transfer.send.retry.limit", "1"); + put("edc.transfer.send.retry.base-delay.ms", "100"); // embedded dataplane config put("web.http.control.path", "/api/dataplane/control"); put("web.http.control.port", PLATO_DATAPLANE_CONTROL_PORT); diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/AbstractHttpProviderPushTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/AbstractHttpProviderPushTest.java new file mode 100644 index 000000000..0186841c2 --- /dev/null +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/AbstractHttpProviderPushTest.java @@ -0,0 +1,115 @@ +/* + * 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.tests.transfer; + +import jakarta.json.Json; +import jakarta.json.JsonObject; +import okhttp3.mockwebserver.Dispatcher; +import okhttp3.mockwebserver.MockResponse; +import okhttp3.mockwebserver.MockWebServer; +import okhttp3.mockwebserver.RecordedRequest; +import org.eclipse.tractusx.edc.lifecycle.Participant; +import org.jetbrains.annotations.NotNull; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.time.Duration; +import java.util.UUID; + +import static jakarta.json.Json.createObjectBuilder; +import static java.time.Duration.ofSeconds; +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; +import static org.eclipse.edc.connector.transfer.spi.types.TransferProcessStates.COMPLETED; +import static org.eclipse.edc.jsonld.spi.JsonLdKeywords.TYPE; +import static org.eclipse.edc.spi.CoreConstants.EDC_NAMESPACE; +import static org.eclipse.tractusx.edc.helpers.PolicyHelperFunctions.businessPartnerNumberPolicy; +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; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.SOKRATES_NAME; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.platoConfiguration; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.sokratesConfiguration; + +public abstract class AbstractHttpProviderPushTest { + + protected static final Participant SOKRATES = new Participant(SOKRATES_NAME, SOKRATES_BPN, sokratesConfiguration()); + protected static final Participant PLATO = new Participant(PLATO_NAME, PLATO_BPN, platoConfiguration()); + + private static final Duration ASYNC_TIMEOUT = ofSeconds(45); + private static final Duration ASYNC_POLL_INTERVAL = ofSeconds(1); + private MockWebServer server; + + @BeforeEach + void setup() { + server = new MockWebServer(); + } + + @Test + void httpPushDataTransfer() throws IOException { + var assetId = UUID.randomUUID().toString(); + + var providerUrl = server.url("/mock/api/provider"); + var consumerUrl = server.url("/mock/api/consumer"); + + server.setDispatcher(new Dispatcher() { + @NotNull + @Override + public MockResponse dispatch(@NotNull RecordedRequest recordedRequest) throws InterruptedException { + return switch (recordedRequest.getPath().split("\\?")[0]) { + case "/mock/api/provider" -> new MockResponse().setResponseCode(200); + case "/mock/api/consumer" -> new MockResponse().setResponseCode(200); + default -> new MockResponse().setResponseCode(404); + }; + } + }); + + server.start(); + + PLATO.createAsset(assetId, Json.createObjectBuilder().build(), httpDataAddress(providerUrl.toString())); + PLATO.createPolicy(createTestPolicy("policy-1", SOKRATES.getBpn())); + PLATO.createContractDefinition(assetId, "def-1", "policy-1", "policy-1"); + + var destination = httpDataAddress(consumerUrl.toString()); + + var transferProcessId = SOKRATES.requestAsset(PLATO, assetId, destination); + await().atMost(ASYNC_TIMEOUT).untilAsserted(() -> { + var state = SOKRATES.getTransferProcessState(transferProcessId); + assertThat(state).isEqualTo(COMPLETED.name()); + }); + } + + @AfterEach + void teardown() throws IOException { + server.shutdown(); + } + + protected JsonObject createTestPolicy(String policyId, String bpn) { + return businessPartnerNumberPolicy(policyId, bpn); + } + + private JsonObject httpDataAddress(String baseUrl) { + return createObjectBuilder() + .add(TYPE, EDC_NAMESPACE + "DataAddress") + .add(EDC_NAMESPACE + "type", "HttpData") + .add(EDC_NAMESPACE + "properties", createObjectBuilder() + .add(EDC_NAMESPACE + "baseUrl", baseUrl) + .build()) + .build(); + } + +} diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpProviderPushInMemoryTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpProviderPushInMemoryTest.java new file mode 100644 index 000000000..2b32b3e9c --- /dev/null +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpProviderPushInMemoryTest.java @@ -0,0 +1,46 @@ +/* + * 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.tests.transfer; + +import org.eclipse.edc.junit.annotations.EndToEndTest; +import org.eclipse.tractusx.edc.lifecycle.ParticipantRuntime; +import org.junit.jupiter.api.extension.RegisterExtension; + +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; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.SOKRATES_NAME; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.platoConfiguration; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.sokratesConfiguration; + +@EndToEndTest +public class HttpProviderPushInMemoryTest extends AbstractHttpProviderPushTest { + + @RegisterExtension + protected static final ParticipantRuntime SOKRATES_RUNTIME = new ParticipantRuntime( + ":edc-tests:runtime:runtime-memory", + SOKRATES_NAME, + SOKRATES_BPN, + sokratesConfiguration() + ); + + @RegisterExtension + protected static final ParticipantRuntime PLATO_RUNTIME = new ParticipantRuntime( + ":edc-tests:runtime:runtime-memory", + PLATO_NAME, + PLATO_BPN, + platoConfiguration() + ); +} diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpProviderPushInPostgresqlTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpProviderPushInPostgresqlTest.java new file mode 100644 index 000000000..4946c9934 --- /dev/null +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/transfer/HttpProviderPushInPostgresqlTest.java @@ -0,0 +1,45 @@ +/* + * 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.tests.transfer; + +import org.eclipse.edc.junit.annotations.PostgresqlDbIntegrationTest; +import org.eclipse.tractusx.edc.lifecycle.PgParticipantRuntime; +import org.junit.jupiter.api.extension.RegisterExtension; + +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; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.SOKRATES_NAME; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.platoConfiguration; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.sokratesConfiguration; + +@PostgresqlDbIntegrationTest +public class HttpProviderPushInPostgresqlTest extends AbstractHttpProviderPushTest { + + @RegisterExtension + protected static final PgParticipantRuntime SOKRATES_RUNTIME = new PgParticipantRuntime( + ":edc-tests:runtime:runtime-postgresql", + SOKRATES_NAME, + SOKRATES_BPN, + sokratesConfiguration() + ); + @RegisterExtension + protected static final PgParticipantRuntime PLATO_RUNTIME = new PgParticipantRuntime( + ":edc-tests:runtime:runtime-postgresql", + PLATO_NAME, + PLATO_BPN, + platoConfiguration() + ); +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b4b04e305..3f7229414 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -68,6 +68,7 @@ edc-api-observability = { module = "org.eclipse.edc:api-observability", version. edc-api-contractnegotiation = { module = "org.eclipse.edc:contract-negotiation-api", version.ref = "edc" } edc-api-dataplane = { module = "org.eclipse.edc:dataplane-api", version.ref = "edc" } edc-api-transferprocess = { module = "org.eclipse.edc:transfer-process-api", version.ref = "edc" } +edc-api-controlplane = { module = "org.eclipse.edc:control-plane-api", version.ref = "edc" } edc-dsp = { module = "org.eclipse.edc:dsp", version.ref = "edc" } edc-iam-mock = { module = "org.eclipse.edc:iam-mock", version.ref = "edc" } edc-policy-engine = { module = "org.eclipse.edc:policy-engine", version.ref = "edc" } From c62b28c76d22e150034a537b19053a70f6200312 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 14:46:05 +0200 Subject: [PATCH 45/60] chore(deps): bump actions/checkout from 3 to 4 (#783) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout 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> --- .github/workflows/publish-docusaurus.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docusaurus.yaml b/.github/workflows/publish-docusaurus.yaml index 5cb0f5c06..8c13481f6 100644 --- a/.github/workflows/publish-docusaurus.yaml +++ b/.github/workflows/publish-docusaurus.yaml @@ -44,7 +44,7 @@ jobs: SWAGGERHUB_API_KEY: ${{ secrets.SWAGGERHUB_API_KEY }} SWAGGERHUB_USER: ${{ secrets.SWAGGERHUB_USER }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: "Extract version" id: extract_version From 81ecb17b9957d660a8439bd5793b9438acc4f51a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 15:59:33 +0200 Subject: [PATCH 46/60] chore(deps): bump com.bmuschko.docker-remote-api from 9.3.2 to 9.3.3 (#789) Bumps com.bmuschko.docker-remote-api from 9.3.2 to 9.3.3. --- 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 e339a6b7f..23013ce7b 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.2" + id("com.bmuschko.docker-remote-api") version "9.3.3" id("io.github.gradle-nexus.publish-plugin") version "1.3.0" } From 566f637f4579fadd93acb21f83b24f5001af9b5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 16:47:39 +0200 Subject: [PATCH 47/60] chore(deps): bump com.nimbusds:nimbus-jose-jwt from 9.34 to 9.35 (#788) * chore(deps): bump com.nimbusds:nimbus-jose-jwt from 9.34 to 9.35 Bumps [com.nimbusds:nimbus-jose-jwt](https://bitbucket.org/connect2id/nimbus-jose-jwt) from 9.34 to 9.35. - [Changelog](https://bitbucket.org/connect2id/nimbus-jose-jwt/src/master/CHANGELOG.txt) - [Commits](https://bitbucket.org/connect2id/nimbus-jose-jwt/branches/compare/9.35..9.34) --- 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: 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 b742303ca..57b839c56 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.31, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.34, Apache-2.0, approved, #10549 +maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.35, , 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 3f7229414..fd4961f7b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ format.version = "1.1" edc = "0.3.0" postgres = "42.6.0" awaitility = "4.2.0" -nimbus = "9.34" +nimbus = "9.35" azure-identity = "1.10.1" slf4j = "2.0.9" okhttp = "4.11.0" From c6f586ac521c8aa8a288a7bd602ad885d9fbd3f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 17:42:38 +0200 Subject: [PATCH 48/60] chore(deps): bump aws from 2.20.149 to 2.20.153 (#787) * chore(deps): bump aws from 2.20.149 to 2.20.153 Bumps `aws` from 2.20.149 to 2.20.153. Updates `software.amazon.awssdk:s3` from 2.20.149 to 2.20.153 Updates `software.amazon.awssdk:s3-transfer-manager` from 2.20.149 to 2.20.153 --- 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: 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 | 42 +++++++++++++++++++-------------------- gradle/libs.versions.toml | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 57b839c56..fabdd1ad7 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -409,46 +409,46 @@ maven/mavencentral/org.testcontainers/testcontainers/1.19.0, Apache-2.0 AND MIT, 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.149, Apache-2.0, approved, #8598 +maven/mavencentral/software.amazon.awssdk/annotations/2.20.153, 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.149, 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/arns/2.20.146, Apache-2.0, approved, #8616 -maven/mavencentral/software.amazon.awssdk/arns/2.20.149, Apache-2.0, approved, #8616 +maven/mavencentral/software.amazon.awssdk/arns/2.20.153, 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.149, Apache-2.0, approved, #8602 +maven/mavencentral/software.amazon.awssdk/auth/2.20.153, 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.149, 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-query-protocol/2.20.146, Apache-2.0, approved, #8629 -maven/mavencentral/software.amazon.awssdk/aws-query-protocol/2.20.149, 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-xml-protocol/2.20.146, Apache-2.0, approved, #8624 -maven/mavencentral/software.amazon.awssdk/aws-xml-protocol/2.20.149, 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/crt-core/2.20.146, Apache-2.0, approved, #8627 -maven/mavencentral/software.amazon.awssdk/crt-core/2.20.149, 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/endpoints-spi/2.20.146, Apache-2.0, approved, #8604 -maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.149, 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/http-client-spi/2.20.146, Apache-2.0, approved, #8608 -maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.149, 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/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.149, 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/metrics-spi/2.20.146, Apache-2.0, approved, #8636 -maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.149, 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/netty-nio-client/2.20.146, Apache-2.0, approved, #8613 -maven/mavencentral/software.amazon.awssdk/netty-nio-client/2.20.149, 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/profiles/2.20.146, Apache-2.0, approved, #8600 -maven/mavencentral/software.amazon.awssdk/profiles/2.20.149, Apache-2.0, approved, #8600 +maven/mavencentral/software.amazon.awssdk/profiles/2.20.153, 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.149, 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/regions/2.20.146, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/regions/2.20.149, Apache-2.0, approved, #8632 -maven/mavencentral/software.amazon.awssdk/s3-transfer-manager/2.20.149, Apache-2.0, approved, #10521 +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/s3/2.20.146, Apache-2.0, approved, #8623 -maven/mavencentral/software.amazon.awssdk/s3/2.20.149, Apache-2.0, approved, #8623 +maven/mavencentral/software.amazon.awssdk/s3/2.20.153, 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.149, 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/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.149, 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/utils/2.20.146, Apache-2.0, approved, #8625 -maven/mavencentral/software.amazon.awssdk/utils/2.20.149, Apache-2.0, approved, #8625 +maven/mavencentral/software.amazon.awssdk/utils/2.20.153, 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 fd4961f7b..cd3f111c4 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.0" -aws = "2.20.149" +aws = "2.20.153" rsApi = "3.1.0" jupiter = "5.10.0" assertj = "3.24.2" From 46d49e333285e41a736647323f6129c81fac6897 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 19:20:54 +0200 Subject: [PATCH 49/60] chore(deps): bump org.flywaydb:flyway-core from 9.22.1 to 9.22.2 (#786) * chore(deps): bump org.flywaydb:flyway-core from 9.22.1 to 9.22.2 Bumps [org.flywaydb:flyway-core](https://github.com/flyway/flyway) from 9.22.1 to 9.22.2. - [Release notes](https://github.com/flyway/flyway/releases) - [Commits](https://github.com/flyway/flyway/compare/flyway-9.22.1...flyway-9.22.2) --- updated-dependencies: - dependency-name: org.flywaydb:flyway-core dependency-type: direct:production update-type: version-update:semver-patch ... 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 --- DEPENDENCIES | 2 +- edc-extensions/postgresql-migration/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index fabdd1ad7..f1fdd060d 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -325,7 +325,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.1, Apache-2.0, approved, #10349 +maven/mavencentral/org.flywaydb/flyway-core/9.22.2, 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 0d257e45e..57fec3b9b 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.1") + implementation("org.flywaydb:flyway-core:9.22.2") } From 420020fbaa8cb15ad2c269fd5d77110a7b7cd08f Mon Sep 17 00:00:00 2001 From: "Sascha Isele (ZF Friedrichshafen AG)" <127207440+saschaisele-zf@users.noreply.github.com> Date: Tue, 26 Sep 2023 10:16:08 +0200 Subject: [PATCH 50/60] docs(postman): updated assets to v3 (#793) Signed-off-by: Sascha Isele --- docs/development/postman/collection.json | 43 +++++++++++++++++------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/docs/development/postman/collection.json b/docs/development/postman/collection.json index 0a4234514..b15fefd43 100644 --- a/docs/development/postman/collection.json +++ b/docs/development/postman/collection.json @@ -1,9 +1,9 @@ { "info": { - "_postman_id": "e124b384-9b3c-4f5f-b752-f7aa43ffbebd", + "_postman_id": "e35463fb-d1be-4794-b35b-2d40d46c4655", "name": "tractusx-edc_dsp", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "27652630" + "_exporter_id": "28118277" }, "item": [ { @@ -26,7 +26,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\n \"@context\": {},\n \"asset\": {\n \"@type\": \"Asset\",\n \"@id\": \"{{ASSET_ID}}\", \n \"properties\": {\n \"description\": \"Product EDC Demo Asset\"\n }\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\"\n }\n}", + "raw": "{\n \"@context\": {\n \"edc\": \"https://w3id.org/edc/v0.0.1/ns/\"\n },\n \"@id\": \"{{ASSET_ID}}\",\n \"properties\": {\n \"key\": \"value\"\n },\n \"privateProperties\": {\n \"privateKey\": \"privateValue\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"proxyPath\": \"true\",\n \"type\": \"HttpData\",\n \"proxyQueryParams\": \"true\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\"\n }\n}", "options": { "raw": { "language": "json" @@ -34,9 +34,9 @@ } }, "url": { - "raw": "{{PROVIDER_MANAGEMENT_URL}}/assets", + "raw": "{{PROVIDER_MANAGEMENT_URL_V3}}/assets", "host": [ - "{{PROVIDER_MANAGEMENT_URL}}" + "{{PROVIDER_MANAGEMENT_URL_V3}}" ], "path": [ "assets" @@ -50,10 +50,19 @@ "request": { "method": "POST", "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"@context\": {\r\n \"edc\": \"https://w3id.org/edc/v0.0.1/ns/\"\r\n },\r\n \"@type\": \"QuerySpec\",\r\n \"offset\": 0,\r\n \"limit\": 10,\r\n \"sortOrder\": \"DESC\",\r\n \"sortField\": \"fieldName\",\r\n \"filterExpression\": []\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, "url": { - "raw": "{{PROVIDER_MANAGEMENT_URL}}/assets/request", + "raw": "{{PROVIDER_MANAGEMENT_URL_V3}}/assets/request", "host": [ - "{{PROVIDER_MANAGEMENT_URL}}" + "{{PROVIDER_MANAGEMENT_URL_V3}}" ], "path": [ "assets", @@ -69,9 +78,9 @@ "method": "GET", "header": [], "url": { - "raw": "{{PROVIDER_MANAGEMENT_URL}}/assets/{{ASSET_ID}}", + "raw": "{{PROVIDER_MANAGEMENT_URL_V3}}/assets/{{ASSET_ID}}", "host": [ - "{{PROVIDER_MANAGEMENT_URL}}" + "{{PROVIDER_MANAGEMENT_URL_V3}}" ], "path": [ "assets", @@ -87,9 +96,9 @@ "method": "DELETE", "header": [], "url": { - "raw": "{{PROVIDER_MANAGEMENT_URL}}/assets/{{ASSET_ID}}", + "raw": "{{PROVIDER_MANAGEMENT_URL_V3}}/assets/{{ASSET_ID}}", "host": [ - "{{PROVIDER_MANAGEMENT_URL}}" + "{{PROVIDER_MANAGEMENT_URL_V3}}" ], "path": [ "assets", @@ -820,6 +829,11 @@ "key": "CONSUMER_MANAGEMENT_URL", "value": "http://localhost:31364/management/v2" }, + { + "key": "CONSUMER_MANAGEMENT_URL_V3", + "value": "http://localhost:31364/management/v3", + "type": "string" + }, { "key": "PROVIDER_PROTOCOL_URL", "value": "http://plato-controlplane:8084/api/v1/dsp" @@ -828,6 +842,11 @@ "key": "PROVIDER_MANAGEMENT_URL", "value": "http://localhost:30279/management/v2" }, + { + "key": "PROVIDER_MANAGEMENT_URL_V3", + "value": "http://localhost:30279/management/v3", + "type": "string" + }, { "key": "ASSET_ID", "value": "1", @@ -903,4 +922,4 @@ "type": "string" } ] -} +} \ No newline at end of file From a1be878ae4c0bea7edc7c9deebf27da9854baf89 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 10:18:04 +0200 Subject: [PATCH 51/60] chore(deps): bump com.google.crypto.tink:tink from 1.10.0 to 1.11.0 (#785) * chore(deps): bump com.google.crypto.tink:tink from 1.10.0 to 1.11.0 Bumps [com.google.crypto.tink:tink](https://github.com/tink-crypto/tink-java) from 1.10.0 to 1.11.0. - [Release notes](https://github.com/tink-crypto/tink-java/releases) - [Commits](https://github.com/tink-crypto/tink-java/compare/v1.10.0...v1.11.0) --- updated-dependencies: - dependency-name: com.google.crypto.tink:tink 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 --- DEPENDENCIES | 2 +- gradle/libs.versions.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index f1fdd060d..166ebd00f 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -54,7 +54,7 @@ maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.3, Apache-2. 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 -maven/mavencentral/com.google.crypto.tink/tink/1.10.0, Apache-2.0, approved, #9845 +maven/mavencentral/com.google.crypto.tink/tink/1.11.0, , restricted, clearlydefined maven/mavencentral/com.google.errorprone/error_prone_annotations/2.18.0, Apache-2.0, approved, clearlydefined maven/mavencentral/com.google.errorprone/error_prone_annotations/2.7.1, Apache-2.0, approved, clearlydefined maven/mavencentral/com.google.guava/failureaccess/1.0.1, Apache-2.0, approved, CQ22654 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index cd3f111c4..6c4fbb520 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -22,7 +22,7 @@ assertj = "3.24.2" titanium = "1.3.2" jackson = "2.15.2" jakarta-json = "2.0.1" -tink = "1.10.0" +tink = "1.11.0" iron-vc = "0.8.1" [libraries] From 16a988c5f8dd487698e32590dc5feded2705deec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 10:30:28 +0200 Subject: [PATCH 52/60] chore(deps): bump actions/setup-java from 3.12.0 to 3.13.0 (#784) Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3.12.0 to 3.13.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v3.12.0...v3.13.0) --- updated-dependencies: - dependency-name: actions/setup-java 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> --- .github/workflows/publish-swaggerhub.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-swaggerhub.yaml b/.github/workflows/publish-swaggerhub.yaml index f937fd841..aa1411f05 100644 --- a/.github/workflows/publish-swaggerhub.yaml +++ b/.github/workflows/publish-swaggerhub.yaml @@ -52,7 +52,7 @@ jobs: - uses: actions/checkout@v4 - name: Setup JDK 17 - uses: actions/setup-java@v3.12.0 + uses: actions/setup-java@v3.13.0 with: java-version: '17' distribution: 'temurin' From 8ff09348bf34d1b6a2a98720f6ecf30423af1738 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Mon, 2 Oct 2023 16:07:29 +0200 Subject: [PATCH 53/60] chore: updates to EDC 0.3.1 (#806) * chore: updates to EDC 0.3.1 * chore: fix tests due status checker removal --- DEPENDENCIES | 234 +++++++++--------- .../tests/edr/AbstractNegotiateEdrTest.java | 18 +- .../edc/tests/edr/AbstractRenewalEdrTest.java | 11 +- .../proxy/AbstractDataPlaneProxyTest.java | 47 +++- ...AbstractHttpConsumerPullWithProxyTest.java | 2 +- .../edc/lifecycle/TestServiceExtension.java | 36 --- ...rg.eclipse.edc.spi.system.ServiceExtension | 2 - gradle/libs.versions.toml | 2 +- 8 files changed, 182 insertions(+), 170 deletions(-) delete mode 100644 edc-tests/runtime/extensions/src/main/java/org/eclipse/tractusx/edc/lifecycle/TestServiceExtension.java diff --git a/DEPENDENCIES b/DEPENDENCIES index 166ebd00f..a1f69245a 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -54,7 +54,7 @@ maven/mavencentral/com.github.docker-java/docker-java-transport/3.3.3, Apache-2. 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 -maven/mavencentral/com.google.crypto.tink/tink/1.11.0, , restricted, clearlydefined +maven/mavencentral/com.google.crypto.tink/tink/1.11.0, Apache-2.0, approved, #10719 maven/mavencentral/com.google.errorprone/error_prone_annotations/2.18.0, Apache-2.0, approved, clearlydefined maven/mavencentral/com.google.errorprone/error_prone_annotations/2.7.1, Apache-2.0, approved, clearlydefined maven/mavencentral/com.google.guava/failureaccess/1.0.1, Apache-2.0, approved, CQ22654 @@ -68,7 +68,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.31, 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, , 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 @@ -188,121 +188,121 @@ 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.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/api-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/api-observability/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-index-sql/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/auth-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/auth-tokenbased/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/autodoc-processor/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/aws-s3-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/aws-s3-test/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/azure-blob-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/azure-test/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/boot/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/callback-event-dispatcher/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/callback-http-dispatcher/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/configuration-filesystem/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/connector-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-agreement-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-definition-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-definition-store-sql/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-negotiation-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-negotiation-store-sql/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-api-configuration/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-aggregate-services/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-api-client-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-api-client/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/core-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-aws-s3/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-azure-storage/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-client/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-oauth2/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-http/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-client/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-selector-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/data-plane-util/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-http-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/http-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/http/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/iam-mock/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-micrometer/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-providers/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jetty-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jetty-micrometer/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/json-ld-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/json-ld/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/junit/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jwt-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jwt-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/management-api-configuration/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/management-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/micrometer-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/oauth2-client/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/oauth2-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-definition-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-definition-store-sql/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-engine/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-evaluator/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-model/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-lease/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/sql-pool-apache-commons/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/state-machine/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-local/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-data-plane/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-process-api/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-process-store-sql/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-pull-http-dynamic-receiver/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transform-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transform-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/util/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/validator-core/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/validator-spi/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/vault-azure/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/vault-hashicorp/0.3.0, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/web-spi/0.3.0, Apache-2.0, approved, technology.edc +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.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 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 9e6d87a40..71a54ebc9 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 @@ -22,7 +22,6 @@ import org.eclipse.edc.connector.contract.spi.event.contractnegotiation.ContractNegotiationInitiated; import org.eclipse.edc.connector.contract.spi.event.contractnegotiation.ContractNegotiationRequested; import org.eclipse.edc.connector.contract.spi.event.contractnegotiation.ContractNegotiationVerified; -import org.eclipse.edc.connector.transfer.spi.event.TransferProcessCompleted; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessInitiated; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessProvisioned; import org.eclipse.edc.connector.transfer.spi.event.TransferProcessRequested; @@ -35,11 +34,14 @@ import org.junit.jupiter.api.Test; import java.io.IOException; +import java.time.Duration; import java.util.List; import java.util.Set; import java.util.stream.Collectors; +import static java.time.Duration.ofSeconds; import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; import static org.eclipse.edc.spi.CoreConstants.EDC_NAMESPACE; import static org.eclipse.edc.spi.types.domain.edr.EndpointDataReference.EDR_SIMPLE_TYPE; import static org.eclipse.tractusx.edc.helpers.EdrNegotiationHelperFunctions.createCallback; @@ -58,6 +60,9 @@ public abstract class AbstractNegotiateEdrTest { protected static final Participant SOKRATES = new Participant(SOKRATES_NAME, SOKRATES_BPN, sokratesConfiguration()); protected static final Participant PLATO = new Participant(PLATO_NAME, PLATO_BPN, platoConfiguration()); + private static final Duration ASYNC_TIMEOUT = ofSeconds(45); + private static final Duration ASYNC_POLL_INTERVAL = ofSeconds(1); + MockWebServer server; @BeforeEach @@ -78,8 +83,7 @@ void negotiateEdr_shouldInvokeCallbacks() throws IOException { createEvent(TransferProcessInitiated.class), createEvent(TransferProcessProvisioned.class), createEvent(TransferProcessRequested.class), - createEvent(TransferProcessStarted.class), - createEvent(TransferProcessCompleted.class)); + createEvent(TransferProcessStarted.class)); var assetId = "api-asset-1"; var url = server.url("/mock/api"); @@ -113,6 +117,14 @@ void negotiateEdr_shouldInvokeCallbacks() throws IOException { .map(receivedEvent -> waitForEvent(server, receivedEvent)) .collect(Collectors.toList()); + + await().pollInterval(ASYNC_POLL_INTERVAL) + .atMost(ASYNC_TIMEOUT) + .untilAsserted(() -> { + var edrCaches = SOKRATES.getEdrEntriesByAssetId(assetId); + assertThat(edrCaches).hasSize(1); + }); + assertThat(expectedEvents).usingRecursiveFieldByFieldElementComparator().containsAll(events); var edrCaches = SOKRATES.getEdrEntriesByAssetId(assetId); 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 d0c9d1b9c..3fceac948 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 @@ -19,7 +19,7 @@ import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; import org.assertj.core.api.Condition; -import org.eclipse.edc.connector.transfer.spi.event.TransferProcessCompleted; +import org.eclipse.edc.connector.transfer.spi.event.TransferProcessStarted; import org.eclipse.edc.policy.model.Operator; import org.eclipse.tractusx.edc.lifecycle.Participant; import org.junit.jupiter.api.AfterEach; @@ -58,6 +58,8 @@ public abstract class AbstractRenewalEdrTest { protected static final Participant SOKRATES = new Participant(SOKRATES_NAME, SOKRATES_BPN, sokratesConfiguration()); protected static final Participant PLATO = new Participant(PLATO_NAME, PLATO_BPN, platoConfiguration()); private static final Duration ASYNC_TIMEOUT = ofSeconds(45); + private static final Duration ASYNC_POLL_INTERVAL = ofSeconds(1); + MockWebServer server; @BeforeEach @@ -70,8 +72,8 @@ void setup() { void negotiateEdr_shouldRenewTheEdr() throws IOException { var expectedEvents = List.of( - createEvent(TransferProcessCompleted.class), - createEvent(TransferProcessCompleted.class)); + createEvent(TransferProcessStarted.class), + createEvent(TransferProcessStarted.class)); var assetId = UUID.randomUUID().toString(); var url = server.url("/mock/api"); @@ -93,7 +95,7 @@ void negotiateEdr_shouldRenewTheEdr() throws IOException { PLATO.createContractDefinition(assetId, "def-1", "policy-1", "policy-2"); var callbacks = Json.createArrayBuilder() - .add(createCallback(url.toString(), true, Set.of("transfer.process.completed"))) + .add(createCallback(url.toString(), true, Set.of("transfer.process.started"))) .build(); expectedEvents.forEach(event -> server.enqueue(new MockResponse())); @@ -109,6 +111,7 @@ void negotiateEdr_shouldRenewTheEdr() throws IOException { JsonArrayBuilder edrCaches = Json.createArrayBuilder(); await().atMost(ASYNC_TIMEOUT) + .pollInterval(ASYNC_POLL_INTERVAL) .untilAsserted(() -> { var localEdrCaches = SOKRATES.getEdrEntriesByAssetId(assetId); assertThat(localEdrCaches).hasSizeGreaterThan(1); diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/proxy/AbstractDataPlaneProxyTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/proxy/AbstractDataPlaneProxyTest.java index 37f3df3fe..aa7646d7a 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/proxy/AbstractDataPlaneProxyTest.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/proxy/AbstractDataPlaneProxyTest.java @@ -21,7 +21,7 @@ import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; import okhttp3.mockwebserver.RecordedRequest; -import org.eclipse.edc.connector.transfer.spi.event.TransferProcessCompleted; +import org.eclipse.edc.connector.transfer.spi.event.TransferProcessStarted; import org.eclipse.edc.policy.model.Operator; import org.eclipse.edc.spi.event.EventEnvelope; import org.eclipse.tractusx.edc.lifecycle.Participant; @@ -32,11 +32,14 @@ import org.junit.jupiter.api.Test; import java.io.IOException; +import java.time.Duration; import java.util.Set; import java.util.UUID; import java.util.concurrent.TimeUnit; +import static java.time.Duration.ofSeconds; import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; import static org.eclipse.edc.spi.CoreConstants.EDC_NAMESPACE; import static org.eclipse.tractusx.edc.helpers.EdrNegotiationHelperFunctions.createCallback; import static org.eclipse.tractusx.edc.helpers.PolicyHelperFunctions.businessPartnerGroupPolicy; @@ -58,6 +61,9 @@ public abstract class AbstractDataPlaneProxyTest { private static final String CUSTOM_QUERY_PARAMS = "foo=bar"; + private static final Duration ASYNC_TIMEOUT = ofSeconds(45); + private static final Duration ASYNC_POLL_INTERVAL = ofSeconds(1); + private static final String CUSTOM_FULL_PATH = CUSTOM_BASE_PATH + CUSTOM_SUB_PATH + "?" + CUSTOM_QUERY_PARAMS; private final ObjectMapper mapper = new ObjectMapper(); private MockWebServer server; @@ -86,7 +92,7 @@ void httpPullDataTransfer_withEdrAndProxy() { PLATO.createContractDefinition(assetId, "def-1", "policy-1", "policy-2"); var callbacks = Json.createArrayBuilder() - .add(createCallback(eventsUrl.toString(), true, Set.of("transfer.process.completed"))) + .add(createCallback(eventsUrl.toString(), true, Set.of("transfer.process.started"))) .build(); // response to callback @@ -96,6 +102,13 @@ void httpPullDataTransfer_withEdrAndProxy() { var transferEvent = waitForTransferCompletion(); + await().pollInterval(ASYNC_POLL_INTERVAL) + .atMost(ASYNC_TIMEOUT) + .untilAsserted(() -> { + var edrCaches = SOKRATES.getEdrEntriesByAssetId(assetId); + assertThat(edrCaches).hasSize(1); + }); + var body = "{\"response\": \"ok\"}"; server.enqueue(new MockResponse().setBody(body)); @@ -159,7 +172,7 @@ void httpPullDataTransfer_shouldFailForAsset_withTwoEdrAndProxy() throws IOExcep PLATO.createContractDefinition(assetId, "def-1", "policy-1", "policy-2"); var callbacks = Json.createArrayBuilder() - .add(createCallback(eventsUrl.toString(), true, Set.of("transfer.process.completed"))) + .add(createCallback(eventsUrl.toString(), true, Set.of("transfer.process.started"))) .build(); // response to callback @@ -172,6 +185,14 @@ void httpPullDataTransfer_shouldFailForAsset_withTwoEdrAndProxy() throws IOExcep var transferEvent1 = waitForTransferCompletion(); var transferEvent2 = waitForTransferCompletion(); + await().pollInterval(ASYNC_POLL_INTERVAL) + .atMost(ASYNC_TIMEOUT) + .untilAsserted(() -> { + var edrCaches = SOKRATES.getEdrEntriesByAssetId(assetId); + assertThat(edrCaches).hasSize(2); + }); + + var body = "{\"response\": \"ok\"}"; server.enqueue(new MockResponse().setBody(body)); @@ -210,7 +231,7 @@ void httpPullDataTransfer_withEdrAndProviderDataPlaneProxy() throws IOException PLATO.createContractDefinition(assetId, "def-1", "policy-1", "policy-2"); var callbacks = Json.createArrayBuilder() - .add(createCallback(eventsUrl.toString(), true, Set.of("transfer.process.completed"))) + .add(createCallback(eventsUrl.toString(), true, Set.of("transfer.process.started"))) .build(); // response to callback @@ -220,6 +241,13 @@ void httpPullDataTransfer_withEdrAndProviderDataPlaneProxy() throws IOException var transferEvent = waitForTransferCompletion(); + await().pollInterval(ASYNC_POLL_INTERVAL) + .atMost(ASYNC_TIMEOUT) + .untilAsserted(() -> { + var edrCaches = SOKRATES.getEdrEntriesByAssetId(assetId); + assertThat(edrCaches).hasSize(1); + }); + var body = "{\"response\": \"ok\"}"; server.enqueue(new MockResponse().setBody(body)); @@ -272,13 +300,20 @@ public MockResponse dispatch(@NotNull RecordedRequest recordedRequest) throws In PLATO.createContractDefinition(assetId, "def-1", "policy-1", "policy-2"); var callbacks = Json.createArrayBuilder() - .add(createCallback(eventsUrl.toString(), true, Set.of("transfer.process.completed"))) + .add(createCallback(eventsUrl.toString(), true, Set.of("transfer.process.started"))) .build(); SOKRATES.negotiateEdr(PLATO, assetId, callbacks); waitForTransferCompletion(); + await().pollInterval(ASYNC_POLL_INTERVAL) + .atMost(ASYNC_TIMEOUT) + .untilAsserted(() -> { + var edrCaches = SOKRATES.getEdrEntriesByAssetId(assetId); + assertThat(edrCaches).hasSize(1); + }); + var data = SOKRATES.pullProviderDataPlaneDataByAssetIdAndCustomProperties(PLATO, assetId, CUSTOM_SUB_PATH, CUSTOM_QUERY_PARAMS); assertThat(data).isEqualTo(body); @@ -295,7 +330,7 @@ void teardown() throws IOException { server.shutdown(); } - private EventEnvelope waitForTransferCompletion() { + private EventEnvelope waitForTransferCompletion() { try { var request = server.takeRequest(60, TimeUnit.SECONDS); if (request != null) { 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 4f5fcda03..56cf54b06 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 @@ -110,7 +110,7 @@ void transferData_privateBackend() throws IOException, InterruptedException { .atMost(ASYNC_TIMEOUT) .untilAsserted(() -> { var tpState = SOKRATES.getTransferProcessState(transferProcessId.get()); - assertThat(tpState).isNotNull().isEqualTo(TransferProcessStates.COMPLETED.toString()); + assertThat(tpState).isNotNull().isEqualTo(TransferProcessStates.STARTED.toString()); }); // wait until EDC is available on the consumer side diff --git a/edc-tests/runtime/extensions/src/main/java/org/eclipse/tractusx/edc/lifecycle/TestServiceExtension.java b/edc-tests/runtime/extensions/src/main/java/org/eclipse/tractusx/edc/lifecycle/TestServiceExtension.java deleted file mode 100644 index b498f185b..000000000 --- a/edc-tests/runtime/extensions/src/main/java/org/eclipse/tractusx/edc/lifecycle/TestServiceExtension.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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.lifecycle; - -import org.eclipse.edc.connector.transfer.spi.status.StatusCheckerRegistry; -import org.eclipse.edc.connector.transfer.spi.types.TransferProcess; -import org.eclipse.edc.runtime.metamodel.annotation.Extension; -import org.eclipse.edc.runtime.metamodel.annotation.Inject; -import org.eclipse.edc.spi.system.ServiceExtension; -import org.eclipse.edc.spi.system.ServiceExtensionContext; - -@Extension(value = "Extension used to inject dummy services into E2E runtimes") -public class TestServiceExtension implements ServiceExtension { - - @Inject - private StatusCheckerRegistry registry; - - @Override - public void initialize(ServiceExtensionContext context) { - // takes care that ongoing HTTP transfers are actually completed, otherwise they would - // always stay in the "STARTED" state - registry.register("HttpProxy", (tp, r) -> tp.getType() == TransferProcess.Type.CONSUMER); - } -} diff --git a/edc-tests/runtime/extensions/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension b/edc-tests/runtime/extensions/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension index c3abfd832..75f82b423 100644 --- a/edc-tests/runtime/extensions/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension +++ b/edc-tests/runtime/extensions/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension @@ -14,5 +14,3 @@ org.eclipse.tractusx.edc.lifecycle.ConsumerServicesExtension org.eclipse.tractusx.edc.lifecycle.VaultSeedExtension -org.eclipse.tractusx.edc.lifecycle.TestServiceExtension - diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6c4fbb520..7d6466dde 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ format.version = "1.1" [versions] -edc = "0.3.0" +edc = "0.3.1" postgres = "42.6.0" awaitility = "4.2.0" nimbus = "9.35" From 769760aeb4c9a17c027122ac274b6c02da310175 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Mon, 2 Oct 2023 16:32:11 +0200 Subject: [PATCH 54/60] feat(SqlEdrStore): add configurable vault path (#801) * feat(SqlEdrStore): add configurable vault path * feat: add hashicorp vault test EDR * chore: deps file --- DEPENDENCIES | 1 + edc-extensions/edr/edr-cache-sql/README.md | 9 +-- .../sql/SqlEndpointDataReferenceCache.java | 23 +++---- ...qlEndpointDataReferenceCacheExtension.java | 6 +- .../SqlEndpointDataReferenceCacheTest.java | 20 +++++- ...ntDataReferenceCacheTransactionalTest.java | 2 +- edc-tests/e2e-tests/build.gradle.kts | 1 + .../PgHashicorpParticipantRuntime.java | 69 +++++++++++++++++++ .../edc/lifecycle/PgParticipantRuntime.java | 6 +- ...otiateEdrPostgresqlHashicorpVaultTest.java | 50 ++++++++++++++ .../runtime-postgresql-hashicorp/README.md | 3 + .../build.gradle.kts | 53 ++++++++++++++ gradle/libs.versions.toml | 1 + settings.gradle.kts | 1 + 14 files changed, 225 insertions(+), 20 deletions(-) create mode 100644 edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/PgHashicorpParticipantRuntime.java create mode 100644 edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/NegotiateEdrPostgresqlHashicorpVaultTest.java create mode 100644 edc-tests/runtime/runtime-postgresql-hashicorp/README.md create mode 100644 edc-tests/runtime/runtime-postgresql-hashicorp/build.gradle.kts diff --git a/DEPENDENCIES b/DEPENDENCIES index a1f69245a..994067d6d 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -406,6 +406,7 @@ maven/mavencentral/org.testcontainers/jdbc/1.19.0, Apache-2.0, approved, #10348 maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, MIT, approved, #10344 maven/mavencentral/org.testcontainers/postgresql/1.19.0, MIT, approved, #10350 maven/mavencentral/org.testcontainers/testcontainers/1.19.0, Apache-2.0 AND MIT, approved, #10347 +maven/mavencentral/org.testcontainers/vault/1.19.0, MIT, approved, clearlydefined 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 diff --git a/edc-extensions/edr/edr-cache-sql/README.md b/edc-extensions/edr/edr-cache-sql/README.md index 270d1f266..6e88c4bb0 100644 --- a/edc-extensions/edr/edr-cache-sql/README.md +++ b/edc-extensions/edr/edr-cache-sql/README.md @@ -11,7 +11,7 @@ It will store in the database this fields: It represents a single EDR negotiation done with the new Control Plane EDR APIs. -The EDR itself it is stored in the participant vault with a prefixed key `edr__`. +The EDR itself it is stored in the participant vault with a prefixed key `edr--`. **_Note that the SQL statements (DDL) are specific to and only tested with PostgreSQL. Using it with other RDBMS may work but might have unexpected side effects!_** @@ -22,6 +22,7 @@ see [schema.sql](docs/schema.sql). ## 2. Configuration -| Key | Description | Mandatory | Default | -|:---------------------------------------|:----------------------------------|-----------|---------| -| edc.datasource.edr.name | Datasource used by this extension | | edr | +| Key | Description | Mandatory | Default | +|:------------------------|:--------------------------------------------------------------------------------------------------|-----------|---------| +| edc.datasource.edr.name | Datasource used by this extension | | edr | +| edc.edr.vault.path | Directory/Path where to store EDRs in the vault for vaults that supports hierarchical structuring | | | 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 8d04213ea..8b22138cc 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 @@ -53,23 +53,22 @@ public class SqlEndpointDataReferenceCache extends AbstractSqlStore implements E public static final String SEPARATOR = "--"; public static final String VAULT_PREFIX = "edr" + SEPARATOR; private final EdrStatements statements; + private final String vaultPath; private final Clock clock; private final Vault vault; private final SqlLeaseContextBuilder leaseContext; - private final String leaseHolder; - public SqlEndpointDataReferenceCache(DataSourceRegistry dataSourceRegistry, String dataSourceName, TransactionContext transactionContext, EdrStatements statements, - ObjectMapper objectMapper, Vault vault, Clock clock, + ObjectMapper objectMapper, Vault vault, String vaultPath, Clock clock, QueryExecutor queryExecutor, String connectorId) { super(dataSourceRegistry, dataSourceName, transactionContext, objectMapper, queryExecutor); this.statements = statements; + this.vaultPath = vaultPath; this.clock = clock; this.vault = vault; - this.leaseHolder = connectorId; leaseContext = SqlLeaseContextBuilder.with(transactionContext, connectorId, statements, clock, queryExecutor); } @@ -105,11 +104,6 @@ public SqlEndpointDataReferenceCache(DataSourceRegistry dataSourceRegistry, Stri }); } - @Override - public void save(EndpointDataReferenceEntry entity) { - throw new UnsupportedOperationException("Please use save(EndpointDataReferenceEntry, EndpointDataReference) instead!"); - } - @Override public @NotNull List referencesForAsset(String assetId, String providerId) { var querySpec = QuerySpec.Builder.newInstance(); @@ -148,7 +142,7 @@ public void save(EndpointDataReferenceEntry entry, EndpointDataReference edr) { entry.getErrorDetail(), entry.getCreatedAt(), entry.getUpdatedAt()); - vault.storeSecret(VAULT_PREFIX + edr.getId(), toJson(edr)).orElseThrow((failure) -> new EdcPersistenceException(failure.getFailureDetail())); + vault.storeSecret(vaultPath + VAULT_PREFIX + edr.getId(), toJson(edr)).orElseThrow((failure) -> new EdcPersistenceException(failure.getFailureDetail())); } catch (Exception exception) { throw new EdcPersistenceException(exception); } @@ -183,7 +177,7 @@ public StoreResult deleteByTransferProcessId(String leaseContext.withConnection(connection).acquireLease(id); queryExecutor.execute(connection, statements.getDeleteByIdTemplate(), id); leaseContext.withConnection(connection).breakLease(id); - vault.deleteSecret(VAULT_PREFIX + entryWrapper.getEdrId()).orElseThrow((failure) -> new EdcPersistenceException(failure.getFailureDetail())); + vault.deleteSecret(vaultPath + VAULT_PREFIX + entryWrapper.getEdrId()).orElseThrow((failure) -> new EdcPersistenceException(failure.getFailureDetail())); return StoreResult.success(entryWrapper.getEntry()); } else { return StoreResult.notFound(format("EDR with id %s not found", id)); @@ -227,6 +221,11 @@ public StoreResult deleteByTransferProcessId(String }); } + @Override + public void save(EndpointDataReferenceEntry entity) { + throw new UnsupportedOperationException("Please use save(EndpointDataReferenceEntry, EndpointDataReference) instead!"); + } + private T findById(Connection connection, String id, ResultSetMapper resultSetMapper) { var sql = statements.getFindByTransferProcessIdTemplate(); return queryExecutor.single(connection, false, resultSetMapper, sql, id); @@ -274,7 +273,7 @@ private EndpointDataReferenceEntryWrapper mapToWrapper(ResultSet resultSet) thro } private EndpointDataReference referenceFromEntry(String edrId) { - var edr = vault.resolveSecret(VAULT_PREFIX + edrId); + var edr = vault.resolveSecret(vaultPath + VAULT_PREFIX + edrId); if (edr != null) { return fromJson(edr, EndpointDataReference.class); } diff --git a/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheExtension.java b/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheExtension.java index dcb4cb211..2c871dbdc 100644 --- a/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheExtension.java +++ b/edc-extensions/edr/edr-cache-sql/src/main/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheExtension.java @@ -38,6 +38,9 @@ public class SqlEndpointDataReferenceCacheExtension implements ServiceExtension @Setting(required = true, defaultValue = SqlEndpointDataReferenceCacheExtension.DEFAULT_DATASOURCE_NAME) public static final String DATASOURCE_SETTING_NAME = "edc.datasource.edr.name"; + + @Setting(value = "Directory/Path where to store EDRs in the vault for vaults that supports hierarchical structuring.", required = false, defaultValue = "") + public static final String EDC_EDR_VAULT_PATH = "edc.edr.vault.path"; public static final String DEFAULT_DATASOURCE_NAME = "edr"; @Inject private DataSourceRegistry dataSourceRegistry; @@ -63,7 +66,8 @@ public String name() { @Provider public EndpointDataReferenceCache edrCache(ServiceExtensionContext context) { var dataSourceName = context.getConfig().getString(DATASOURCE_SETTING_NAME, DEFAULT_DATASOURCE_NAME); - return new SqlEndpointDataReferenceCache(dataSourceRegistry, dataSourceName, transactionContext, getStatementImpl(), typeManager.getMapper(), vault, clock, queryExecutor, context.getConnectorId()); + var vaultDirectory = context.getConfig().getString(EDC_EDR_VAULT_PATH, ""); + return new SqlEndpointDataReferenceCache(dataSourceRegistry, dataSourceName, transactionContext, getStatementImpl(), typeManager.getMapper(), vault, vaultDirectory, clock, queryExecutor, context.getConnectorId()); } private EdrStatements getStatementImpl() { diff --git a/edc-extensions/edr/edr-cache-sql/src/test/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheTest.java b/edc-extensions/edr/edr-cache-sql/src/test/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheTest.java index 2b80d0e21..4b45c874f 100644 --- a/edc-extensions/edr/edr-cache-sql/src/test/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheTest.java +++ b/edc-extensions/edr/edr-cache-sql/src/test/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheTest.java @@ -70,7 +70,7 @@ void setUp(PostgresqlStoreSetupExtension extension, QueryExecutor queryExecutor) when(vault.storeSecret(any(), any())).thenReturn(Result.success()); when(vault.resolveSecret(any())).then(a -> edrJson(a.getArgument(0))); - cache = new SqlEndpointDataReferenceCache(extension.getDataSourceRegistry(), extension.getDatasourceName(), extension.getTransactionContext(), statements, typeManager.getMapper(), vault, clock, queryExecutor, CONNECTOR_NAME); + cache = new SqlEndpointDataReferenceCache(extension.getDataSourceRegistry(), extension.getDatasourceName(), extension.getTransactionContext(), statements, typeManager.getMapper(), vault, "", clock, queryExecutor, CONNECTOR_NAME); var schema = Files.readString(Paths.get("./docs/schema.sql")); extension.runQuery(schema); leaseUtil = new LeaseUtil(extension.getTransactionContext(), extension::getConnection, statements, clock); @@ -96,6 +96,24 @@ void verify_unoffensive_secretKey() { verify(vault).storeSecret(argThat(s -> s.startsWith("edr--")), anyString()); } + @Test + void verify_custom_vaultPath(PostgresqlStoreSetupExtension extension, QueryExecutor queryExecutor) { + + var path = "testPath/"; + cache = new SqlEndpointDataReferenceCache(extension.getDataSourceRegistry(), extension.getDatasourceName(), extension.getTransactionContext(), statements, typeManager.getMapper(), vault, path, clock, queryExecutor, CONNECTOR_NAME); + + var tpId = "tp1"; + var assetId = "asset1"; + var edrId = "edr1"; + + var edr = edr(edrId); + var entry = edrEntry(assetId, randomUUID().toString(), tpId); + + cache.save(entry, edr); + + verify(vault).storeSecret(argThat(s -> s.startsWith(path + "edr--")), anyString()); + } + @Override protected EndpointDataReferenceCache getStore() { return cache; diff --git a/edc-extensions/edr/edr-cache-sql/src/test/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheTransactionalTest.java b/edc-extensions/edr/edr-cache-sql/src/test/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheTransactionalTest.java index 20ffe673c..c49d21866 100644 --- a/edc-extensions/edr/edr-cache-sql/src/test/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheTransactionalTest.java +++ b/edc-extensions/edr/edr-cache-sql/src/test/java/org/eclipse/tractusx/edc/edr/store/sql/SqlEndpointDataReferenceCacheTransactionalTest.java @@ -70,7 +70,7 @@ void setUp(PostgresqlStoreSetupExtension extension, QueryExecutor queryExecutor) when(vault.deleteSecret(any())).thenReturn(Result.success()); when(vault.storeSecret(any(), any())).thenReturn(Result.success()); - cache = new SqlEndpointDataReferenceCache(extension.getDataSourceRegistry(), extension.getDatasourceName(), extension.getTransactionContext(), statements, typeManager.getMapper(), vault, clock, queryExecutor, CONNECTOR_NAME); + cache = new SqlEndpointDataReferenceCache(extension.getDataSourceRegistry(), extension.getDatasourceName(), extension.getTransactionContext(), statements, typeManager.getMapper(), vault, "", clock, queryExecutor, CONNECTOR_NAME); var schema = Files.readString(Paths.get("./docs/schema.sql")); extension.runQuery(schema); diff --git a/edc-tests/e2e-tests/build.gradle.kts b/edc-tests/e2e-tests/build.gradle.kts index af8d43d19..a75623d9d 100644 --- a/edc-tests/e2e-tests/build.gradle.kts +++ b/edc-tests/e2e-tests/build.gradle.kts @@ -48,6 +48,7 @@ dependencies { testImplementation(libs.edc.auth.oauth2.client) testImplementation(libs.testcontainers.junit) testImplementation(libs.testcontainers.postgres) + testImplementation(libs.testcontainers.vault) } diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/PgHashicorpParticipantRuntime.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/PgHashicorpParticipantRuntime.java new file mode 100644 index 000000000..99a593d22 --- /dev/null +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/PgHashicorpParticipantRuntime.java @@ -0,0 +1,69 @@ +/* + * 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.lifecycle; + +import org.junit.jupiter.api.extension.ExtensionContext; +import org.testcontainers.vault.VaultContainer; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import static java.lang.String.format; + +public class PgHashicorpParticipantRuntime extends PgParticipantRuntime { + + static final String DOCKER_IMAGE_NAME = "vault:1.9.6"; + static final String TOKEN = UUID.randomUUID().toString(); + + + public final VaultContainer vaultContainer = new VaultContainer<>(DOCKER_IMAGE_NAME) + .withVaultToken(TOKEN); + private final String vaultDirectory; + + public PgHashicorpParticipantRuntime(String moduleName, String runtimeName, String bpn, String vaultDirectory, Map properties) { + super(moduleName, runtimeName, bpn, properties); + this.vaultDirectory = vaultDirectory; + } + + @Override + public void beforeAll(ExtensionContext context) throws Exception { + vaultContainer.start(); + config().forEach(System::setProperty); + super.beforeAll(context); + } + + @Override + public void afterAll(ExtensionContext context) throws Exception { + super.afterAll(context); + vaultContainer.stop(); + vaultContainer.close(); + } + + @Override + protected void mockVault() { + + } + + private Map config() { + return new HashMap<>() { + { + put("edc.vault.hashicorp.url", format("http://%s:%s", vaultContainer.getHost(), vaultContainer.getFirstMappedPort())); + put("edc.vault.hashicorp.token", TOKEN); + put("edc.edr.vault.path", vaultDirectory); + } + }; + } +} diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/PgParticipantRuntime.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/PgParticipantRuntime.java index ecdfa0e6d..106a929bb 100644 --- a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/PgParticipantRuntime.java +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/lifecycle/PgParticipantRuntime.java @@ -47,7 +47,7 @@ public PgParticipantRuntime(String moduleName, String runtimeName, String bpn, M super(moduleName, runtimeName, bpn, properties); this.dbName = runtimeName.toLowerCase(); this.registerServiceMock(IdentityService.class, new MockDapsService(bpn)); - this.registerServiceMock(Vault.class, new InMemoryVaultOverride(mock(Monitor.class))); + mockVault(); postgreSqlContainer = new PostgreSQLContainer<>(POSTGRES_IMAGE_NAME) .withLabel("runtime", dbName) @@ -125,6 +125,10 @@ public String baseJdbcUrl() { return format("jdbc:postgresql://%s:%s/", postgreSqlContainer.getHost(), postgreSqlContainer.getFirstMappedPort()); } + protected void mockVault() { + this.registerServiceMock(Vault.class, new InMemoryVaultOverride(mock(Monitor.class))); + } + private static class InMemoryVaultOverride extends InMemoryVault { InMemoryVaultOverride(Monitor monitor) { diff --git a/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/NegotiateEdrPostgresqlHashicorpVaultTest.java b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/NegotiateEdrPostgresqlHashicorpVaultTest.java new file mode 100644 index 000000000..89390da8b --- /dev/null +++ b/edc-tests/e2e-tests/src/test/java/org/eclipse/tractusx/edc/tests/edr/NegotiateEdrPostgresqlHashicorpVaultTest.java @@ -0,0 +1,50 @@ +/* + * 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.tests.edr; + +import org.eclipse.edc.junit.annotations.PostgresqlDbIntegrationTest; +import org.eclipse.tractusx.edc.lifecycle.PgHashicorpParticipantRuntime; +import org.eclipse.tractusx.edc.lifecycle.PgParticipantRuntime; +import org.junit.jupiter.api.extension.RegisterExtension; + +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; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.SOKRATES_NAME; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.platoConfiguration; +import static org.eclipse.tractusx.edc.lifecycle.TestRuntimeConfiguration.sokratesConfiguration; + +@PostgresqlDbIntegrationTest +public class NegotiateEdrPostgresqlHashicorpVaultTest extends AbstractNegotiateEdrTest { + + @RegisterExtension + protected static final PgParticipantRuntime PLATO_RUNTIME = new PgParticipantRuntime( + ":edc-tests:runtime:runtime-postgresql", + PLATO_NAME, + PLATO_BPN, + platoConfiguration() + ); + private static final String VAULT_DIRECTORY = "testDir/"; + + @RegisterExtension + protected static final PgHashicorpParticipantRuntime SOKRATES_RUNTIME = new PgHashicorpParticipantRuntime( + ":edc-tests:runtime:runtime-postgresql-hashicorp", + SOKRATES_NAME, + SOKRATES_BPN, + VAULT_DIRECTORY, + sokratesConfiguration() + ); + +} diff --git a/edc-tests/runtime/runtime-postgresql-hashicorp/README.md b/edc-tests/runtime/runtime-postgresql-hashicorp/README.md new file mode 100644 index 000000000..7ec7be084 --- /dev/null +++ b/edc-tests/runtime/runtime-postgresql-hashicorp/README.md @@ -0,0 +1,3 @@ +# PostgreSQL + Hashicorp Vault Runtime for Testing Purposes + +This module provides a very small,runtime using PostgreSQL as persistence backend and Hashicorp Vault to execute tests against. Not intended for anything other than testing! diff --git a/edc-tests/runtime/runtime-postgresql-hashicorp/build.gradle.kts b/edc-tests/runtime/runtime-postgresql-hashicorp/build.gradle.kts new file mode 100644 index 000000000..512d8dd92 --- /dev/null +++ b/edc-tests/runtime/runtime-postgresql-hashicorp/build.gradle.kts @@ -0,0 +1,53 @@ +/* + * 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 + * + */ + +plugins { + `java-library` + id("application") +} + + +dependencies { + + // use basic (all in-mem) control plane + implementation(project(":edc-controlplane:edc-controlplane-postgresql-hashicorp-vault")) { + exclude(module = "data-encryption") + exclude(module = "json-ld-core") + exclude(module = "ssi-identity-core") + exclude(module = "ssi-miw-credential-client") + exclude(module = "ssi-identity-extractor") + exclude(module = "cx-policy") + } + + implementation(project(":edc-tests:runtime:extensions")) + + // use basic (all in-mem) data plane + runtimeOnly(project(":edc-dataplane:edc-dataplane-base")) { + exclude("org.eclipse.edc", "api-observability") + } + + + implementation(libs.edc.core.controlplane) + // for the controller + implementation(libs.jakarta.rsApi) +} + +application { + mainClass.set("org.eclipse.edc.boot.system.runtime.BaseRuntime") +} + +// do not publish +edcBuild { + publish.set(false) +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7d6466dde..32efd1801 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -149,6 +149,7 @@ apache-sshd-core = { module = "org.apache.sshd:sshd-core", version.ref = "apache apache-sshd-sftp = { module = "org.apache.sshd:sshd-sftp", version.ref = "apache-sshd" } testcontainers-junit = { module = "org.testcontainers:junit-jupiter", version.ref = "testcontainers" } testcontainers-postgres = { module = "org.testcontainers:postgresql", version.ref = "testcontainers" } +testcontainers-vault = { module = "org.testcontainers:vault", version.ref = "testcontainers" } aws-s3 = { module = "software.amazon.awssdk:s3", version.ref = "aws" } aws-s3transfer = { module = "software.amazon.awssdk:s3-transfer-manager", version.ref = "aws" } jakarta-rsApi = { module = "jakarta.ws.rs:jakarta.ws.rs-api", version.ref = "rsApi" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 707cd22b1..5f76ed7d7 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -62,6 +62,7 @@ include(":edc-tests:runtime:runtime-memory") include(":edc-tests:runtime:dataplane-cloud") include(":edc-tests:runtime:runtime-memory-ssi") include(":edc-tests:runtime:runtime-postgresql") +include(":edc-tests:runtime:runtime-postgresql-hashicorp") include(":edc-tests:edc-dataplane:edc-dataplane-proxy-e2e") include(":edc-tests:edc-dataplane:cloud-transfer-tests") From f4728d1a8e46d4f599a8148f89c2f19d9b3e5a90 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 08:40:03 +0200 Subject: [PATCH 55/60] chore(deps): bump mikefarah/yq from 4.35.1 to 4.35.2 (#805) Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.35.1 to 4.35.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.35.1...v4.35.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 4c81babb2..7dfba2698 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.1 + uses: mikefarah/yq@v4.35.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 2a7d9c16e604fa8ec7d956358e2e1f334af928b7 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Wed, 4 Oct 2023 12:20:28 +0200 Subject: [PATCH 56/60] chore: deps file (#807) --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 994067d6d..5e14bb1e7 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, , restricted, clearlydefined +maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.35, Apache-2.0, approved, #10851 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 From 6fdda288b34317fb807398c3e9a644c26ad82b74 Mon Sep 17 00:00:00 2001 From: ndr_brt Date: Thu, 5 Oct 2023 12:54:27 +0200 Subject: [PATCH 57/60] docs: run autodoc and upload resulting md to docusaurus (#808) --- .github/actions/setup-java/action.yml | 4 +- .github/workflows/publish-docusaurus.yaml | 8 +++ .github/workflows/publish-swaggerhub.yaml | 9 +-- DEPENDENCIES | 2 +- resources/create_kit_documentation.sh | 87 ++++++++++++----------- 5 files changed, 59 insertions(+), 51 deletions(-) diff --git a/.github/actions/setup-java/action.yml b/.github/actions/setup-java/action.yml index ed03fafb3..530d3d6ac 100644 --- a/.github/actions/setup-java/action.yml +++ b/.github/actions/setup-java/action.yml @@ -25,8 +25,8 @@ runs: using: "composite" steps: - name: Setup JDK 17 - uses: actions/setup-java@v3.11.0 + uses: actions/setup-java@v3.13.0 with: java-version: '17' distribution: 'temurin' - cache: 'gradle' \ No newline at end of file + cache: 'gradle' diff --git a/.github/workflows/publish-docusaurus.yaml b/.github/workflows/publish-docusaurus.yaml index 8c13481f6..f940168c5 100644 --- a/.github/workflows/publish-docusaurus.yaml +++ b/.github/workflows/publish-docusaurus.yaml @@ -46,6 +46,8 @@ jobs: steps: - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-java + - name: "Extract version" id: extract_version run: | @@ -55,6 +57,12 @@ jobs: echo "DOWNSTREAM_VERSION=${{ inputs.downstream-version }}" >> "$GITHUB_OUTPUT" fi + - name: "Run autodoc" + run: | + ./gradlew autodoc + ./gradlew mergeManifests + ./gradlew doc2md + - name: "Gather documentation files" run: | chmod +x ./resources/create_kit_documentation.sh diff --git a/.github/workflows/publish-swaggerhub.yaml b/.github/workflows/publish-swaggerhub.yaml index aa1411f05..e06032279 100644 --- a/.github/workflows/publish-swaggerhub.yaml +++ b/.github/workflows/publish-swaggerhub.yaml @@ -51,12 +51,7 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup JDK 17 - uses: actions/setup-java@v3.13.0 - with: - java-version: '17' - distribution: 'temurin' - cache: 'gradle' + - uses: ./.github/actions/setup-java - name: Setup node uses: actions/setup-node@v3 @@ -110,4 +105,4 @@ jobs: else echo "snapshot, will set the API to 'unpublished'"; swaggerhub api:update ${{ env.SWAGGERHUB_USER }}/tractusx-edc/${{ env.DOWNSTREAM_VERSION }} -f ./resources/openapi/yaml/tractusx-edc-api.yaml --visibility=public --published=unpublish - fi \ No newline at end of file + fi diff --git a/DEPENDENCIES b/DEPENDENCIES index 5e14bb1e7..f5ac5b0fa 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -406,7 +406,7 @@ maven/mavencentral/org.testcontainers/jdbc/1.19.0, Apache-2.0, approved, #10348 maven/mavencentral/org.testcontainers/junit-jupiter/1.19.0, MIT, approved, #10344 maven/mavencentral/org.testcontainers/postgresql/1.19.0, MIT, approved, #10350 maven/mavencentral/org.testcontainers/testcontainers/1.19.0, Apache-2.0 AND MIT, approved, #10347 -maven/mavencentral/org.testcontainers/vault/1.19.0, MIT, approved, clearlydefined +maven/mavencentral/org.testcontainers/vault/1.19.0, None, restricted, #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 diff --git a/resources/create_kit_documentation.sh b/resources/create_kit_documentation.sh index beda356b9..f96d89a56 100755 --- a/resources/create_kit_documentation.sh +++ b/resources/create_kit_documentation.sh @@ -8,46 +8,51 @@ echo $1 $2 $3 cd ${repo_root} -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/ -rsync -a --prune-empty-dirs --exclude 'build' --include '*' ./docs/kit/* ${output_dir}/tractusx-edc/Connector\ Kit/ - -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/03_deployment_via_helm -cp ./docs/samples/example-dataspace/README.md ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/03_deployment_via_helm/00_example_dataspace.md -cp ./docs/samples/edr-api-overview/edr-api-overview.md ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/03_deployment_via_helm/01_edr_api_overview.md - -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/04_Test\ Your\ Setup -cp ./docs/development/postman/README.md ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/04_Test\ Your\ Setup/00_postman.md -cp ./docs/samples/Transfer\ Data.md ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/04_Test\ Your\ Setup/02_transfer_data.md -cp -r ./docs/samples/diagrams ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/04_Test\ Your\ Setup/ - -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/05_Migration -cp ./docs/migration/* ${output_dir}/tractusx-edc/Connector\ Kit/Operation\ View/05_Migration/ - -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View -cp ./docs/README.md ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/00_tractusx_edc.md -cp ./core/edr-core/README.md ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/06_edr_core.md -cp ./docs/development/Release.md ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/07_release.md - -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/03_EDC\ Controlplane -rsync -a --prune-empty-dirs --include '*/' --exclude 'build' --include '*.md' --include '*.png' --include '*.puml' --exclude '*' ./edc-controlplane/* ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/03_EDC\ Controlplane - -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/04_EDC\ Dataplane -rsync -a --prune-empty-dirs --include '*/' --exclude 'build' --include '*.md' --include '*.png' --include '*.puml' --exclude '*' ./edc-dataplane/* ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/04_EDC\ Dataplane - -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/05_EDC\ Extensions -rsync -a --prune-empty-dirs --include '*/' --exclude 'build' --include '*.md' --include '*.png' --include '*.puml' --exclude '*' ./edc-extensions/* ${output_dir}/tractusx-edc/Connector\ Kit/Development\ View/05_EDC\ Extensions - -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Documentation -cp ./docs/development/coding-principles.md ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/02_coding_principles.md -cp ./pr_etiquette.md ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/03_pr_etiquette.md -cp ./styleguide.md ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/04_styleguide.md -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/resources -cp ./resources/tx-checkstyle-config.xml ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/resources -cp ./SECURITY.md ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/05_security.md -mkdir -p ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/resources -cp ./resources/save_actions_scr.png ${output_dir}/tractusx-edc/Connector\ Kit/Documentation/resources/ - -curl https://api.swaggerhub.com/apis/tractusx-edc/${release_version}/swagger.yaml > ${output_dir}/tractusx-edc/tractusx-edc-${release_version}.yaml +connector_kit="${output_dir}/tractusx-edc/Connector Kit" +mkdir -p "${connector_kit}" +rsync -a --prune-empty-dirs --exclude 'build' --include '*' ./docs/kit/* "${connector_kit}/" + +operation_view="${connector_kit}/Operation View" +mkdir -p "${operation_view}/03_deployment_via_helm" +cp ./docs/samples/example-dataspace/README.md "${operation_view}/03_deployment_via_helm/00_example_dataspace.md" +cp ./docs/samples/edr-api-overview/edr-api-overview.md "${operation_view}/03_deployment_via_helm/01_edr_api_overview.md" + +mkdir -p "${operation_view}/04_Test Your Setup" +cp ./docs/development/postman/README.md "${operation_view}/04_Test Your Setup/00_postman.md" +cp ./docs/samples/Transfer\ Data.md "${operation_view}/04_Test Your Setup/02_transfer_data.md" +cp -r ./docs/samples/diagrams "${operation_view}/04_Test Your Setup/" + +mkdir -p "${operation_view}/05_Migration" +cp ./docs/migration/* "${operation_view}/05_Migration/" + +development_view="${connector_kit}/Development View" +mkdir -p "${development_view}" +cp ./docs/README.md "${development_view}/00_tractusx_edc.md" +cp ./core/edr-core/README.md "${development_view}/06_edr_core.md" +cp ./docs/development/Release.md "${development_view}/07_release.md" + +mkdir -p "${development_view}/03_EDC Controlplane" +rsync -a --prune-empty-dirs --include '*/' --exclude 'build' --include '*.md' --include '*.png' --include '*.puml' --exclude '*' ./edc-controlplane/* "${development_view}/03_EDC Controlplane" + +mkdir -p "${development_view}/04_EDC Dataplane" +rsync -a --prune-empty-dirs --include '*/' --exclude 'build' --include '*.md' --include '*.png' --include '*.puml' --exclude '*' ./edc-dataplane/* "${development_view}/04_EDC Dataplane" + +mkdir -p "${development_view}/05_EDC Extensions" +rsync -a --prune-empty-dirs --include '*/' --exclude 'build' --include '*.md' --include '*.png' --include '*.puml' --exclude '*' ./edc-extensions/* "${development_view}/05_EDC Extensions" +cp ./build/tractusx-edc.md "${development_view}/05_EDC Extensions/01_autodoc_manifest.md" + +documentation="${output_dir}/tractusx-edc/Connector Kit/Documentation" +mkdir -p "${documentation}" +cp ./docs/development/coding-principles.md "${documentation}/02_coding_principles.md" +cp ./pr_etiquette.md "${documentation}/03_pr_etiquette.md" +cp ./styleguide.md "${documentation}/04_styleguide.md" +mkdir -p "${documentation}/resources" +cp ./resources/tx-checkstyle-config.xml "${documentation}/resources" +cp ./SECURITY.md "${documentation}/05_security.md" +mkdir -p "${documentation}/resources" +cp ./resources/save_actions_scr.png "${documentation}/resources/" + +curl "https://api.swaggerhub.com/apis/tractusx-edc/${release_version}/swagger.yaml" > "${output_dir}/tractusx-edc/tractusx-edc-${release_version}.yaml" cd ${output_dir}/tractusx-edc -zip -r ../tractusx-edc-docusaurus-${release_version}.zip ./* \ No newline at end of file +zip -r ../tractusx-edc-docusaurus-${release_version}.zip ./* From 5f97bd4c661c95ea17f8b42f8674228e67a7dcbb Mon Sep 17 00:00:00 2001 From: ndr_brt Date: Thu, 5 Oct 2023 13:46:09 +0200 Subject: [PATCH 58/60] build: give permissions to Publish Artefacts (#810) --- .github/workflows/publish.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 0ab2452bd..068976730 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -141,7 +141,8 @@ jobs: publish-docusaurus: name: Publish docusaurus docs permissions: - contents: read + contents: write + packages: write needs: [ secret-presence, publish-to-swaggerhub ] if: needs.secret-presence.outputs.HAS_SWAGGER uses: ./.github/workflows/publish-docusaurus.yaml From 112fc6e86202ce6a64a88142899a425abfbfd364 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Fri, 6 Oct 2023 15:35:01 +0200 Subject: [PATCH 59/60] chore: updates testcontainers (#815) --- DEPENDENCIES | 8 +++++++- gradle/libs.versions.toml | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index f5ac5b0fa..672b0b60e 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -165,6 +165,7 @@ maven/mavencentral/net.minidev/json-smart/2.5.0, Apache-2.0, approved, clearlyde 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 @@ -402,11 +403,16 @@ 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/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/junit-jupiter/1.19.1, MIT, approved, #10344 maven/mavencentral/org.testcontainers/postgresql/1.19.0, MIT, approved, #10350 +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/vault/1.19.0, None, restricted, #10852 +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.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 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 32efd1801..24981205d 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.10.0" -testcontainers = "1.19.0" +testcontainers = "1.19.1" aws = "2.20.153" rsApi = "3.1.0" jupiter = "5.10.0" From 31475647fa29d29b0e2b762abeefe92cda20d192 Mon Sep 17 00:00:00 2001 From: eclipse-tractusx-bot Date: Mon, 9 Oct 2023 06:55:00 +0000 Subject: [PATCH 60/60] Prepare release 0.6.0-rc1 --- 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 546f6252c..7f5919e2e 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.5.1 +version: 0.6.0-rc1 # 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.5.1" +appVersion: "0.6.0-rc1" 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 2f2755b3a..90222879a 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.5.1](https://img.shields.io/badge/Version-0.5.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.1](https://img.shields.io/badge/AppVersion-0.5.1-informational?style=flat-square) +![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) 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.5.1 \ +helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0.6.0-rc1 \ -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 c77ee4ca3..75168a445 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.5.1 +version: 0.6.0-rc1 # 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.5.1" +appVersion: "0.6.0-rc1" 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 5faee2e11..aec09e501 100644 --- a/charts/tractusx-connector-memory/README.md +++ b/charts/tractusx-connector-memory/README.md @@ -1,6 +1,6 @@ # tractusx-connector-memory -![Version: 0.5.1](https://img.shields.io/badge/Version-0.5.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.1](https://img.shields.io/badge/AppVersion-0.5.1-informational?style=flat-square) +![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) 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.5.1 \ +helm install my-release tractusx-edc/tractusx-connector-memory --version 0.6.0-rc1 \ -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 db12d1b83..0a2a3a497 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.5.1 +version: 0.6.0-rc1 # 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.5.1" +appVersion: "0.6.0-rc1" 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 ed883b32e..4d82d01f8 100644 --- a/charts/tractusx-connector/README.md +++ b/charts/tractusx-connector/README.md @@ -1,6 +1,6 @@ # tractusx-connector -![Version: 0.5.1](https://img.shields.io/badge/Version-0.5.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.1](https://img.shields.io/badge/AppVersion-0.5.1-informational?style=flat-square) +![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) 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.5.1 \ +helm install my-release tractusx-edc/tractusx-connector --version 0.6.0-rc1 \ -f /tractusx-connector-test.yaml ``` diff --git a/gradle.properties b/gradle.properties index a516a3bdc..61ba34e11 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-rc1 # configure the build: txScmConnection=scm:git:git@github.com:eclipse-tractusx/tractusx-edc.git txWebsiteUrl=https://github.com/eclipse-tractusx/tractusx-edc.git