eclipse-tractusx / bpdm

bpdm
Apache License 2.0
6 stars 15 forks source link

BPDM

Project Description

This repository is part of the overarching Eclipse Tractus-X project.

BPDM is an acronym for business partner data management. This project serves two main purposes:

  1. Provide services for querying and sharing business partner information
  2. Establish an infrastructure for realising the Golden Record process which turns business partner information from sharing members to Golden Records, that is cleaned and enriched business partner data uniquely identified by a business partner number (BPN)

The following sections give an overview of this repository's structure.

BPDM Applications

Heart of this project is the source code for the BPDM applications. Together, those applications provide the infrastucture for the Golden Record process. The BPDM solution contains the following applications:

Subfolders for BPDM applications are easily recognizable by the bpdm prefix.

Installation

Please consult the INSTALL documentation file for in-depth installation instructions.

Usage

BPDM is an application environment designed to be interacted with over APIs. Therefore, please consult the api documentation for getting to know how to use BPDM.

GitHub Workflows

For releasing new Docker images of the BPDM Pool and Gate we use GitHub Actions/Workflows, by convention found in the .github/workflows folder. On pushing to the main branch or creating a new Git tag the applications are containerized and pushed to the repository's GitHub Container Registry. The containerization of the applications is based on the Dockerfiles found in the root folders of the Pool and Gate modules. Released images are tagged according to the main branch or Git tag name.

In addition to the release of the applications' Docker images, there is also a workflow to release a corresponding Helm chart on Git tag creation. Helm charts are released via the helm/chart-releaser-action and are stored in the gh-pages branch of the repository.

Furthermore, apart from the release workflows there also exists code scanning workflows for quality assurance:

  1. Before any release of Docker images GitHub executes unit and integration tests.
  2. Periodically, workflows execute a KICS and Trivy scan to ensure quality standards of the Docker images and Helm charts.
  3. For a more thorough security check the packaged applications are send to a VeraCode scan, which happens periodically and after a push to main

Documentation

This README is just the gateway to more detailed documentation files that may be found in the docs folder

Docker Notice

Below you can find information to the used Docker images in this application:

NOTICE

This work is licensed under the Apache-2.0.