RoKrish14 / knowledge-agents

Pipeline
Apache License 2.0
0 stars 0 forks source link

Tractus-X Knowledge Agents Reference Implementations (KA-RI)

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

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) implementing the "binding" modules of the CX-0084 standard (Federated Queries in Dataspaces).

About the Project

This repository provides FOSS implementations for so-called Agents.

An "Agent" is a (re- as well as pro-active) component which understands, partially elaborates and possibly delegates declarative scripts or queries (the so-called "Skills") over individual data and service assets ("Knowledge Graphs") of the dataspace.

Agents speak Semantic Web Based dataspace protocols (such as SPARQL) which are negotiated and transferred by the Tractus-X Knowledge Agent Extensions for the Eclipse Dataspace Components (KA-EDC). Binding Agents translate these protocols to your backend data storage or API.

We provide several of agent implementations in this product.

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 agent 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/conforming-agent:1.13.21-SNAPSHOT --name ka
kind load docker-image docker.io/tractusx/matchmaking-agent:1.13.21-SNAPSHOT --name ka
kind load docker-image docker.io/tractusx/provisioning-agent:1.13.21-SNAPSHOT --name ka
kind load docker-image docker.io/tractusx/remoting-agent:1.13.21-SNAPSHOT --name ka
# run container test
ct install --charts charts/conforming-agent 
ct install --charts charts/matchmaking-agent  
ct install --charts charts/provisioning-agent
ct install --charts charts/remoting-agent 

Notice for Docker Images