Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/e2e-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
ghcr.io/metaform/jad/controlplane:latest \
ghcr.io/metaform/jad/dataplane:latest \
ghcr.io/metaform/jad/identity-hub:latest \
ghcr.io/metaform/jad/issuerservice:latest \
ghcr.io/metaform/jad/issuerservice:latest


- name: "Install Traefik Gateway controller"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,31 +21,20 @@
import org.eclipse.edc.edr.spi.store.EndpointDataReferenceStore;
import org.eclipse.edc.iam.did.spi.resolution.DidResolverRegistry;
import org.eclipse.edc.participantcontext.spi.service.ParticipantContextService;
import org.eclipse.edc.runtime.metamodel.annotation.Configuration;
import org.eclipse.edc.runtime.metamodel.annotation.Inject;
import org.eclipse.edc.runtime.metamodel.annotation.Provider;
import org.eclipse.edc.runtime.metamodel.annotation.Setting;
import org.eclipse.edc.runtime.metamodel.annotation.Settings;
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.virtualized.api.data.DataApiController;
import org.eclipse.edc.virtualized.api.management.DataplaneRegistrationApiController;
import org.eclipse.edc.virtualized.service.DataRequestService;
import org.eclipse.edc.web.spi.WebService;
import org.eclipse.edc.web.spi.configuration.ApiContext;
import org.eclipse.edc.web.spi.configuration.context.ControlApiUrl;

import java.net.URI;


public class ApiExtension implements ServiceExtension {
@Inject
private WebService webService;
@Configuration
private ControlApiConfiguration controlApiConfiguration;
@Inject
private Vault vault;

@Inject
private CatalogService catalogService;
@Inject
Expand All @@ -68,20 +57,9 @@ public void initialize(ServiceExtensionContext context) {
webService.registerResource(ApiContext.MANAGEMENT, new DataplaneRegistrationApiController(selectorService));
}

@Provider
public ControlApiUrl controlApiUrl() {
return () -> URI.create("http://controlplane.edc-v.svc.cluster.local:%s%s".formatted(controlApiConfiguration.port(), controlApiConfiguration.path()));
}

@Settings
record ControlApiConfiguration(
@Setting(key = "web.http." + ApiContext.CONTROL + ".port", description = "Port for " + ApiContext.CONTROL + " api context")
int port,
@Setting(key = "web.http." + ApiContext.CONTROL + ".path", description = "Path for " + ApiContext.CONTROL + " api context")
String path
) {

}


}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Copyright (c) 2026 Metaform Systems, Inc.
*
* 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:
* Metaform Systems, Inc. - initial API and implementation
*
*/

package org.eclipse.edc.virtualized;

import org.eclipse.edc.runtime.metamodel.annotation.Configuration;
import org.eclipse.edc.runtime.metamodel.annotation.Extension;
import org.eclipse.edc.runtime.metamodel.annotation.Provider;
import org.eclipse.edc.runtime.metamodel.annotation.Setting;
import org.eclipse.edc.runtime.metamodel.annotation.Settings;
import org.eclipse.edc.spi.system.ServiceExtension;
import org.eclipse.edc.web.spi.configuration.ApiContext;
import org.eclipse.edc.web.spi.configuration.context.ControlApiUrl;

import java.net.URI;

import static org.eclipse.edc.virtualized.ControlApiUrlExtension.NAME;

@Extension(value = NAME)
public class ControlApiUrlExtension implements ServiceExtension {
public static final String NAME = "EDC-V Control API URL Extension";
@Configuration
private ControlApiConfiguration controlApiConfiguration;

@Provider
public ControlApiUrl controlApiUrl() {
return () -> URI.create("http://controlplane.edc-v.svc.cluster.local:%s%s".formatted(controlApiConfiguration.port(), controlApiConfiguration.path()));
}

@Settings
record ControlApiConfiguration(
@Setting(key = "web.http." + ApiContext.CONTROL + ".port", description = "Port for " + ApiContext.CONTROL + " api context")
int port,
@Setting(key = "web.http." + ApiContext.CONTROL + ".path", description = "Path for " + ApiContext.CONTROL + " api context")
String path
) {

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@
#
#

org.eclipse.edc.virtualized.ApiExtension
org.eclipse.edc.virtualized.ApiExtension
org.eclipse.edc.virtualized.ControlApiUrlExtension
3 changes: 1 addition & 2 deletions k8s/apps/issuerservice-seed-job.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,6 @@ spec:
- name: seed-issuerservice
image: curlimages/curl:latest
env:
- name: BASE_URL
value: "http://localhost"
- name: KC_HOST
value: "http://keycloak.edc-v.svc.cluster.local:8080"
- name: ISSUER_CLIENT_ID
Expand Down Expand Up @@ -83,6 +81,7 @@ spec:
fi

# Create Keycloak client for Vault access
echo "Creating Vault Access Client"
curl -sf -X POST "${KC_HOST}/admin/realms/edcv/clients" \
-H "Authorization: Bearer ${KC_TOKEN}" \
-H "Content-Type: application/json" \
Expand Down
3 changes: 3 additions & 0 deletions k8s/base/keycloak.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ data:
{
"realm": "edcv",
"enabled": true,
"sslRequired": "none",
"displayName": "EDCV Realm",
"roles": {
"realm": [
Expand Down Expand Up @@ -296,6 +297,8 @@ metadata:
spec:
parentRefs:
- name: edcv-gateway
kind: Gateway
sectionName: http
hostnames:
- keycloak.localhost
rules:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ meta {
}

post {
url: {{dpBaseURL}}/app/internal/api/control/certs
url: {{dpBaseUrl}}/app/internal/api/control/certs
body: multipartForm
auth: inherit
}
Expand All @@ -19,11 +19,7 @@ body:json {

body:multipart-form {
metadata: {}
file: @file(/home/wolf4ood/Downloads/ticket_19402661.pdf)
}

vars:pre-request {
dpBaseURL:
file: @file(/Users/paullatzelsperger/code/jad/requests/test_document.pdf)
}

settings {
Expand Down
1 change: 0 additions & 1 deletion requests/EDC-V Onboarding/EDC-V Management/folder.bru
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
meta {
name: EDC-V Management
seq: 3
}

auth {
Expand Down
Binary file added requests/test_document.pdf
Binary file not shown.