knowledge-agents-aas-bridge

Tractus-X Knowledge Agents AAS Bridges (KA-AAS)

GitHub contributors GitHub Org's stars GitHub GitHub all releases Quality Gate Status

Tractus-X Knowledge Agents AAS Bridges (KA-AAS) is a product of the Catena-X Knowledge Agents Kit (about to move to: Tractus-X Knowledge Agents Kit). It implements bridging components between the Catena-X Association’s CX-0084 (Federated Queries in Dataspaces) and Industrial Digitial Twin Association’s AAS Part 1 & 2 (Asset Administration Sheel) standards.

About the Project

This repository provides FOSS implementations for so-called bridging components between ‘Knowledge Agents’ and ‘Asset Administration Shells’.

According to CX-0084, an “Agent” is a component that allows to represent and query a backend system (‘source’) using Semantic Web protocols (such as SPARQL).

According to AAS Part 1 & 2, an “Asset Administration Shell” (Server, Registry) is a component that allows to represent and query a source using a predefined REST Api.

Both Knowledge Agents as well as AAS components are expected to be compatible to the Tractus-X EDC connector.

Currently we provide the following bridge components:

Included in this repository are ready-made Helm charts.

They can be installed from the Tractus-X Helm Repository (Stable Versions) or Tractus-X Helm Repository (Dev Versions).

Getting Started

Build

To compile, package and containerize the binary artifacts (includes running the unit tests)

./mvnw package -Pwith-docker-image

To publish the binary artifacts (environment variables GITHUB_ACTOR and GITHUB_TOKEN must be set)

./mvnw -s settings.xml publish

To update the DEPENDENCIES declarations

./mvnw org.eclipse.dash:license-tool-plugin:license-check 

Deployment

Deployment can be done

See the individual bridge documentations for more detailed deployment information

Setup using Helm/Kind

In order to run KA-RI applications via helm on your local machine, please make sure the following preconditions are met.

For the most bare-bones installation of the dataspace, execute the following commands in a shell:

kind create cluster -n ka --config kind.config.yaml
# the next step is specific to KinD and will be different for other Kubernetes runtimes!
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
# wait until the ingress controller is ready
kubectl wait --namespace ingress-nginx \
  --for=condition=ready pod \
  --selector=app.kubernetes.io/component=controller \
  --timeout=90s
# transfer images
kind load docker-image docker.io/tractusx/aas-bridge:1.13.7-SNAPSHOT --name ka
# run container test
ct install --charts charts/aas-bridge

Notice for Docker Images