diff --git a/.github/workflows/build-federated-catalog-docker.yml b/.github/workflows/build-federated-authority-docker.yml similarity index 92% rename from .github/workflows/build-federated-catalog-docker.yml rename to .github/workflows/build-federated-authority-docker.yml index 901f45d..6055354 100644 --- a/.github/workflows/build-federated-catalog-docker.yml +++ b/.github/workflows/build-federated-authority-docker.yml @@ -30,7 +30,7 @@ jobs: id: meta uses: docker/metadata-action@v4 with: - images: ${{ env.REGISTRY }}/Informatievlaanderen/vsds-dataspace-connector/federated-catalog + images: ${{ env.REGISTRY }}/Informatievlaanderen/vsds-dataspace-connector/federated-authority tags: | type=raw,value={{date 'YYYYMMDDHHmmss'}} type=raw,value=latest @@ -39,6 +39,6 @@ jobs: with: context: . push: true - file: ./federated-catalog-connector/Dockerfile + file: ./federated-authority-connector/Dockerfile tags: ${{ steps.meta.outputs.tags }} platforms: linux/amd64,linux/arm64 diff --git a/README.MD b/README.MD index 8703cf8..1c767d0 100644 --- a/README.MD +++ b/README.MD @@ -9,9 +9,9 @@ To create the images run the following docker commands from the root directory: docker build -t vsds-dataspace-connector:local . -f ./http-pull-connector/Dockerfile ``` -2. Image for the federated catalog connector +2. Image for the federated authority connector ```bash - docker build -t vsds-federated-catalog-connector:local . -f ./federated-catalog-connector/Dockerfile + docker build -t vsds-federated-authority-connector:local . -f ./federated-authority-connector/Dockerfile ``` > **Note**: These connectors are not production ready and should only be used for development purposes. diff --git a/federated-catalog-connector/Dockerfile b/federated-authority-connector/Dockerfile similarity index 63% rename from federated-catalog-connector/Dockerfile rename to federated-authority-connector/Dockerfile index a1b21fa..5f73168 100644 --- a/federated-catalog-connector/Dockerfile +++ b/federated-authority-connector/Dockerfile @@ -8,7 +8,7 @@ RUN ./gradlew clean build # Run the jar file FROM openjdk:18-ea-bullseye WORKDIR /app -COPY --from=build /app/federated-catalog-connector/build/libs/federated-catalog-connector.jar . +COPY --from=build /app/federated-authority-connector/build/libs/federated-authority-connector.jar . # Specify the command to run your application -CMD java -Dedc.fs.config=$EDC_FS_CONFIG -Dfcc.directory.file=$FCC_DIRECTORY_FILE -jar /app/federated-catalog-connector.jar +CMD java -Dedc.fs.config=$EDC_FS_CONFIG -Dfcc.directory.file=$FCC_DIRECTORY_FILE -jar /app/federated-authority-connector.jar diff --git a/federated-catalog-connector/README.MD b/federated-authority-connector/README.MD similarity index 100% rename from federated-catalog-connector/README.MD rename to federated-authority-connector/README.MD diff --git a/federated-catalog-connector/build.gradle.kts b/federated-authority-connector/build.gradle.kts similarity index 71% rename from federated-catalog-connector/build.gradle.kts rename to federated-authority-connector/build.gradle.kts index 805c076..52dcb7b 100644 --- a/federated-catalog-connector/build.gradle.kts +++ b/federated-authority-connector/build.gradle.kts @@ -22,7 +22,10 @@ dependencies { runtimeOnly(libs.edc.catalog.core) runtimeOnly(libs.edc.catalog.api) implementation(libs.edc.catalog.spi) + + // Filesystem config implementation(libs.edc.configuration.filesystem) + implementation(libs.edc.vault.filesystem) implementation(libs.edc.util) runtimeOnly(libs.edc.spi.jsonld) @@ -33,7 +36,18 @@ dependencies { // IDS stuff runtimeOnly(libs.edc.dsp) - runtimeOnly(libs.edc.iam.mock) + + // Identity Hub + runtimeOnly(libs.bundles.identity) + runtimeOnly(libs.ih.core.verifier) + runtimeOnly(libs.ih.ext.api) + runtimeOnly(libs.ih.ext.credentials.jwt) + runtimeOnly(libs.ih.ext.verifier.jwt) + + // Registration service + runtimeOnly(libs.rs.core) + runtimeOnly(libs.rs.core.credential.service) + runtimeOnly(libs.rs.ext.api) } application { @@ -45,6 +59,6 @@ var distZip = tasks.getByName("distZip") tasks.withType { mergeServiceFiles() - archiveFileName.set("federated-catalog-connector.jar") + archiveFileName.set("federated-authority-connector.jar") dependsOn(distTar, distZip) } \ No newline at end of file diff --git a/federated-catalog-connector/src/main/java/org/eclipse/edc/catalog/node/directory/filesystem/CatalogExtension.java b/federated-authority-connector/src/main/java/org/eclipse/edc/catalog/node/directory/filesystem/CatalogExtension.java similarity index 100% rename from federated-catalog-connector/src/main/java/org/eclipse/edc/catalog/node/directory/filesystem/CatalogExtension.java rename to federated-authority-connector/src/main/java/org/eclipse/edc/catalog/node/directory/filesystem/CatalogExtension.java diff --git a/federated-catalog-connector/src/main/java/org/eclipse/edc/catalog/node/directory/filesystem/FileBasedNodeDirectory.java b/federated-authority-connector/src/main/java/org/eclipse/edc/catalog/node/directory/filesystem/FileBasedNodeDirectory.java similarity index 100% rename from federated-catalog-connector/src/main/java/org/eclipse/edc/catalog/node/directory/filesystem/FileBasedNodeDirectory.java rename to federated-authority-connector/src/main/java/org/eclipse/edc/catalog/node/directory/filesystem/FileBasedNodeDirectory.java diff --git a/federated-catalog-connector/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension b/federated-authority-connector/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension similarity index 100% rename from federated-catalog-connector/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension rename to federated-authority-connector/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9af76d7..14d49c2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -43,6 +43,9 @@ edc-data-plane-selector-core = { module = "org.eclipse.edc:data-plane-selector-c edc-data-plane-spi = { module = "org.eclipse.edc:data-plane-spi", version.ref = "edc" } edc-data-plane-util = { module = "org.eclipse.edc:data-plane-util", version.ref = "edc" } edc-dsp = { module = "org.eclipse.edc:dsp", version.ref = "edc" } +edc-ext-identity-did-core = { module = "org.eclipse.edc:identity-did-core", version.ref = "edc" } +edc-ext-identity-did-service = { module = "org.eclipse.edc:identity-did-service", version.ref = "edc" } +edc-ext-identity-did-web = { module = "org.eclipse.edc:identity-did-web", version.ref = "edc" } edc-http = { module = "org.eclipse.edc:http", version.ref = "edc" } edc-iam-mock = { module = "org.eclipse.edc:iam-mock", version.ref = "edc" } edc-jersey-core = { module = "org.eclipse.edc:jersey-core", version.ref = "edc" } @@ -65,6 +68,10 @@ edc-transfer-spi = { module = "org.eclipse.edc:transfer-spi", version.ref = "edc edc-util = { module = "org.eclipse.edc:util", version.ref = "edc" } edc-vault-azure = { module = "org.eclipse.edc:vault-azure", version.ref = "edc" } edc-vault-filesystem = { module = "org.eclipse.edc:vault-filesystem", version.ref = "edc" } +ih-core-verifier = { module = "org.eclipse.edc:identity-hub-credentials-verifier", version.ref = "edc" } +ih-ext-api = { module = "org.eclipse.edc:identity-hub-api", version.ref = "edc" } +ih-ext-credentials-jwt = { module = "org.eclipse.edc:identity-hub-credentials-jwt", version.ref = "edc" } +ih-ext-verifier-jwt = { module = "org.eclipse.edc:identity-hub-verifier-jwt", version.ref = "edc" } jakarta-rsApi = { module = "jakarta.ws.rs:jakarta.ws.rs-api", version.ref = "rsApi" } jakartaJson = { module = "org.glassfish:jakarta.json", version.ref = "jakarta-json" } junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "jupiter" } @@ -74,9 +81,13 @@ junit-pioneer = { module = "org.junit-pioneer:junit-pioneer", version.ref = "jun okhttp-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp-mockwebserver" } opentelemetry-annotations = { module = "io.opentelemetry:opentelemetry-extension-annotations", version.ref = "openTelemetry" } restAssured = { module = "io.rest-assured:rest-assured", version.ref = "restAssured" } +rs-core = { module = "org.eclipse.edc:registration-service", version.ref = "edc" } +rs-core-credential-service = { module = "org.eclipse.edc:registration-service-credential-service", version.ref = "edc" } +rs-ext-api = { module = "org.eclipse.edc:registration-service-api", version.ref = "edc" } [bundles] edc-connector = ["edc-boot", "edc-connector-core", "edc-jersey-core", "edc-api-observability"] +identity = ["edc-ext-identity-did-core", "edc-ext-identity-did-service", "edc-ext-identity-did-web"] [plugins] shadow = { id = "com.github.johnrengelman.shadow", version = "8.1.1" } diff --git a/http-pull-connector/build.gradle.kts b/http-pull-connector/build.gradle.kts index 282760d..d82683c 100644 --- a/http-pull-connector/build.gradle.kts +++ b/http-pull-connector/build.gradle.kts @@ -18,12 +18,23 @@ dependencies { implementation(libs.edc.control.plane.core) implementation(libs.edc.dsp) + + // Filesystem config implementation(libs.edc.configuration.filesystem) implementation(libs.edc.vault.filesystem) - implementation(libs.edc.iam.mock) + + // DID Web + runtimeOnly(libs.bundles.identity) + + // Identity Hub + runtimeOnly(libs.ih.core.verifier) + runtimeOnly(libs.ih.ext.api) + runtimeOnly(libs.ih.ext.credentials.jwt) + runtimeOnly(libs.ih.ext.verifier.jwt) + + implementation(libs.edc.management.api) implementation(libs.edc.transfer.data.plane) -// implementation(libs.edc.transfer.pull.http.receiver) implementation(libs.edc.transfer.pull.http.dynamic.receiver) implementation(libs.edc.control.plane.api.client) diff --git a/settings.gradle.kts b/settings.gradle.kts index d4c9207..032ebb6 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -15,4 +15,4 @@ dependencyResolutionManagement { } include("http-pull-connector") -include("federated-catalog-connector") +include("federated-authority-connector")