Skip to content

Commit 6917953

Browse files
authored
Merge pull request #184 from catenax-ng/feature/97-ExternalMatchmaking
changes added for feature 97 MarchmakingAgentApi
2 parents 3072a10 + a38fbe0 commit 6917953

File tree

38 files changed

+397
-94
lines changed

38 files changed

+397
-94
lines changed

.github/actions/setup-java/action.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

.github/workflows/build.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,13 @@ jobs:
9191
with:
9292
submodules: recursive
9393

94-
# Setup build environment
95-
- uses: ./.github/actions/setup-java
94+
# Set-Up
95+
- name: Setup JDK 17
96+
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
97+
with:
98+
java-version: '17'
99+
distribution: 'temurin'
100+
cache: 'maven'
96101

97102
# Enable deployment access (on demand or main branch and version tags only)
98103
- name: Login to GitHub Container Registry
@@ -137,7 +142,7 @@ jobs:
137142
type=semver,pattern={{version}}
138143
type=semver,pattern={{major}}
139144
type=semver,pattern={{major}}.{{minor}}
140-
type=raw,value=1.12.17-SNAPSHOT,enable=${{ github.event.inputs.deploy_docker == 'true' || github.ref == format('refs/heads/{0}', 'main') }}
145+
type=raw,value=1.12.18-SNAPSHOT,enable=${{ github.event.inputs.deploy_docker == 'true' || github.ref == format('refs/heads/{0}', 'main') }}
141146
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }}
142147
143148
- name: Agent Plane Hashicorp Container Build and push
@@ -175,7 +180,7 @@ jobs:
175180
type=semver,pattern={{version}}
176181
type=semver,pattern={{major}}
177182
type=semver,pattern={{major}}.{{minor}}
178-
type=raw,value=1.12.17-SNAPSHOT,enable=${{ github.event.inputs.deploy_docker == 'true' || github.ref == format('refs/heads/{0}', 'main') }}
183+
type=raw,value=1.12.18-SNAPSHOT,enable=${{ github.event.inputs.deploy_docker == 'true' || github.ref == format('refs/heads/{0}', 'main') }}
179184
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }}
180185
181186
- name: Agent Plane Azure Vault Container Build and push

.github/workflows/dependencies.yml

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
###############################################################
2+
# Copyright (c) 2021, 2024 Contributors to the Eclipse Foundation
3+
#
4+
# See the NOTICE file(s) distributed with this work for additional
5+
# information regarding copyright ownership.
6+
#
7+
# This program and the accompanying materials are made available under the
8+
# terms of the Apache License, Version 2.0 which is available at
9+
# https://www.apache.org/licenses/LICENSE-2.0.
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14+
# License for the specific language governing permissions and limitations
15+
# under the License.
16+
#
17+
# SPDX-License-Identifier: Apache-2.0
18+
###############################################################
19+
20+
name: Check Dependencies
21+
22+
on:
23+
push:
24+
branches:
25+
- main
26+
- 'release/*'
27+
pull_request:
28+
branches:
29+
- main
30+
- 'release/*'
31+
types:
32+
- opened
33+
- synchronize
34+
- reopened
35+
workflow_dispatch:
36+
37+
jobs:
38+
check-dependencies:
39+
40+
runs-on: ubuntu-latest
41+
strategy:
42+
matrix:
43+
dotnet-version: ['7.0']
44+
45+
steps:
46+
47+
# Get the Code
48+
- name: Checkout repository
49+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
50+
with:
51+
submodules: recursive
52+
53+
# Set-Up
54+
- name: Setup JDK 17
55+
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
56+
with:
57+
java-version: '17'
58+
distribution: 'temurin'
59+
cache: 'maven'
60+
61+
# Run Maven Deploy (on demand or if either running on main or a version tag)
62+
- name: Generate Dependencies file
63+
if: ${{ ( github.event.inputs.deploy_maven == 'true' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') ) }}
64+
run: |
65+
./mvnw org.eclipse.dash:license-tool-plugin:license-check -Ddash.summary=DEPENDENCIES
66+
67+
- name: Check if dependencies were changed
68+
id: dependencies-changed
69+
run: |
70+
changed=$(git diff DEPENDENCIES)
71+
if [[ -n "$changed" ]]; then
72+
echo "dependencies changed"
73+
echo "changed=true" >> $GITHUB_OUTPUT
74+
else
75+
echo "dependencies not changed"
76+
echo "changed=false" >> $GITHUB_OUTPUT
77+
fi
78+
79+
- name: Check for restricted dependencies
80+
run: |
81+
restricted=$(grep ' restricted,' DEPENDENCIES || true)
82+
if [[ -n "$restricted" ]]; then
83+
echo "The following dependencies are restricted: $restricted"
84+
exit 1
85+
fi
86+
if: steps.dependencies-changed.outputs.changed == 'true'
87+
88+
- name: Upload DEPENDENCIES file
89+
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
90+
with:
91+
path: DEPENDENCIES
92+
if: steps.dependencies-changed.outputs.changed == 'true'
93+
94+
- name: Signal need to update DEPENDENCIES
95+
run: |
96+
echo "Dependencies need to be updated (updated DEPENDENCIES file has been uploaded to workflow run)"
97+
exit 1
98+
if: steps.dependencies-changed.outputs.changed == 'true'

.github/workflows/veracode.yml

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,14 @@ jobs:
4545
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
4646
with:
4747
fetch-depth: 0
48-
- uses: ./.github/actions/setup-java
48+
# Set-Up
49+
- name: Setup JDK 17
50+
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
51+
with:
52+
java-version: '17'
53+
distribution: 'temurin'
54+
cache: 'maven'
55+
4956
- name: Verify proper formatting
5057
run: ./mvnw spotless:check
5158

@@ -60,9 +67,15 @@ jobs:
6067
variant: [ { dir: agent-plane, name: agentplane-azure-vault },
6168
{ dir: agent-plane, name: agentplane-hashicorp } ]
6269
steps:
63-
# Set-Up
70+
# Get Code
6471
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
65-
- uses: ./.github/actions/setup-java
72+
# Set-Up
73+
- name: Setup JDK 17
74+
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
75+
with:
76+
java-version: '17'
77+
distribution: 'temurin'
78+
cache: 'maven'
6679
# Build
6780
- name: Build ${{ matrix.variant.name }}
6881
run: |-

DEPENDENCIES

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2-jakarta/2.2.2, Apache-2.0,
9797
maven/mavencentral/io.swagger.core.v3/swagger-models-jakarta/2.2.2, Apache-2.0, approved, #5919
9898
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
9999
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
100-
maven/mavencentral/jakarta.inject/jakarta.inject-api/2.0.1, Apache-2.0, approved, clearlydefined
101-
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
102-
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
100+
maven/mavencentral/jakarta.inject/jakarta.inject-api/2.0.1, Apache-2.0, approved, ee4j.cdi
101+
maven/mavencentral/jakarta.json/jakarta.json-api/2.1.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jsonp
102+
maven/mavencentral/jakarta.transaction/jakarta.transaction-api/2.0.0, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jta
103103
maven/mavencentral/jakarta.validation/jakarta.validation-api/3.0.2, Apache-2.0, approved, ee4j.validation
104104
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
105105
maven/mavencentral/jakarta.xml.bind/jakarta.xml.bind-api/4.0.0, BSD-3-Clause, approved, ee4j.jaxb
@@ -224,8 +224,8 @@ maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.15, EPL-2.0 OR Apache-2.
224224
maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty
225225
maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty
226226
maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.16, EPL-2.0 OR Apache-2.0, approved, rt.jetty
227-
maven/mavencentral/org.eclipse.tractusx.agents.edc.agent-plane/agent-plane-protocol/1.12.17-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
228-
maven/mavencentral/org.eclipse.tractusx.edc/auth-jwt/1.12.17-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
227+
maven/mavencentral/org.eclipse.tractusx.agents.edc.agent-plane/agent-plane-protocol/1.12.18-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
228+
maven/mavencentral/org.eclipse.tractusx.edc/auth-jwt/1.12.18-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
229229
maven/mavencentral/org.eclipse.tractusx.edc/core-spi/0.5.3, Apache-2.0, approved, automotive.tractusx
230230
maven/mavencentral/org.eclipse.tractusx.edc/edc-dataplane-azure-vault/0.5.3, Apache-2.0, approved, automotive.tractusx
231231
maven/mavencentral/org.eclipse.tractusx.edc/edc-dataplane-base/0.5.3, Apache-2.0, approved, automotive.tractusx

README.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!--
2-
* Copyright (c) 2022,2023 Contributors to the Eclipse Foundation
2+
* Copyright (c) 2022,2024 Contributors to the Eclipse Foundation
33
*
44
* See the NOTICE file(s) distributed with this work for additional
55
* information regarding copyright ownership.
@@ -98,6 +98,35 @@ Deployment can be done
9898

9999
See the [user documentation](docs/README.md) for more detailed deployment information.
100100

101+
#### Setup using Helm/Kind
102+
103+
In order to run KA-EDC applications via helm on your local machine, please make sure the following
104+
preconditions are met.
105+
106+
- Have a local Kubernetes runtime ready. We've tested this setup with [KinD](https://kind.sigs.k8s.io/), but other
107+
runtimes such
108+
as [Minikube](https://minikube.sigs.k8s.io/docs/start/) may work as well, we just haven't tested them. All following
109+
instructions will assume KinD.
110+
111+
For the most bare-bones installation of the dataspace, execute the following commands in a shell:
112+
113+
```shell
114+
kind create cluster -n ka --config kind.config.yaml
115+
# the next step is specific to KinD and will be different for other Kubernetes runtimes!
116+
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
117+
# wait until the ingress controller is ready
118+
kubectl wait --namespace ingress-nginx \
119+
--for=condition=ready pod \
120+
--selector=app.kubernetes.io/component=controller \
121+
--timeout=90s
122+
# transfer images
123+
kind load docker-image docker.io/tractusx/agentplane-hashicorp:1.12.18-SNAPSHOT --name ka
124+
kind load docker-image docker.io/tractusx/agentplane-azure-vault:1.12.18-SNAPSHOT --name ka
125+
# run chart testing
126+
ct install --charts charts/agent-plane
127+
ct install --charts charts/agent-plane-azure-vault
128+
``````
129+
101130
### Notice for Docker Images
102131

103132
* [Notice for Agent Data Plane Running Against Hashicorp Vault](agent-plane/agentplane-hashicorp/README.md#notice-for-docker-images)

agent-plane/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ mvn package -Pwith-docker-image
6666
Alternatively, after a successful build, you can invoke docker yourself
6767

6868
```console
69-
docker build -t tractusx/agentplane-azure-vault:1.12.17-SNAPSHOT -f agentplane-azure-vault/src/main/docker/Dockerfile .
69+
docker build -t tractusx/agentplane-azure-vault:1.12.18-SNAPSHOT -f agentplane-azure-vault/src/main/docker/Dockerfile .
7070
```
7171

7272
```console
73-
docker build -t tractusx/agentplane-hashicorp:1.12.17-SNAPSHOT -f agentplane-hashicorp/src/main/docker/Dockerfile .
73+
docker build -t tractusx/agentplane-hashicorp:1.12.18-SNAPSHOT -f agentplane-hashicorp/src/main/docker/Dockerfile .
7474
```
7575

agent-plane/agent-plane-protocol/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@ This folder hosts the [Agent Data Protocols Extension for the Eclipse Dataspace
2323
## Architecture
2424

2525
This extension
26-
- introduces a tenant-internal endpoint (Matchmaking Agent) for submitting possibly federated queries (called Skills) in the supported inference languages (currently: SparQL)
26+
- introduces or interfaces to a tenant-internal endpoint (Matchmaking Agent) for submitting possibly federated queries (called Skills) in the supported inference languages (currently: SparQL)
27+
- hosts a synchronisation schedule which regulary requests the catalogue from configured partner connectors and includes them into the default graph
2728
- may negotiate further agreements for delegating sub-queries on the fly, for which purpose it also operates as an EDR callback for the control plane
2829
- may operate as a validation proxy in case that this data plane is attached to several control planes (e.g. a consuming and a providing control plane)
2930
- implements special Sources for dealing with http-based transfer protocols, such as SparQL-Over-Http and Skill-Over-Http
30-
- hosts a synchronisation schedule which regulary requests the catalogue from configured partner connectors and includes them into the default graph
31+
3132
The SparQL implementation currently relies on Apache Jena Fuseki as the SparQL engine.
3233

3334
see the [Overall Source Code Layout](../../README.md#source-code-layout--runtime-collaboration)
@@ -63,7 +64,7 @@ Add the following dependency to your data-plane artifact pom:
6364
<dependency>
6465
<groupId>org.eclipse.tractusx.agents.edc</groupId>
6566
<artifactId>agent-plane-protocol</artifactId>
66-
<version>1.12.17-SNAPSHOT</version>
67+
<version>1.12.18-SNAPSHOT</version>
6768
</dependency>
6869
```
6970

@@ -89,6 +90,7 @@ See [this sample configuration file](resources/dataplane.properties)
8990

9091
| Property | Required | Default/Example | Description | List |
9192
|-----------------------------------------------|----------|--------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|------|
93+
| cx.agent.matchmaking | | http://matchmaking-agent.internal | URL of the matchmaking agent (use internal one if null) | |
9294
| cx.agent.asset.default | | urn:x-arq:DefaultGraph | IRI of the default graph (federated data catalogue) | |
9395
| cx.agent.asset.file | | https://www.w3id.org/catenax/ontology,dataspace.ttl | Initial triples for the default graph (federated data catalogue) | L |
9496
| cx.agent.accesspoint.name | | api | Matchmaking agent endpoint name (internal) | |
@@ -109,7 +111,7 @@ See [this sample configuration file](resources/dataplane.properties)
109111
| cx.agent.service.deny | | ^$ | Regular expression for determining which IRIs are denied in SERVICE calls (on top level/federated data catalogue) | | |
110112
| cx.agent.service.asset.allow | | (http&#124;edc)s://.* | Regular expression for determining which IRIs are allowed in delegated SERVICE calls (if not overriden by the cx-common:allowServicePattern address property) | |
111113
| cx.agent.service.asset.deny | | ^$ | Regular expression for determining which IRIs are denied in delegated SERVICE calls (it not overridden by the cx-common:denyServicePattern address property) | | |
112-
| cx.agent.dataspace.remotes | | http://consumer-edc-control:8282,http://tiera-edc-control:8282 | business partner control plane protocol urls to synchronize with | L |
114+
| cx.agent.dataspace.remotes | | http://consumer-edc-control:8282,http://tiera-edc-control:8282 | business partner control plane protocol urls to synchronize with (if using internal matchmaking) | L |
113115
| cx.agent.sparql.verbose | | false | Controls the verbosity of the SparQL Engine | |
114116
| cx.agent.threadpool.size | | 4 | Number of threads pooled for any concurrent batch calls and synchronisation actions | |
115117
| cx.agent.federation.batch.max | | 9223372036854775807 / 8 | Maximal number of tuples to send in one query | |

agent-plane/agent-plane-protocol/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<parent>
2626
<groupId>org.eclipse.tractusx.agents.edc</groupId>
2727
<artifactId>agent-plane</artifactId>
28-
<version>1.12.17-SNAPSHOT</version>
28+
<version>1.12.18-SNAPSHOT</version>
2929
<relativePath>../pom.xml</relativePath>
3030
</parent>
3131

0 commit comments

Comments
 (0)