Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: bpdm document update for QG4 23.12 #620

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 5 additions & 5 deletions DEPENDENCIES
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,11 @@ maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-core/10.1.15, Apache-2.0
maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-el/10.1.15, Apache-2.0, approved, #6997
maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-websocket/10.1.15, Apache-2.0, approved, #7920
maven/mavencentral/org.aspectj/aspectjweaver/1.9.20, EPL-1.0, approved, tools.aspectj
maven/mavencentral/org.eclipse.tractusx/bpdm-common/4.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx/bpdm-gate-api/4.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx/bpdm-orchestrator-api/4.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx/bpdm-orchestrator/4.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx/bpdm-pool-api/4.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx/bpdm-common/4.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx/bpdm-gate-api/4.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx/bpdm-orchestrator-api/4.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx/bpdm-orchestrator/4.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx/bpdm-pool-api/4.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.flywaydb/flyway-core/9.16.3, Apache-2.0, approved, #7935
maven/mavencentral/org.hibernate.orm/hibernate-core/6.2.13.Final, LGPL-2.1-only AND Apache-2.0 AND MIT AND CC-PDDC AND (EPL-2.0 OR BSD-3-Clause), approved, #9121
maven/mavencentral/org.hibernate.validator/hibernate-validator/8.0.1.Final, Apache-2.0, approved, clearlydefined
Expand Down
73 changes: 73 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,79 @@ The Swagger login uses the client specified in the property `springdoc.swagger-u
This repository contains Helm files for deploying the BPDM Bridge Dummy to a Kubernetes environment.
See the [BPDM Bridge Dummy Helm README](/charts/bpdm/charts/bpdm-bridge-dummy/README.md) for details.

## BPDM Cleaning Service Dummy

BPDM Cleaning Service Dummy is a SpringBoot Kotlin software project managed by Maven and can be run with the following command: `mvn clean spring-boot:run`

### Prerequisites

* Maven
* JDK17

You can find and edit the default configuration for the Cleaning Service dummy in the `application.properties` files in the `resources` folder.

The REST API documentation can be accessed at <http://localhost:8084/ui/swagger-ui/index.html>.

### Profiles

The default configuration of the application is determined by the `application.properties` file.
Here you can find core application configuration such as Swagger documentation.

You can also run the project with Spring profiles to enable additional components on top of the default configuration.
Currently, the BPDM Cleaning Service dummy offers without the profiles.
In order to run the application with a specific profile you can use the appropriate maven flag `Dspring.profiles.active`.

For example, the command `mvn clean spring-boot:run -Dspring.profiles.active=auth` starts the application with additional `auth` configuration enabled.

The following sections detail the configuration properties for each profile.

### Helm Deployment

This repository contains Helm files for deploying the BPDM Cleaning Service Dummy to a Kubernetes environment.
See the [BPDM Cleaning Service Dummy Helm README](/charts/bpdm/charts/bpdm-cleaning-service-dummy/README.md) for details.

## BPDM Orchestrator

BPDM Orchestrator is a SpringBoot Kotlin software project managed by Maven and can be run with the following command: `mvn clean spring-boot:run`

### Prerequisites

* Maven
* JDK17
* Keycloak 17.0.0 (with enabled `auth` profile)

You can find and edit the default configuration for the Orchestrator in the `application.properties`, `application-auth.properties` files in the `resources` folder.

The REST API documentation can be accessed at <http://localhost:8085/ui/swagger-ui/index.html>.

### Profiles

The default configuration of the application is determined by the `application.properties` file.
Here you can find core application configuration such as Swagger documentation.

You can also run the project with Spring profiles to enable additional components on top of the default configuration.
Currently, the BPDM Orchestrator offers the profiles `auth`.
In order to run the application with a specific profile you can use the appropriate maven flag `Dspring.profiles.active`.

For example, the command `mvn clean spring-boot:run -Dspring.profiles.active=auth` starts the application with additional `auth` configuration enabled.

The following sections detail the configuration properties for each profile.

### Auth

`application-auth.properties` enables authorization of endpoints and configures the connection to a Keycloak instance on which the authorization relies on.
The application expects the Keycloak to run on `localhost` on port `8180` and needs a client secret has to be submitted via environment variable `BPDM_KEYCLOAK_SECRET`.
But keep in mind that the connection to the Keycloak can be freely configured.
The application uses the configured auth server URL to validate incoming tokens.

This profile also enables/disables the login form in the auto-generated Swagger documentation.
The Swagger login uses the client specified in the property `springdoc.swagger-ui.oauth.client-id`.

### Helm Deployment

This repository contains Helm files for deploying the BPDM Bridge Dummy to a Kubernetes environment.
See the [BPDM Orchestrator Helm README](/charts/bpdm/charts/bpdm-orchestrator/README.md) for details.

## NOTICE

This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@ The BPDM Bridge Dummy offers an API for Eclipse Tractus-X
members to sync between Gate and Pool. It is nothing but Bridge between Gate and Pool as a simple replacement for a dedicated sharing service.
Via Bridge dummy service they can sync their added business partner records through the sharing process end up in the BPDM Pool.

## BPDM Cleaning Service Dummy

The BPDM Cleaning Service Dummy will offers provider to figure out how to connect the BPDM Pool and the Gate applications to form the golden record process: The process on how a record in the Gate becomes a golden record in the Pool which, in turn, gets distributed back to all Gates.

## BPDM Orchestrator

The BPDM Orchestrator is a passive component that offers standardized APIs for the BPDM Gate, BPDM Pool and Data Curation and Enrichment Services to orchestrate the process of Golden Record Creation and handling the different states a business partner record can have during this process.

## Installation

For installation instructions for the BPDM applications please refer to the [INSTALL](INSTALL.md) file.
Expand Down
4 changes: 2 additions & 2 deletions charts/bpdm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ apiVersion: v2
name: bpdm
type: application
description: A Helm chart for Kubernetes that deploys the BPDM applications
version: 3.1.1
version: 3.1.2
appVersion: "4.1.0"
home: https://github.com/eclipse-tractusx/bpdm
sources:
Expand All @@ -45,7 +45,7 @@ dependencies:
alias: bpdm-bridge-dummy
condition: bpdm-bridge-dummy.enabled
- name: bpdm-cleaning-service-dummy
version: 1.0.1
version: 1.0.2
alias: bpdm-cleaning-service-dummy
condition: bpdm-cleaning-service-dummy.enabled
- name: bpdm-orchestrator
Expand Down
2 changes: 1 addition & 1 deletion charts/bpdm/charts/bpdm-cleaning-service-dummy/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ apiVersion: v2
type: application
name: bpdm-cleaning-service-dummy
appVersion: "4.1.0"
version: 1.0.1
version: 1.0.2
description: A Helm chart for deploying the BPDM cleaning service
home: https://eclipse-tractusx.github.io/docs/kits/Business%20Partner%20Kit/Adoption%20View
sources:
Expand Down
2 changes: 1 addition & 1 deletion charts/bpdm/charts/bpdm-cleaning-service-dummy/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# BPDM Bridge Dummy Helm Chart
# BPDM Cleaning Service Dummy Helm Chart

This Helm Chart deploys the BPDM service to a Kubernetes environment.

Expand Down
139 changes: 139 additions & 0 deletions docs/postman/BPDM Orchestrator.postman_collection.json

Large diffs are not rendered by default.

16 changes: 14 additions & 2 deletions docs/postman/Local.postman_environment.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,21 @@
"value": "",
"type": "secret",
"enabled": true
},
{
"key": "Cleaning-Host",
"value": "http://localhost:8084",
"type": "default",
"enabled": true
},
{
"key": "Orchestrator-Host",
"value": "http://localhost:8085",
"type": "default",
"enabled": true
}
],
"_postman_variable_scope": "environment",
"_postman_exported_at": "2023-06-15T09:50:00.606Z",
"_postman_exported_using": "Postman/10.14.2"
"_postman_exported_at": "2023-11-15T06:52:01.833Z",
"_postman_exported_using": "Postman/10.19.17"
}