Skip to content

Latest commit

 

History

History
100 lines (75 loc) · 4.47 KB

File metadata and controls

100 lines (75 loc) · 4.47 KB

Tractus-X Knowledge Agent Plane Hashicorp Vault (KA-EDC-AGENT-HASH)

This folder hosts the Default Agent (Data) Plane with Hashicorp Vault for the Eclipse Dataspace Connector (EDC).

The module sets up/depends on

  • an EDC Data Plane with a secret store tailored to the Azure Vault
  • supports HttpData and AmazonS3 sources (such as used by AAS submodels)
  • supports possibly multiple Http sub-protocols, currently
    • urn:cx:Protocol:w3c:Http#SPARQL for Graph-Based sources by means of the Apache Jena Fuseki engine
    • urn:cx:Protocol:w3c:Http#SKILL for downloading or delegating pre-defined queries
  • allows to build up a graph-based federated data catalogue
  • includes the JWT-AUTH extension which may shield any endpoint with additional layers of authentication, such as against Oauth2 IDPs

For the configuration options, please see the Agent Plane Extension

For a sample configuration including Hashicorp Vault, see this sample properties file

Building

You could invoke the following command to compile and test the Agent Plane

mvn -s ../../../settings.xml install

Deployment & Usage

Containerizing

You could invoke the following command to compile and test the Agent Plane

mvn -s ../../../settings.xml install -Pwith-docker-image

Alternatively, after a sucessful build the docker image of the Agent Plane is created using

docker build -t tractusx/agentplane-hashicorp:1.12.19-SNAPSHOT -f src/main/docker/Dockerfile .

To run the docker image, you could invoke this command

docker run -p 8082:8082 \
  -v $(pwd)/resources/agent.ttl:/app/agent.ttl \
  -v $(pwd)/resources/dataspace.ttl:/app/dataspace.ttl \
  -v $(pwd)/resources/dataplane.properties:/app/configuration.properties \
  -v $(pwd)/resources/opentelemetry.properties:/app/opentelemetry.properties \
  -v $(pwd)/resources/logging.properties:/app/logging.properties \
  tractusx/agentplane-hashicorp:1.12.19-SNAPSHOT

Afterwards, you should be able to access the local SparQL endpoint via the browser or by directly invoking a query

curl --request GET 'http://localhost/api/agent?asset=urn:graph:cx:Dataspace&query=SELECT ?senseOfLife WHERE { VALUES (?senseOfLife) { ("42"^^xsd:int) } }' \
--header 'X-Api-Key: foo'

Notice for Docker Image

DockerHub: https://hub.docker.com/r/tractusx/agentplane-hashicorp

Eclipse Tractus-X product(s) installed within the image: GitHub: https://github.com/eclipse-tractusx/knowledge-agents-edc/tree/main/agent-plane/agentplane-hashicorp Project home: https://projects.eclipse.org/projects/automotive.tractusx Dockerfile: https://github.com/eclipse-tractusx/knowledge-agents-edc/blob/main/agent-plane/agentplane-hashicorp/src/main/docker/Dockerfile Project license: Apache License, Version 2.0

Used base image

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

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.