Skip to content

Commit 4306c15

Browse files
authored
Merge pull request #266 from big-data-spaces/feature/lacking-documentation-trgs
docs: lacking documentation trgs
2 parents da562d0 + c238f3e commit 4306c15

File tree

5 files changed

+349
-161
lines changed

5 files changed

+349
-161
lines changed

.tractusx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@
1919

2020
product: "Tractus-X Knowledge Agents EDC Extensions (KA-EDC)"
2121
leadingRepository: "https://github.com/eclipse-tractusx/knowledge-agents"
22+
openApiSpecs:
23+
- "https://github.com/eclipse-tractusx/knowledge-agents/blob/main/docs/api/openAPI.yaml"

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,12 @@
2525
![GitHub all releases](https://img.shields.io/github/downloads/eclipse-tractusx/knowledge-agents-edc/total)
2626
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=eclipse-tractusx_knowledge-agents-edc&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=eclipse-tractusx_knowledge-agents-edc)
2727

28-
KA-EDC is a product of the [Catena-X Knowledge Agents Kit (about to move to: Tractus-X Knowledge Agents Kit)](https://bit.ly/tractusx-agents) implementing the core "dataspace" modules of the CX-0084 standard (Federated Queries in Dataspaces).
28+
KA-EDC is a product of the [Tractus-X Knowledge Agents Kit](https://eclipse-tractusx.github.io/docs-kits/kits/knowledge-agents/adoption-view/intro) implementing the core "dataspace" modules of the CX-0084 standard (Federated Queries in Dataspaces).
2929

3030
* See the [User Documentation](docs/README.md)
31+
* See the [Architecture](docs/architecture/Arc42.md)
32+
* See the [OpenAPI definition](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/docs/api/openAPI.yaml)
33+
* See the [Administration Guide](docs/admin/README.md)
3134
* See the [Authors](AUTHORS.md)
3235
* See the [Changelog](CHANGELOG.md)
3336
* See the [Code of Conduct](CODE_OF_CONDUCT.md)

docs/README.md

Lines changed: 6 additions & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,14 @@
1919

2020
# Tractus-X Knowledge Agents EDC Extensions (KA-EDC) Documentation
2121

22-
In the Knowledge Agent Architecture, an Agent is any component which speaks and/or enacts a Semantic Web protocol, such as SPARQL.
22+
In the [Knowledge Agent Architecture](architecture/Arc42.md), an Agent is any component which speaks and/or enacts a Semantic Web protocol, such as SPARQL.
2323

2424
The Tractus-X Knowledge Agents EDC Extensions (KA-EDC) introduces support for these protocols (and runnable applications) into the [Eclipse DataSpace Connector](https://github.com/eclipse-edc/Connector) and [Tractus-X EDC](https://github.com/eclipse-tractusx/tractusx-edc).
2525

2626
In particular, KA-EDC implements the so-called Matchmaking Agent endpoint that is able to discover and delegate to business data & functions provided by Binding Agents such as provided by [Knowledge Agents Reference Implementations (KA-RI)](https://github.com/eclipse-tractusx/knowledge-agents).
2727

28+
See the [Knowledge Agents OpenAPI](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/docs/api/openAPI.yaml) for a detailed description of this protocol.
29+
2830
In contrast to the Binding Agents which are restricted to a subset of the full SPARQL protocol called the KA-BIND profile, KA-EDC implements the KA-MATCH and KA-TRANSFER profiles. The data upon which KA-EDC operates however consists of ontology information and the data catalogue of the respective dataspace tenant.
2931

3032
## How it works
@@ -47,165 +49,9 @@ using different extensions for
4749
- Persistence of the Control-Plane-State
4850
- Persistence of Secrets (Vault)
4951

50-
## Connector Setup
51-
52-
The two supported setups are.
53-
54-
- Setup 1: PostgreSQL & Azure Vault
55-
- [Control Plane](https://github.com/eclipse-tractusx/edc-controlplane/edc-controlplane-postgresql-azure-vault/README.md)
56-
- [Agent Plane](../agent-plane/agentplane-azure-vault/README.md)
57-
- [Data Plane](https://github.com/eclipse-tractusx/edc-dataplane/edc-dataplane-azure-vault/README.md)
58-
- [JWT Auth Extension](../common/jwt-auth/README.md)
59-
- Setup 2: PostgreSQL & HashiCorp Vault
60-
- [Control Plane](https://github.com/eclipse-tractusx/edc-controlplane/README.md)
61-
- [Agent Plane](../agent-plane/agentplane-hashicorp/README.md)
62-
- [Data Plane](https://github.com/eclipse-tractusx/edc-dataplane/edc-dataplane-hashicorp-vault/README.md)
63-
- [JWT Auth Extension](../common/jwt-auth/README.md)
64-
65-
## Helm Deployment
66-
67-
To install a KA-enabled EDC (Setup 1 - Postgresql & Hashicorp Vault), add the following lines to the dependency section of your Charts.yaml
68-
69-
```yaml
70-
dependencies:
71-
72-
- name: tractusx-connector
73-
repository: https://eclipse-tractusx.github.io/charts/dev
74-
version: 0.7.0
75-
alias: my-connector
76-
- name: agent-plane
77-
repository: https://eclipse-tractusx.github.io/charts/dev
78-
version: 1.14.24-SNAPSHOT
79-
alias: my-agent
80-
```
81-
82-
To install a KA-enabled EDC (Setup 2 - Postgresql & Azure Vault), add the following lines to the dependency section of your Charts.yaml
83-
84-
```yaml
85-
dependencies:
86-
87-
- name: tractusx-connector
88-
repository: https://eclipse-tractusx.github.io/charts/dev
89-
version: 0.7.0
90-
alias: my-connector
91-
- name: agent-plane-azure-vault
92-
repository: https://eclipse-tractusx.github.io/charts/dev
93-
version: 1.14.24-SNAPSHOT
94-
alias: my-agent
95-
```
96-
97-
The configuration in your values.yaml follows the [Tractux-X EDC Helm Chart](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/charts/tractusx-connector/README.md).
98-
A few sections can be copied over 1-1 to the agent-plane which we demonstrate in the following.
99-
The agent-plane chart is documented [here](charts/agent-plane/README.md).
100-
The agent-plane-azure-vault chart is documented [here](charts/agent-plane-azure-vault/README.md).
101-
102-
```yaml
103-
my-connector:
104-
fullnameOverride: my-connector
105-
# -- Dataspace Settings
106-
participant: &dataspacesettings
107-
id: BPNL0000000DUMMY
108-
# -- Self-Sovereign Identity Settings
109-
iatp: &ssisettings
110-
id: *customerDid
111-
trustedIssuers:
112-
- *operatingDid
113-
sts:
114-
dim:
115-
url: *dimUrl
116-
oauth:
117-
token_url: *customerOauth
118-
client:
119-
id: *customerOauthClient
120-
secret_alias: *customerOauthSecret
121-
postgresql: &dbsettings
122-
jdbcUrl: *customerDbUrl
123-
auth:
124-
database: *customerDbName
125-
username: *customerDbUser
126-
password: *customerDbPass
127-
vault: &vaultsettings
128-
azure: *azureVault
129-
hashicorp: *hashicorpVault
130-
controlplane: &consumerControlPlane
131-
endpoints:
132-
management:
133-
authKey: *customerApiKey
134-
bdrs:
135-
server:
136-
url: *bdrsUrl
137-
ingresses:
138-
- enabled: true
139-
hostname: my-connector-cp.domain
140-
endpoints:
141-
- protocol
142-
- management
143-
- api
144-
tls:
145-
enabled: true
146-
certManager:
147-
clusterIssuer: *clusterIssuer
148-
env:
149-
EDC_DATAPLANE_SELECTOR_AGENTPLANE_URL: http:/my-agent-agentplane:8083/api/signaling/v1/dataflows
150-
EDC_DATAPLANE_SELECTOR_AGENTPLANE_SOURCETYPES: cx-common:Protocol?w3c:http:SPARQL,cx-common:Protocol?w3c:http:SKILL
151-
EDC_DATAPLANE_SELECTOR_AGENTPLANE_TRANSFERTYPES: HttpData-PULL
152-
EDC_DATAPLANE_SELECTOR_AGENTPLANE_DESTINATIONTYPES: HttpProxy
153-
EDC_DATAPLANE_SELECTOR_AGENTPLANE_PROPERTIES: '{ "publicApiUrl": "https://my-agent.domain/api/public/" }'
154-
EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: *operatorDid
155-
dataplane:
156-
token: &tokensettings
157-
env:
158-
EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: *operatorDid
159-
160-
my-agent:
161-
fullnameOverride: my-agent
162-
participant: *dataspacesettings
163-
iatp: *ssisettings
164-
postgresql: *dbsettings
165-
vault: *vaultsettings
166-
connector: my-connector
167-
controlplane: *consumerControlPlane
168-
token: *tokensettings
169-
auth: {}
170-
ingresses:
171-
- enabled: true
172-
hostname: my-agent.domain
173-
endpoints:
174-
- public
175-
- default
176-
tls:
177-
enabled: true
178-
certManager:
179-
clusterIssuer: *clusterIssuer
180-
configs:
181-
# -- An example of an empty graph in ttl syntax
182-
dataspace.ttl: |
183-
#################################################################
184-
# Catena-X Agent Bootstrap Graph in TTL/RDF/OWL FORMAT
185-
#################################################################
186-
@prefix : <GraphAsset?local=Dataspace> .
187-
@prefix cx-common: <https://w3id.org/catenax/ontology/common#> .
188-
@prefix owl: <http://www.w3.org/2002/07/owl#> .
189-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
190-
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
191-
@prefix json: <https://json-schema.org/draft/2020-12/schema#> .
192-
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
193-
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
194-
@prefix bpnl: <bpn:legal:> .
195-
@prefix bpns: <bpn:site:> .
196-
@base <GraphAsset?local=Dataspace> .
197-
198-
bpnl:BPNL000000000OEM cx-common:id "BPNL000000000OEM"^^xsd:string;
199-
cx-common:hasConnector <edcs://partner-connector-cp.partner-domain>.
200-
agent:
201-
synchronization: 360000
202-
connectors:
203-
BPNL000000000OEM: https://partner-connector-cp.partner-domain
204-
BPNL0000000DUMMY: https://my-connector-cp.domain
205-
services:
206-
# -- A regular expression which outgoing service URLs must match (unless overwritten by a specific asset property)
207-
allow: '(https|(edcs?))://.*'
208-
```
52+
## Deployment
53+
54+
see the [Administration Guide](admin/README.md)
20955

21056
## Recommended Documentation
21157

docs/admin/README.md

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
<!--
2+
* Copyright (c) 2022,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+
# Tractus-X Knowledge Agents EDC Extensions (KA-EDC) Administration Guide
21+
22+
## Deployment
23+
24+
Deployment can be done
25+
* via [JAR libraries](https://github.com/orgs/eclipse-tractusx/packages?repo_name=knowledge-agents-edc&ecosystem=maven) copied into your Java runtime
26+
* via [Docker images](https://hub.docker.com/r/tractusx)
27+
* via [Helm Charts (Stable Versions)](https://eclipse-tractusx.github.io/charts/stable) or [Helm Charts (Dev Versions)](https://eclipse-tractusx.github.io/charts/stable)
28+
29+
## Connector Setup
30+
31+
The two supported setups are.
32+
33+
- Setup 1: PostgreSQL & Azure Vault
34+
- [Control Plane](https://github.com/eclipse-tractusx/edc-controlplane/edc-controlplane-postgresql-azure-vault/README.md)
35+
- [Agent Plane](../../agent-plane/agentplane-azure-vault/README.md)
36+
- [Data Plane](https://github.com/eclipse-tractusx/edc-dataplane/edc-dataplane-azure-vault/README.md)
37+
- [JWT Auth Extension](../../common/jwt-auth/README.md)
38+
- Setup 2: PostgreSQL & HashiCorp Vault
39+
- [Control Plane](https://github.com/eclipse-tractusx/edc-controlplane/README.md)
40+
- [Agent Plane](../../agent-plane/agentplane-hashicorp/README.md)
41+
- [Data Plane](https://github.com/eclipse-tractusx/edc-dataplane/edc-dataplane-hashicorp-vault/README.md)
42+
- [JWT Auth Extension](../../common/jwt-auth/README.md)
43+
44+
## Helm Deployment
45+
46+
To install a KA-enabled EDC (Setup 1 - Postgresql & Hashicorp Vault), add the following lines to the dependency section of your Charts.yaml
47+
48+
```yaml
49+
dependencies:
50+
51+
- name: tractusx-connector
52+
repository: https://eclipse-tractusx.github.io/charts/dev
53+
version: 0.7.0
54+
alias: my-connector
55+
- name: agent-plane
56+
repository: https://eclipse-tractusx.github.io/charts/dev
57+
version: 1.14.24-SNAPSHOT
58+
alias: my-agent
59+
```
60+
61+
To install a KA-enabled EDC (Setup 2 - Postgresql & Azure Vault), add the following lines to the dependency section of your Charts.yaml
62+
63+
```yaml
64+
dependencies:
65+
66+
- name: tractusx-connector
67+
repository: https://eclipse-tractusx.github.io/charts/dev
68+
version: 0.7.0
69+
alias: my-connector
70+
- name: agent-plane-azure-vault
71+
repository: https://eclipse-tractusx.github.io/charts/dev
72+
version: 1.14.24-SNAPSHOT
73+
alias: my-agent
74+
```
75+
76+
The configuration in your values.yaml follows the [Tractux-X EDC Helm Chart](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/charts/tractusx-connector/README.md).
77+
A few sections can be copied over 1-1 to the agent-plane which we demonstrate in the following.
78+
The agent-plane chart is documented [here](charts/agent-plane/README.md).
79+
The agent-plane-azure-vault chart is documented [here](charts/agent-plane-azure-vault/README.md).
80+
81+
```yaml
82+
my-connector:
83+
fullnameOverride: my-connector
84+
# -- Dataspace Settings
85+
participant: &dataspacesettings
86+
id: BPNL0000000DUMMY
87+
# -- Self-Sovereign Identity Settings
88+
iatp: &ssisettings
89+
id: *customerDid
90+
trustedIssuers:
91+
- *operatingDid
92+
sts:
93+
dim:
94+
url: *dimUrl
95+
oauth:
96+
token_url: *customerOauth
97+
client:
98+
id: *customerOauthClient
99+
secret_alias: *customerOauthSecret
100+
postgresql: &dbsettings
101+
jdbcUrl: *customerDbUrl
102+
auth:
103+
database: *customerDbName
104+
username: *customerDbUser
105+
password: *customerDbPass
106+
vault: &vaultsettings
107+
azure: *azureVault
108+
hashicorp: *hashicorpVault
109+
controlplane: &consumerControlPlane
110+
endpoints:
111+
management:
112+
authKey: *customerApiKey
113+
bdrs:
114+
server:
115+
url: *bdrsUrl
116+
ingresses:
117+
- enabled: true
118+
hostname: my-connector-cp.domain
119+
endpoints:
120+
- protocol
121+
- management
122+
- api
123+
tls:
124+
enabled: true
125+
certManager:
126+
clusterIssuer: *clusterIssuer
127+
env:
128+
EDC_DATAPLANE_SELECTOR_AGENTPLANE_URL: http:/my-agent-agentplane:8083/api/signaling/v1/dataflows
129+
EDC_DATAPLANE_SELECTOR_AGENTPLANE_SOURCETYPES: cx-common:Protocol?w3c:http:SPARQL,cx-common:Protocol?w3c:http:SKILL
130+
EDC_DATAPLANE_SELECTOR_AGENTPLANE_TRANSFERTYPES: HttpData-PULL
131+
EDC_DATAPLANE_SELECTOR_AGENTPLANE_DESTINATIONTYPES: HttpProxy
132+
EDC_DATAPLANE_SELECTOR_AGENTPLANE_PROPERTIES: '{ "publicApiUrl": "https://my-agent.domain/api/public/" }'
133+
EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: *operatorDid
134+
dataplane:
135+
token: &tokensettings
136+
env:
137+
EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: *operatorDid
138+
139+
my-agent:
140+
fullnameOverride: my-agent
141+
participant: *dataspacesettings
142+
iatp: *ssisettings
143+
postgresql: *dbsettings
144+
vault: *vaultsettings
145+
connector: my-connector
146+
controlplane: *consumerControlPlane
147+
token: *tokensettings
148+
auth: {}
149+
ingresses:
150+
- enabled: true
151+
hostname: my-agent.domain
152+
endpoints:
153+
- public
154+
- default
155+
tls:
156+
enabled: true
157+
certManager:
158+
clusterIssuer: *clusterIssuer
159+
configs:
160+
# -- An example of an empty graph in ttl syntax
161+
dataspace.ttl: |
162+
#################################################################
163+
# Catena-X Agent Bootstrap Graph in TTL/RDF/OWL FORMAT
164+
#################################################################
165+
@prefix : <GraphAsset?local=Dataspace> .
166+
@prefix cx-common: <https://w3id.org/catenax/ontology/common#> .
167+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
168+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
169+
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
170+
@prefix json: <https://json-schema.org/draft/2020-12/schema#> .
171+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
172+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
173+
@prefix bpnl: <bpn:legal:> .
174+
@prefix bpns: <bpn:site:> .
175+
@base <GraphAsset?local=Dataspace> .
176+
177+
bpnl:BPNL000000000OEM cx-common:id "BPNL000000000OEM"^^xsd:string;
178+
cx-common:hasConnector <edcs://partner-connector-cp.partner-domain>.
179+
agent:
180+
synchronization: 360000
181+
connectors:
182+
BPNL000000000OEM: https://partner-connector-cp.partner-domain
183+
BPNL0000000DUMMY: https://my-connector-cp.domain
184+
services:
185+
# -- A regular expression which outgoing service URLs must match (unless overwritten by a specific asset property)
186+
allow: '(https|(edcs?))://.*'
187+
```
188+

0 commit comments

Comments
 (0)