Coder Social home page Coder Social logo

fnc-test / product-knowledge Goto Github PK

View Code? Open in Web Editor NEW

This project forked from catenax-ng/product-knowledge

0.0 0.0 0.0 24.48 MB

Catena-X Knowledge Agents Kit

License: Apache License 2.0

Shell 5.24% JavaScript 0.70% Python 11.60% Perl 4.71% Java 17.23% TypeScript 50.27% CSS 5.75% HTML 0.51% Dockerfile 3.51% Sass 0.40% jq 0.06%

product-knowledge's Introduction

Catena-X Agents Kit Source Repository

This is a MonoRepo hosting or linking all the module and infrastructure codes related to the Catena-X Agents Kit.

Documentation

With regard to any global, architectural and usage documentation, we refer to our web page. All sources are locally documented using markdown and language-specific code comments.

Repository Linking and Initialisation

Some modules may be maintained in separate repositories (currently: a patched AASWC client).

They are linked as git submodules so you should be sure to run the following command after cloning this repo:

git submodule update --init

You may open this repository in a Github Codespace. Be sure to use a "4-core" or bigger machine type since some of the docker images need a certain amount of memory and horsepower.

Modules

These are the further sub-modules of the Agents Kit

  • Dataspace hosts reference implementations of the Gaia-X/IDS Dataspace extensions (Agents) for both Providers and Consumers, such as AAS-Bridge and Data Virtualization Engines.
  • UX hosts User Experience components and a sample portal/development environment for developing and executing semantically-driven logic and apps.
  • Infrastructure hosts "Infrastructure as Code" manifests and resources for easy deployment of above artifacts including a sample dataspace.

Carved out external repositories

Besides the markdown documentation including this file, we have some helper folders

  • Github contains all workflows and CI/CD processes.
    • Github CI/CD Workflow builds and unit-tests all artifacts, checks source and binary code quality using CodeQL and publishes the results (only main branch).
    • Github KICS Workflow checks Docker Buildfiles and Helm Charts for the most common vulnerabilities.
  • Maven contains bootstrap code for the main build system.

And some related scripts and settings

  • Git Settings
    • Attributes has large-file settings for binary artifacts.
    • Ignore excludes certain build artifacts from versioning.
  • Maven Scripts
  • Postman Collections and Environments
    • Knowledge Agents contains API interactions and samples for all REST-based interfaces of the KA architecture. Includes integration test steps. Excludes conformity asessment methods. Should be combined with one of the following environments
    • Localhost contains API endpoints and secrets for interacting with the local deployment of the sample dataspace.
    • Development contains API endpoints and (emptied) secrets for interacting with the development deployment of the sample dataspace. Please contact the CX association to get the actual secrets.
    • Localhost contains API endpoints and (emptied) secrets for interacting with the integration deployment of the sample dataspace. Please contact the CX association to get the actual secrets.
  • Conda Environment for setting up python.

Build

Environment Variables

To interact with the required package and container registries, the following environment variables should be set

export GITHUB_ACTOR=
export GITHUB_TOKEN=

Prepare

A suitable conda environment named knowledgeagents can be created and activated with:

conda env create -f environment.yaml
conda activate knowledgeagents

Compile

To build all compilation artifacts (without tests), you can invoke

./mvnw -s settings.xml install -DskipTests

Test

To build all compilation artifacts (including tests), you can invoke

./mvnw -s settings.xml install

Package and Deploy

To bundle all deployment artifacts for a particular platform (currently supported: linux/amd64 and linux/arm64), you can invoke

./mvnw -s settings.xml package -Pwith-docker-image -Dplatform=linux/amd64

To publish the artifacts, choose

./mvnw -s settings.xml deploy -Pwith-docker-image -Dplatform=linux/amd64

Containerizing, Registering and Deployment

Knowledge Agents builds all containers using docker technology. The docker buildfiles are part of the respective source code repositories.

Containers

To build all artifacts (including compilation artifacts, tests and container images with the default target platform linux/amd64), you can invoke

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

To build all artifacts especially for target platform linux/arm64, use this command

./mvnw -s settings.xml install -Dplatform=linux/arm64 -Pwith-docker-image

Registry

To register all artifacts (including compilation artifacts, tests and container images) into their respective registries, you can invoke

./mvnw -s settings.xml deploy -Pwith-docker-image

Deployment

Agents KIT containers will be deployed very individually. We provide a sample environment (dataspace consisting of three business partners) using docker-compose (for local deployment) and helm (for cloud/cluster deployment) technology. The docker compose files and helm charts can be found in the infrastructure folder.

Running Against the Services and APIs / Integration Tests

You may use/export/fork this online Postman Workspace/Collecion a copy of which is embedded here. It contains collection of sample interactions with the various sub-products in several environments (e.g. local, development and integration) and tailored to the sample dataspace. Also integrated there is a folder with the integrations tests which are scripted and consective Postman actions which test features and state changes within the target environment. This is used in the Github Integration Test Workflow.

product-knowledge's People

Contributors

arnoweiss avatar coadaflorin avatar dependabot[bot] avatar drcgjung avatar hsperker avatar janemcbrain avatar manusmanum avatar obalandi avatar scherersebastian avatar zazraltmagic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.