Skip to content

Commit

Permalink
Merge pull request #192 from big-data-spaces/feature/lacking-document…
Browse files Browse the repository at this point in the history
…ation-trgs

docs: llacking documentation trgs
  • Loading branch information
almadigabor authored Dec 3, 2024
2 parents c683972 + 5e84a86 commit 8a66e3e
Show file tree
Hide file tree
Showing 9 changed files with 1,944 additions and 204 deletions.
18 changes: 5 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,12 @@
![GitHub all releases](https://img.shields.io/github/downloads/eclipse-tractusx/knowledge-agents/total)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=eclipse-tractusx_knowledge-agents&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=eclipse-tractusx_knowledge-agents)

Tractus-X Knowledge Agents Reference Implementations (KA-RI) 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 "binding" modules of the CX-0084 standard (Federated Queries in Dataspaces).
Tractus-X Knowledge Agents Reference Implementations (KA-RI) 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 "binding" modules of the CX-0084 standard (Federated Queries in Dataspaces).

* See the [User Documentation](docs/README.md)
* See the [Architecture](docs/architecture/Arc42.md)
* See the [OpenAPI definition](docs/api/openAPI.yaml)
* See the [Administration Guide](docs/admin/README.md)
* See the [Authors](AUTHORS.md)
* See the [Changelog](CHANGELOG.md)
* See the [Code of Conduct](CODE_OF_CONDUCT.md)
Expand Down Expand Up @@ -80,18 +84,6 @@ To update the [DEPENDENCIES](./DEPENDENCIES) declarations
./mvnw org.eclipse.dash:license-tool-plugin:license-check
```

### Deployment

Deployment can be done
* via [JAR libraries](https://github.com/orgs/eclipse-tractusx/packages?repo_name=knowledge-agents&ecosystem=maven) copied into your Java runtime
* via [Docker images](https://hub.docker.com/r/tractusx)
* via [Helm Charts (Stable Versions)](https://eclipse-tractusx.github.io/charts/stable) or [Helm Charts (Dev Versions)](https://eclipse-tractusx.github.io/charts/stable)

See the individual agent documentations for more detailed deployment information
* [Provisioning Agent](provisioning/README.md)
* [Remoting Agent](remoting/README.md)
* [Conforming Agent](conforming/README.md)

#### Setup using Helm/Kind

In order to run KA-RI applications via helm on your local machine, please make sure the following
Expand Down
45 changes: 0 additions & 45 deletions conforming/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,48 +133,3 @@ As with all Docker images, these likely also contain other software which may be

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

### Helm Chart

A helm chart for deploying the remoting agent can be found under [this folder](../charts/remoting-agent).

It can be added to your umbrella chart.yaml by the following snippet

```console
dependencies:
- name: conforming-agent
repository: https://eclipse-tractusx.github.io/charts/dev
version: 1.14.24-SNAPSHOT
alias: my-conforming-agent
```

and then installed using

```console
helm dependency update
```

In your values.yml, you configure your specific instance of the conforming agent like this

```console
##############################################################################################
# Conforming Agent
##############################################################################################

my-conforming-agent:
securityContext: *securityContext
nameOverride: my-conforming-agent
fullnameOverride: my-conforming-agent
ingresses:
- enabled: true
# -- The hostname to be used to precisely map incoming traffic onto the underlying network service
hostname: "my-conforming-agent.public-ip"
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/use-regex: "true"
# -- Agent endpoints exposed by this ingress resource
endpoints:
- default
tls:
enabled: true
secretName: my-conforming-tls
```
8 changes: 7 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@

# Tractus-X Knowledge Agents Reference Implementation (KA-RI) Documentation

In the Knowledge Agent Architecture, an Agent is any component which speaks and/or enacts a Semantic Web protocol, such as SPARQL.
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.

See the [Knowledge Agents OpenAPI](api/openAPI.yaml) for a detailed description of this protocol.

Binding Agents are the intermediate layer between the dataspace (represented by the Matchmaking Agent that is connected to any Agent-Enabled Application and/or the Agent-Enabled Connector) and your business data & functions.

Expand Down Expand Up @@ -53,6 +55,10 @@ The [Remoting Agent (KA-RMT)](../remoting) which binds typical REST services to
The [Conforming Agent (KA-CONF)](conforming) is not a real binding agent, but it
can play the role of any other Agent in the Knowledge Agent architecture (Matchmaking Agent, Binding Agent, EDC Transfer) by testing the conformity of surrounding components (and the various KA-SPARQL profiles). The conforming agent contains no real business data (only reference sample data) and needs no connection to any backend service.

## Deployment

see the [Administration Guide](admin/README.md)

## NOTICE

This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).
Expand Down
220 changes: 220 additions & 0 deletions docs/admin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
<!--
* Copyright (c) 2022,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
-->

# Tractus-X Knowledge Agents Reference Implementation (KA-RI) Administration Guide

## Deployment

Deployment can be done
* via [JAR libraries](https://github.com/orgs/eclipse-tractusx/packages?repo_name=knowledge-agents&ecosystem=maven) copied into your Java runtime
* via [Docker images](https://hub.docker.com/r/tractusx)
* via [Helm Charts (Stable Versions)](https://eclipse-tractusx.github.io/charts/stable) or [Helm Charts (Dev Versions)](https://eclipse-tractusx.github.io/charts/stable)

## Helm Chart for Conforming Agent

A helm chart for deploying the remoting agent can be found under [this folder](../../charts/remoting-agent).

It can be added to your umbrella chart.yaml by the following snippet

```console
dependencies:
- name: conforming-agent
repository: https://eclipse-tractusx.github.io/charts/dev
version: 1.14.24-SNAPSHOT
alias: my-conforming-agent
```

and then installed using

```console
helm dependency update
```

In your values.yml, you configure your specific instance of the conforming agent like this

```console
##############################################################################################
# Conforming Agent
##############################################################################################

my-conforming-agent:
securityContext: *securityContext
nameOverride: my-conforming-agent
fullnameOverride: my-conforming-agent
ingresses:
- enabled: true
# -- The hostname to be used to precisely map incoming traffic onto the underlying network service
hostname: "my-conforming-agent.public-ip"
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/use-regex: "true"
# -- Agent endpoints exposed by this ingress resource
endpoints:
- default
tls:
enabled: true
secretName: my-conforming-tls
```

## Helm Chart for Matchmaking Agent

A helm chart for deploying the matchmaking agent can be found under [this folder](../../charts/matchmaking-agent).

It can be added to your umbrella chart.yaml by the following snippet

```console
dependencies:
- name: matchmaking-agent
repository: https://eclipse-tractusx.github.io/charts/dev
version: 1.14.24-SNAPSHOT
alias: my-matchmmaking-agent
```

and then installed using

```console
helm dependency update
```

In your values.yml, you configure your specific instance of the matchmaking agent like this

```console
##############################################################################################
# Matchmaking Agent
##############################################################################################

my-matchmaking-agent:
securityContext: *securityContext
nameOverride: my-matchmaking-agent
fullnameOverride: my-matchmaking-agent
ingresses:
- enabled: true
# -- The hostname to be used to precisely map incoming traffic onto the underlying network service
hostname: "my-matchmaking-agent.public-ip"
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/use-regex: "true"
# -- Agent endpoints exposed by this ingress resource
endpoints:
- default
tls:
enabled: true
secretName: my-conforming-tls
```

## Helm Chart for Provisioning Agent

A helm chart for deploying the remoting agent can be found under [this folder](../../charts/provisioning-agent).

It can be added to your umbrella chart.yaml by the following snippet

```console
dependencies:
- name: provisioning-agent
repository: https://eclipse-tractusx.github.io/charts/dev
version: 1.14.24-SNAPSHOT
alias: my-provider-agent
```

and then installed using

```console
helm dependency update
```

In your values.yml, you configure your specific instance of the remoting agent like this

```console
#######################################################################################
# Data Binding Agent
#######################################################################################

my-provider-agent:
securityContext: *securityContext
nameOverride: my-provider-agent
fullnameOverride: my-provider-agent
resources:
requests:
cpu: 500m
# you should employ 512Mi per endpoint
memory: 1Gi
limits:
cpu: 500m
# you should employ 512Mi per endpoint
memory: 1Gi
bindings:
# disables the default sample binding
dtc: null
# real production mapping
telematics2:
port: 8081
path: /t2/(.*)
settings:
jdbc.url: 'jdbcurl'
jdbc.user: <path:vaultpath#username>
jdbc.password: <path:vaultpath#password>
jdbc.driver: 'org.postgresql.Driver'
ontology: cx-ontology.xml
mapping: |-
[PrefixDeclaration]
cx-common: https://w3id.org/catenax/ontology/common#
cx-core: https://w3id.org/catenax/ontology/core#
cx-vehicle: https://w3id.org/catenax/ontology/vehicle#
cx-reliability: https://w3id.org/catenax/ontology/reliability#
uuid: urn:uuid:
bpnl: bpn:legal:
owl: http://www.w3.org/2002/07/owl#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
xml: http://www.w3.org/XML/1998/namespace
xsd: http://www.w3.org/2001/XMLSchema#
json: https://json-schema.org/draft/2020-12/schema#
obda: https://w3id.org/obda/vocabulary#
rdfs: http://www.w3.org/2000/01/rdf-schema#
oem: urn:oem:

[MappingDeclaration] @collection [[
mappingId vehicles
target <{vehicle_id}> rdf:type cx-vehicle:Vehicle ; cx-vehicle:vehicleIdentificationNumber {van}^^xsd:string; cx-vehicle:worldManufaturerId bpnl:{localIdentifiers_manufacturerId}; cx-vehicle:productionDate {production_date}^^xsd:date.
source SELECT vehicle_id, van, 'BPNL0000000DUMMY' as localIdentifiers_manufacturerId, production_date FROM vehicles

mappingId partsvehicle
target <{gearbox_id}> cx-vehicle:isPartOf <{vehicle_id}> .
source SELECT vehicle_id, gearbox_id FROM vehicles

mappingId vehicleparts
target <{vehicle_id}> cx-vehicle:hasPart <{gearbox_id}> .
source SELECT vehicle_id, gearbox_id FROM vehicles

]]
ingresses:
- enabled: true
# -- The hostname to be used to precisely map incoming traffic onto the underlying network service
hostname: "my-provider-agent.public.ip"
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/use-regex: "true"
# -- Agent endpoints exposed by this ingress resource
endpoints:
- telematics2
tls:
enabled: true
secretName: my-provider-tls
```

Loading

0 comments on commit 8a66e3e

Please sign in to comment.