Skip to content

Commit

Permalink
Merge pull request #327 from catenax-ng/main
Browse files Browse the repository at this point in the history
SingleLevelBomAsBuilt 2.0.0 and update deprecated EDC endpoints to 0.5.3
  • Loading branch information
ds-jhartmann authored Dec 8, 2023
2 parents a1a4a96 + c8944d9 commit 47e5d0b
Show file tree
Hide file tree
Showing 49 changed files with 419 additions and 248 deletions.
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]


## [4.3.0] - 2023-12-08
### Added
- Added support for `hasAlternatives` property in SingleLevelBomAsBuilt aspect

### Changed
- Updated edc dependencies to 0.2.1
- Update deprecated field `providerUrl` to `counterPartyAddress` in EDC catalog request
- Update ESS EDC notification creation asset endpoint to v3

## [4.2.0] - 2023-11-28
### Changed
- Changed default behaviour of IRS - when aspects list is not provided or empty in request body, IRS will not collect any submodel now (previously default aspects were collected).
Expand Down Expand Up @@ -468,7 +478,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Unresolved
- **Select Aspects you need** You are able to select the needed aspects for which you want to collect the correct endpoint information.

[Unreleased]: https://github.com/eclipse-tractusx/item-relationship-service/compare/4.2.0...HEAD
[Unreleased]: https://github.com/eclipse-tractusx/item-relationship-service/compare/4.3.0...HEAD
[4.3.0]: https://github.com/eclipse-tractusx/item-relationship-service/compare/4.2.0...4.3.0
[4.2.0]: https://github.com/eclipse-tractusx/item-relationship-service/compare/4.1.0...4.2.0
[4.1.0]: https://github.com/eclipse-tractusx/item-relationship-service/compare/4.0.2...4.1.0
[4.0.2]: https://github.com/eclipse-tractusx/item-relationship-service/compare/4.0.1...4.0.2
Expand Down
31 changes: 31 additions & 0 deletions COMPATIBILITY_MATRIX.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Compatibility matrix IRS

Full changelog of IRS: [changelog](CHANGELOG.md)

## [4.2.0] - 2023-11-28
| Dependency | Version | Helm | Comments |
|---------------------------|------------------------------|------------|-----------------|
| EDC | 0.5.3 | 0.5.3 | |
| EDC PostgresSQL | 15.1.0-debian-11-r12 | 12.1.6 | Optional |
| MIW | 0.1.0 | 0.1.0 | REST connection |
| Semantics Hub | 0.1.29 | v0.2.11-M1 | REST connection |
| DTR | 0.3.14-M1 | 0.3.22 | REST connection |
| Minio | RELEASE.2022-11-11T03-44-20Z | 5.0.1 | |
| SingleLevelBomAsBuilt | 2.0.0 | - | Model version |
| SingleLevelBomAsPlanned | 2.0.0 | - | Model version |
| SingleLevelBomAsSpecified | 1.0.0 | - | Model version |
| SingleLevelUsageAsBuilt | 2.0.0 | - | Model version |

## [4.1.0] - 2023-11-15
| Dependency | Version | Helm | Comments |
|---------------------------|------------------------------|------------|-----------------|
| EDC | 0.5.3 | 0.5.3 | |
| EDC PostgresSQL | 15.1.0-debian-11-r12 | 12.1.6 | Optional |
| MIW | 0.1.0 | 0.1.0 | REST connection |
| Semantics Hub | 0.1.29 | v0.2.11-M1 | REST connection |
| DTR | 0.3.14-M1 | 0.3.22 | REST connection |
| Minio | RELEASE.2022-11-11T03-44-20Z | 5.0.1 | |
| SingleLevelBomAsBuilt | 2.0.0 | - | Model version |
| SingleLevelBomAsPlanned | 2.0.0 | - | Model version |
| SingleLevelBomAsSpecified | 1.0.0 | - | Model version |
| SingleLevelUsageAsBuilt | 2.0.0 | - | Model version |
109 changes: 50 additions & 59 deletions DEPENDENCIES

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions DataChainKit.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ The Item Relationship Service (IRS) is the first reference application of the Da

### Requirements
The IRS needs to be deployed with the following components in the same environment:
- [Eclipse Dataspace Connector](https://github.com/eclipse-dataspaceconnector/DataSpaceConnector)
- [Eclipse Dataspace Connector](https://github.com/eclipse-tractusx/tractusx-edc)

The Service interacts with the Catena-X [Digital Twin Registry](https://catena-x.net/en/angebote/digitaler-zwilling) and is built upon the Catena-X Semantic Models which are stored in the [Semantic Hub](https://catena-x.net/en/angebote/digitaler-zwilling).
The Service interacts with the Catena-X [Digital Twin Registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry) and is built upon the Catena-X Semantic Models which are stored in the [Semantic Hub](https://github.com/eclipse-tractusx/sldt-semantic-hub).

### Tools and documentation

- 🖥 Item Relationship Service Video
- 📄 [Item Relationship Service Product Page](https://catena-x.net/en/angebote/item-relationship-service)
- 📄 [Item Relationship Service Product Page](https://catena-x.net/en/offers-standards/item-relationship-service)
- 📄 [Item Relationship Service Documentation](https://github.com/eclipse-tractusx/item-relationship-service/blob/main/README.md)
- 📄 [IRS REST API Documentation](https://eclipse-tractusx.github.io/item-relationship-service/docs/api-specification/api-specification.html)
- 📄 Catena-X Kit's
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# * SPDX-License-Identifier: Apache-2.0

# Dependencies
FROM maven:3-openjdk-18-slim AS maven
FROM maven:3-eclipse-temurin-17-alpine AS maven
ARG BUILD_TARGET=irs-api

WORKDIR /build
Expand Down Expand Up @@ -49,7 +49,7 @@ RUN --mount=type=cache,target=/root/.m2 mvn -B clean package -pl :$BUILD_TARGET


# Copy the jar and build image
FROM eclipse-temurin:20-jre-alpine AS irs-api
FROM eclipse-temurin:17-jre-alpine AS irs-api

ARG UID=10000
ARG GID=3000
Expand Down
14 changes: 7 additions & 7 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ Everything else needs to be provided externally.
## Data Chain Kit

You can use the Data Chain Kit to deploy the whole demo scenario with all participating components.
Instructions can be found here: [Data Chain Kit](https://eclipse-tractusx.github.io/docs/kits/Data%20Chain%20Kit/Operation%20View/).
Instructions can be found here: [Data Chain Kit](https://eclipse-tractusx.github.io/docs-kits/kits/Data%20Chain%20Kit/Operation%20View).

## Installation

The IRS Helm repository can be found here: [https://eclipse-tractusx.github.io/item-relationship-service/index.yaml](https://eclipse-tractusx.github.io/docs/kits/Data%20Chain%20Kit/Operation%20View/)
The IRS Helm repository can be found here: [index.yaml](https://eclipse-tractusx.github.io/item-relationship-service/index.yaml)

Use the latest release of the "irs-helm" chart.
It contains all required dependencies.
Expand Down Expand Up @@ -44,10 +44,10 @@ Or create a new Helm chart and use the IRS as a dependency.
dependencies:
- name: irs-helm
repository: https://eclipse-tractusx.github.io/item-relationship-service
version: 3.x.x
- name: irs-edc-consumer # optional
repository: https://eclipse-tractusx.github.io/item-relationship-service
version: 1.x.x
version: 6.x.x
- name: tractusx-connector
repository: https://eclipse-tractusx.github.io/tractusx-edc
version: 0.5.x
```

Then provide your configuration as the values.yaml of that chart.
Expand All @@ -62,4 +62,4 @@ A detailed instruction on how to configure the IRS and EDC can be found here: [A
IRS provides a local setup which can be deployed to kubernetes.
This setup includes all third-party services which IRS uses and interacts with.

Instructions can be found here [README.md](https://github.com/eclipse-tractusx/item-relationship-service/blob/main/local/deployment/full-irs/README.md).
Instructions can be found here [README.md](README.md).
77 changes: 58 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,28 @@
[![OWASP Dependency Check](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/owasp.yml/badge.svg)](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/owasp.yml)
[![Spotbugs](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/spotbugs.yml/badge.svg)](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/spotbugs.yml)
[![Eclipse-dash](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/eclipse-dash.yml/badge.svg)](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/eclipse-dash.yml)
[![Tavern IRS API test](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/tavern.yml/badge.svg)](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/tavern.yml)
[![Tavern IRS API test](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/tavern.yml/badge.svg)](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/tavern.yml)

## What is the IRS?

Within the [Catena-X network](https://catena-x.net/), the so-called Item Relationship Service (IRS) forms an essential
Within the [Catena-X network](https://catena-x.net/), the so-called Item Relationship Service (IRS) forms an essential
foundation for various services and products. Within the Catena-X use cases, the IRS serves to increase business value.
For example, the IRS provides functionalities to serve requirements, such as occasion-based Traceability,
from the Supply Chain Act. In doing so, IDSA and Gaia-X principles, such as data interoperability and sovereignty, are
maintained on the Catena-X network and access to dispersed data is enabled. Data chains are established as a common asset.

With the help of the IRS, data chains are to be provided ad-hoc across n-tiers within the Catena-X network.
To realize these data chains, the IRS relies on data models of the Traceability use case and provides the federated
data chains to customers or applications. Furthermore, the target picture of the IRS includes the enablement of new
For example, the IRS provides functionalities to serve requirements, such as occasion-based Traceability,
from the Supply Chain Act. In doing so, IDSA and Gaia-X principles, such as data interoperability and sovereignty, are
maintained on the Catena-X network and access to dispersed data is enabled. Data chains are established as a common
asset.

With the help of the IRS, data chains are to be provided ad-hoc across n-tiers within the Catena-X network.
To realize these data chains, the IRS relies on data models of the Traceability use case and provides the federated
data chains to customers or applications. Furthermore, the target picture of the IRS includes the enablement of new
business areas by means of data chains along the value chain in the automotive industry.

## Usage

### Local deployment

The following subsection provides instructions for running the infrastructure on docker-compose and the application in the IDE.
The following subsection provides instructions for running the infrastructure on docker-compose and the application in
the IDE.

#### Docker-compose + IDE

Expand All @@ -47,10 +49,12 @@ The following subsection provides instructions for running the infrastructure on

### Helm deployment

see [INSTALL.md](https://github.com/eclipse-tractusx/item-relationship-service/blob/main/INSTALL.md)
see [INSTALL.md](INSTALL.md)

### Sample calls

#### IRS

Start a job for a globalAssetId:

```bash
Expand All @@ -71,17 +75,47 @@ curl -X 'POST' \
```

Retrieve the job results by using the jobId returned by the previous call:

```bash
curl -X 'GET' 'http://localhost:8080/irs/jobs/<jobID>' -H 'accept: application/json' -H 'Authorization: Bearer <token_value>'
```

#### Environmental and Social Standards (ESS)

Start an ESS investigation for a globalAssetId and Incident BPNS.

```bash
curl -X 'POST' \
'http://localhost:8080/ess/bpn/investigations' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token_value>' \
-d '{
"key": {
"globalAssetId": "urn:uuid:3d61ada2-1a50-42a0-b411-40a932dd56cc",
"bpn": "BPNL00ARBITRARY6"
},
"incidentBPNSs": [
"BPNS00ARBITRARY7"
],
"bomLifecycle": "asPlanned"
}'
```

Retrieve the investigation results by using the jobId returned by the previous call:

```bash
curl -X 'GET' 'http://localhost:8080/ess/bpn/investigations/<jobID>' -H 'accept: application/json' -H 'Authorization: Bearer <token_value>'
```

## Documentation

- [Item Relationship Service Documentation](https://eclipse-tractusx.github.io/item-relationship-service/docs/)

## Licenses

For used licenses, please see the [NOTICE](https://github.com/eclipse-tractusx/item-relationship-service/blob/main/NOTICE.md).
For used licenses, please see
the [NOTICE](https://github.com/eclipse-tractusx/item-relationship-service/blob/main/NOTICE.md).

## Notice for Docker image

Expand All @@ -94,14 +128,19 @@ Eclipse Tractus-X product(s) installed within the image:
- GitHub: https://github.com/eclipse-tractusx/item-relationship-service
- Project home: https://projects.eclipse.org/projects/automotive.tractusx
- Dockerfile: https://github.com/eclipse-tractusx/item-relationship-service/blob/main/Dockerfile
- Project license: [Apache License, Version 2.0](https://github.com/eclipse-tractusx/item-relationship-service/blob/main/LICENSE)
- Project
license: [Apache License, Version 2.0](https://github.com/eclipse-tractusx/item-relationship-service/blob/main/LICENSE)

**Used base image**
- [eclipse-temurin:20-jre-alpine](https://github.com/adoptium/containers)
- Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin
- Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin
- Additional information about the Eclipse Temurin images: https://github.com/docker-library/repo-info/tree/master/repos/eclipse-temurin

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).
- [eclipse-temurin:17-jre-alpine](https://github.com/adoptium/containers)
- Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin
- Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin
- Additional information about the Eclipse Temurin
images: https://github.com/docker-library/repo-info/tree/master/repos/eclipse-temurin

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.
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.
5 changes: 5 additions & 0 deletions charts/irs-helm/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [6.12.0] - 2023-12-08
### Changed
- Changed configuration from `ess.managementPath` to options for each endpoint `ess.assetsPath` `ess.policydefinitionsPath` `ess.contractdefinitionsPath`. E.g. `ess.assetsPath: /management/v3/assets`
- Rename property `edc.provider.host` to `ess.edc.host`

## [6.11.0] - 2023-11-28
### Fixed
- Fixed templating for `management.health.dependencies`
Expand Down
4 changes: 2 additions & 2 deletions charts/irs-helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 6.11.0
version: 6.12.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "4.2.0"
appVersion: "4.3.0"
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
Expand Down
6 changes: 4 additions & 2 deletions charts/irs-helm/templates/configmap-spring-app-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,10 @@ data:
cacheTTL: {{ .Values.edc.connectorEndpointService.cacheTTL | quote }}
ess:
localBpn: {{ tpl (.Values.bpn | default "") . | quote }}
localEdcEndpoint: {{ tpl (.Values.edc.provider.host | default "") . | quote }}
managementPath: {{ tpl (.Values.ess.managementPath | default "/management/v2") . | quote }}
localEdcEndpoint: {{ tpl (.Values.ess.edc.host | default "") . | quote }}
assetsPath: {{ tpl (.Values.ess.assetsPath | default "/management/v3/assets") . | quote }}
policydefinitionsPath: {{ tpl (.Values.ess.policydefinitionsPath | default "/management/v2/policydefinitions") . | quote }}
contractdefinitionsPath: {{ tpl (.Values.ess.contractdefinitionsPath | default "/management/v2/contractdefinitions") . | quote }}
irs:
url: {{ tpl (.Values.irsUrl | default "") . | quote }}
discovery:
Expand Down
8 changes: 5 additions & 3 deletions charts/irs-helm/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,6 @@ portal:
clientId: # <portal-client-id>
clientSecret: # <portal-client-secret>
edc:
provider:
host: # EDC Provider Host URL
controlplane:
endpoint:
data: "" # <edc-controlplane-endpoint-data>
Expand Down Expand Up @@ -208,9 +206,13 @@ discovery:
oAuthClientId: portal # ID of the OAuth2 client registration to use, see config spring.security.oauth2.client

ess:
edc:
host: # EDC base URL - used for creation of EDC assets for ESS notifications and as sender EDC for sent notifications
mockEdcResult: # Map of BPNs and YES/NO strings - this configures the ESS mock response in case it called to investigate a BPN
mockRecursiveEdcAsset: # List of BPNs for which the special, mocked notification asset should be used
managementPath: "/management/v2" # EDC management API path - used for notification asset creation
assetsPath: /management/v3/assets # EDC management API "assets" path - used for notification asset creation
policydefinitionsPath: /management/v2/policydefinitions # EDC management API "policydefinitions" path - used for notification policy definition creation
contractdefinitionsPath: /management/v2/contractdefinitions # EDC management API "contractdefinitions" path - used for notification contract definitions creation

oauth:
resourceClaim: "resource_access" # Name of the JWT claim for roles
Expand Down
Loading

0 comments on commit 47e5d0b

Please sign in to comment.