diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fc3f02b0..462642588 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,49 @@ The changelog format is based on [Keep a Changelog](https://keepachangelog.com/e ## [Unreleased] +## [released] +## [v3.1.0] - 19-06-2024 +### Added + +- Added a new file `LICENSE_non-code` file in root level with the contents of the CC-BY-4.0 license +- Added dpp-tutorial to step-by-step guide (readme files) of DPP worksession at the Tractus-X Community Days: + - deployment.md + - data-provision.md + - aspect-model.md + - data-consumption.md + - digital-twin-provision.md + - qr-code.md + + +### Updated + +- Updated the contents of "Project Licenses" and "Terms of Use" sections to the `CONTRIBUTING.md` file +- Updated "Declared Project License" section in `NOTICE.md`. +- Updated the license header and notices to following readme files: + - main README.md + - /docs/* + - /dpp-backend/* + - /dpp-tutorial/* + - /deployment/* + - /dpp-verification/* + - AUTHORS.md + - SECURITY.md + - INSTALL.md + - NOTICE.md + - CONTRIBUTING.md + - CHANGELOG.md +- Updated dpp-frontend to support the following new models: + - Digital Product Pass `v5.0.0` + - Battery Pass `6.0.0` + - Transmission Pass `3.0.0` +- Updated EDC version `v0.7.0` +- Updated IRS version `v7.1.3` + + ### Issues Fixed + - Fixed token refresh for keycloak plugin in frontend + - Fixed IRS configuration keys in docker entrypoint script for frotnend + - Fixed CORS issue in frontend #274 + ## [released] ## [v3.0.0] - 13-05-2024 diff --git a/DEPENDENCIES_BACKEND b/DEPENDENCIES_BACKEND index 0dce085d4..d455c577a 100644 --- a/DEPENDENCIES_BACKEND +++ b/DEPENDENCIES_BACKEND @@ -1,14 +1,14 @@ -maven/mavencentral/ch.qos.logback/logback-classic/1.4.14, EPL-1.0 OR LGPL-2.1-only, approved, #3435 -maven/mavencentral/ch.qos.logback/logback-core/1.4.14, EPL-1.0 OR LGPL-2.1-only, approved, #3373 -maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.15.4, Apache-2.0, approved, #7947 -maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.15.4, MIT AND Apache-2.0, approved, #7932 -maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.15.4, Apache-2.0, approved, #7934 -maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.15.4, Apache-2.0, approved, #8802 -maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.15.4, Apache-2.0, approved, #8808 -maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.15.4, Apache-2.0, approved, #7930 -maven/mavencentral/com.fasterxml.jackson.module/jackson-module-parameter-names/2.15.4, Apache-2.0, approved, #8803 +maven/mavencentral/ch.qos.logback/logback-classic/1.4.14, EPL-1.0 AND LGPL-2.1-only, approved, #15230 +maven/mavencentral/ch.qos.logback/logback-core/1.4.14, EPL-1.0 AND LGPL-2.1-only, approved, #15209 +maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.15.4, Apache-2.0, approved, #15260 +maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.15.4, , approved, #15194 +maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.15.4, Apache-2.0, approved, #15199 +maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.15.4, Apache-2.0, approved, #15207 +maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.15.4, Apache-2.0, approved, #15281 +maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.15.4, Apache-2.0, approved, #15189 +maven/mavencentral/com.fasterxml.jackson.module/jackson-module-parameter-names/2.15.4, Apache-2.0, approved, #15219 maven/mavencentral/com.github.stephenc.jcip/jcip-annotations/1.0-1, Apache-2.0, approved, CQ21949 -maven/mavencentral/com.google.code.findbugs/jsr305/3.0.2, Apache-2.0, approved, #20 +maven/mavencentral/com.google.code.findbugs/jsr305/3.0.2, CC-BY-2.5, approved, #15220 maven/mavencentral/com.google.code.gson/gson/2.10, Apache-2.0, approved, #6159 maven/mavencentral/com.google.errorprone/error_prone_annotations/2.18.0, Apache-2.0, approved, clearlydefined maven/mavencentral/com.google.guava/failureaccess/1.0.1, Apache-2.0, approved, CQ22654 @@ -22,7 +22,7 @@ maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.24.4, Apache-2.0, approved, cl maven/mavencentral/com.nimbusds/oauth2-oidc-sdk/9.43.3, Apache-2.0, approved, clearlydefined maven/mavencentral/com.opencsv/opencsv/5.7.1, Apache-2.0, approved, clearlydefined maven/mavencentral/commons-beanutils/commons-beanutils/1.9.4, Apache-2.0, approved, CQ12654 -maven/mavencentral/commons-collections/commons-collections/3.2.2, Apache-2.0, approved, CQ10385 +maven/mavencentral/commons-collections/commons-collections/3.2.2, Apache-2.0, approved, #15185 maven/mavencentral/commons-lang/commons-lang/2.6, Apache-2.0, approved, CQ6183 maven/mavencentral/commons-logging/commons-logging/1.2, Apache-2.0, approved, CQ10162 maven/mavencentral/commons-net/commons-net/3.9.0, Apache-2.0, approved, clearlydefined @@ -64,7 +64,7 @@ maven/mavencentral/org.apache.commons/commons-lang3/3.13.0, Apache-2.0, approved maven/mavencentral/org.apache.commons/commons-text/1.10.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.apache.logging.log4j/log4j-api/2.21.1, Apache-2.0 AND (Apache-2.0 AND LGPL-2.0-or-later), approved, #11079 maven/mavencentral/org.apache.logging.log4j/log4j-core/2.21.1, Apache-2.0 AND (Apache-2.0 AND LGPL-2.0-or-later), approved, #12592 -maven/mavencentral/org.apache.logging.log4j/log4j-to-slf4j/2.21.1, Apache-2.0, approved, #11919 +maven/mavencentral/org.apache.logging.log4j/log4j-to-slf4j/2.21.1, Apache-2.0, approved, #15262 maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-core/10.1.20, Apache-2.0 AND (EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0) AND (CDDL-1.0 OR GPL-2.0-only WITH Classpath-exception-2.0) AND W3C AND CC0-1.0, approved, #5949 maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-el/10.1.20, Apache-2.0, approved, #6997 maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-websocket/10.1.20, Apache-2.0, approved, #7920 @@ -75,7 +75,7 @@ maven/mavencentral/org.bouncycastle/bcutil-jdk15on/1.69, MIT, approved, clearlyd maven/mavencentral/org.checkerframework/checker-qual/3.33.0, MIT, approved, clearlydefined maven/mavencentral/org.codehaus.plexus/plexus-utils/3.2.1, , approved, CQ20774 maven/mavencentral/org.ow2.asm/asm/9.6, BSD-3-Clause, approved, #10776 -maven/mavencentral/org.projectlombok/lombok/1.18.32, MIT AND LicenseRef-Public-Domain, approved, CQ23907 +maven/mavencentral/org.projectlombok/lombok/1.18.32, MIT, approved, #15192 maven/mavencentral/org.reactivestreams/reactive-streams/1.0.4, CC0-1.0, approved, CQ16332 maven/mavencentral/org.slf4j/jul-to-slf4j/2.0.13, MIT, approved, #7698 maven/mavencentral/org.slf4j/slf4j-api/2.0.13, MIT, approved, #5915 @@ -102,7 +102,7 @@ maven/mavencentral/org.springframework.cloud/spring-cloud-commons/3.1.5, Apache- maven/mavencentral/org.springframework.cloud/spring-cloud-context/3.1.5, Apache-2.0, approved, #4722 maven/mavencentral/org.springframework.cloud/spring-cloud-starter-bootstrap/3.1.5, Apache-2.0, approved, clearlydefined maven/mavencentral/org.springframework.cloud/spring-cloud-starter/3.1.5, Apache-2.0, approved, #4723 -maven/mavencentral/org.springframework.data/spring-data-commons/3.2.5, Apache-2.0, approved, #11917 +maven/mavencentral/org.springframework.data/spring-data-commons/3.2.5, Apache-2.0, approved, #15202 maven/mavencentral/org.springframework.data/spring-data-rest-core/4.2.5, Apache-2.0, approved, #12591 maven/mavencentral/org.springframework.data/spring-data-rest-webmvc/4.2.5, Apache-2.0, approved, #12595 maven/mavencentral/org.springframework.hateoas/spring-hateoas/2.2.2, Apache-2.0, approved, #11883 @@ -117,17 +117,17 @@ maven/mavencentral/org.springframework.security/spring-security-rsa/1.0.11.RELEA maven/mavencentral/org.springframework.security/spring-security-web/6.2.4, Apache-2.0, approved, #11911 maven/mavencentral/org.springframework.session/spring-session-core/3.2.2, Apache-2.0, approved, #12588 maven/mavencentral/org.springframework.session/spring-session-jdbc/3.2.2, Apache-2.0, approved, #12596 -maven/mavencentral/org.springframework/spring-aop/6.1.6, Apache-2.0, approved, #11755 -maven/mavencentral/org.springframework/spring-beans/6.1.6, Apache-2.0, approved, #11754 -maven/mavencentral/org.springframework/spring-context/6.1.6, Apache-2.0, approved, #11753 -maven/mavencentral/org.springframework/spring-core/6.1.6, Apache-2.0 AND BSD-3-Clause, approved, #11750 -maven/mavencentral/org.springframework/spring-expression/6.1.6, Apache-2.0, approved, #11747 -maven/mavencentral/org.springframework/spring-jcl/6.1.6, Apache-2.0, approved, #11749 -maven/mavencentral/org.springframework/spring-jdbc/6.1.6, Apache-2.0, approved, #11897 -maven/mavencentral/org.springframework/spring-tx/6.1.6, Apache-2.0, approved, #11901 -maven/mavencentral/org.springframework/spring-web/6.1.6, Apache-2.0, approved, #11748 +maven/mavencentral/org.springframework/spring-aop/6.1.6, Apache-2.0, approved, #15221 +maven/mavencentral/org.springframework/spring-beans/6.1.6, Apache-2.0, approved, #15213 +maven/mavencentral/org.springframework/spring-context/6.1.6, Apache-2.0, approved, #15261 +maven/mavencentral/org.springframework/spring-core/6.1.6, Apache-2.0 AND BSD-3-Clause, approved, #15206 +maven/mavencentral/org.springframework/spring-expression/6.1.6, Apache-2.0, approved, #15264 +maven/mavencentral/org.springframework/spring-jcl/6.1.6, Apache-2.0, approved, #15266 +maven/mavencentral/org.springframework/spring-jdbc/6.1.6, Apache-2.0, approved, #15191 +maven/mavencentral/org.springframework/spring-tx/6.1.6, Apache-2.0, approved, #15229 +maven/mavencentral/org.springframework/spring-web/6.1.6, Apache-2.0, approved, #15188 maven/mavencentral/org.springframework/spring-webflux/6.1.6, Apache-2.0, approved, #12593 -maven/mavencentral/org.springframework/spring-webmvc/6.1.6, Apache-2.0, approved, #11879 +maven/mavencentral/org.springframework/spring-webmvc/6.1.6, Apache-2.0, approved, #15182 maven/mavencentral/org.webjars/swagger-ui/4.15.5, Apache-2.0 AND MIT, approved, #5921 maven/mavencentral/org.webjars/webjars-locator-core/0.55, MIT, approved, clearlydefined maven/mavencentral/org.yaml/snakeyaml/2.0, Apache-2.0 AND (Apache-2.0 OR BSD-3-Clause OR EPL-1.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later), approved, #7275 diff --git a/DEPENDENCIES_BACKEND_SCRIPTS b/DEPENDENCIES_BACKEND_SCRIPTS new file mode 100644 index 000000000..5437fe7c5 --- /dev/null +++ b/DEPENDENCIES_BACKEND_SCRIPTS @@ -0,0 +1 @@ +pypi/pypi/-/requests/2.31.0, Apache-2.0 AND MIT AND Apache-2.0, approved, #13074 diff --git a/DEPENDENCIES_FRONTEND b/DEPENDENCIES_FRONTEND index d2961c9b8..d574de5ec 100644 --- a/DEPENDENCIES_FRONTEND +++ b/DEPENDENCIES_FRONTEND @@ -1,7 +1,7 @@ npm/npmjs/-/acorn-jsx/5.3.2, MIT, approved, clearlydefined npm/npmjs/-/acorn/7.4.1, MIT, approved, clearlydefined npm/npmjs/-/acorn/8.8.2, MIT, approved, #6951 -npm/npmjs/-/ajv/6.12.6, MIT, approved, #979 +npm/npmjs/-/ajv/6.12.6, MIT, approved, #15286 npm/npmjs/-/ajv/8.12.0, MIT AND OFL-1.1 AND (EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0), approved, #6025 npm/npmjs/-/ansi-colors/4.1.3, MIT, approved, clearlydefined npm/npmjs/-/ansi-regex/5.0.1, MIT, approved, clearlydefined @@ -18,7 +18,7 @@ npm/npmjs/-/binary-extensions/2.2.0, MIT, approved, clearlydefined npm/npmjs/-/boolbase/1.0.0, ISC, approved, clearlydefined npm/npmjs/-/brace-expansion/1.1.11, MIT, approved, clearlydefined npm/npmjs/-/brace-expansion/2.0.1, MIT, approved, clearlydefined -npm/npmjs/-/braces/3.0.2, MIT, approved, clearlydefined +npm/npmjs/-/braces/3.0.2, MIT, approved, #14866 npm/npmjs/-/callforth/0.3.1, MIT, approved, clearlydefined npm/npmjs/-/callsites/3.1.0, MIT, approved, clearlydefined npm/npmjs/-/chalk/2.4.2, MIT, approved, clearlydefined @@ -57,7 +57,7 @@ npm/npmjs/-/eslint-config-prettier/8.5.0, MIT, approved, clearlydefined npm/npmjs/-/eslint-plugin-vue/9.9.0, MIT, approved, #7089 npm/npmjs/-/eslint-scope/5.1.1, BSD-2-Clause, approved, clearlydefined npm/npmjs/-/eslint-scope/7.1.1, BSD-2-Clause, approved, clearlydefined -npm/npmjs/-/eslint-utils/2.1.0, MIT, approved, #2498 +npm/npmjs/-/eslint-utils/2.1.0, MIT, approved, #15320 npm/npmjs/-/eslint-utils/3.0.0, MIT, approved, #2431 npm/npmjs/-/eslint-visitor-keys/1.3.0, Apache-2.0, approved, #2501 npm/npmjs/-/eslint-visitor-keys/2.1.0, Apache-2.0, approved, #2433 @@ -68,23 +68,23 @@ npm/npmjs/-/espree/9.4.1, BSD-2-Clause AND BSD-3-Clause AND MIT AND BSD-2-Clause npm/npmjs/-/esprima/4.0.1, BSD-2-Clause, approved, #995 npm/npmjs/-/esquery/1.4.0, BSD-3-Clause, approved, #1100 npm/npmjs/-/esrecurse/4.3.0, BSD-2-Clause, approved, clearlydefined -npm/npmjs/-/estraverse/4.3.0, BSD-2-Clause, approved, #518 +npm/npmjs/-/estraverse/4.3.0, BSD-2-Clause AND MIT AND BSD-2-Clause, approved, #15352 npm/npmjs/-/estraverse/5.3.0, BSD-2-Clause AND MIT, approved, #1557 npm/npmjs/-/estree-walker/2.0.2, MIT, approved, clearlydefined npm/npmjs/-/esutils/2.0.3, BSD-2-Clause AND BSD-3-Clause, approved, #120 npm/npmjs/-/fast-deep-equal/3.1.3, MIT, approved, clearlydefined npm/npmjs/-/fast-json-stable-stringify/2.1.0, MIT, approved, clearlydefined -npm/npmjs/-/fast-levenshtein/2.0.6, MIT, approved, #2428 +npm/npmjs/-/fast-levenshtein/2.0.6, MIT, approved, #15236 npm/npmjs/-/file-entry-cache/6.0.1, MIT, approved, clearlydefined npm/npmjs/-/fill-range/7.0.1, MIT, approved, clearlydefined npm/npmjs/-/find-cache-dir/3.3.2, MIT, approved, clearlydefined npm/npmjs/-/find-up/4.1.0, MIT, approved, clearlydefined npm/npmjs/-/flat-cache/3.0.4, MIT, approved, clearlydefined -npm/npmjs/-/flatted/3.2.7, ISC AND (ISC AND MIT), approved, #2430 +npm/npmjs/-/flatted/3.2.7, ISC AND (ISC AND MIT), approved, #15360 npm/npmjs/-/follow-redirects/1.15.6, MIT, approved, #10782 npm/npmjs/-/form-data/4.0.0, MIT, approved, clearlydefined npm/npmjs/-/fs.realpath/1.0.0, ISC, approved, clearlydefined -npm/npmjs/-/fsevents/2.3.3, MIT, approved, #2967 +npm/npmjs/-/fsevents/2.3.3, MIT, approved, #15309 npm/npmjs/-/functional-red-black-tree/1.0.1, MIT, approved, clearlydefined npm/npmjs/-/get-caller-file/2.0.5, ISC, approved, clearlydefined npm/npmjs/-/glob-parent/5.1.2, ISC, approved, clearlydefined @@ -145,7 +145,7 @@ npm/npmjs/-/path-exists/4.0.0, MIT, approved, clearlydefined npm/npmjs/-/path-is-absolute/1.0.1, MIT, approved, clearlydefined npm/npmjs/-/path-key/3.1.1, MIT, approved, clearlydefined npm/npmjs/-/path/0.12.7, MIT, approved, clearlydefined -npm/npmjs/-/picocolors/1.0.0, ISC, approved, clearlydefined +npm/npmjs/-/picocolors/1.0.0, ISC, approved, #14718 npm/npmjs/-/picomatch/2.3.1, MIT, approved, clearlydefined npm/npmjs/-/pkg-dir/4.2.0, MIT, approved, clearlydefined npm/npmjs/-/popper.js/1.16.1, MIT, approved, CQ22353 @@ -156,7 +156,7 @@ npm/npmjs/-/process/0.11.10, MIT, approved, CQ23452 npm/npmjs/-/progress/2.0.3, MIT, approved, clearlydefined npm/npmjs/-/proxy-from-env/1.1.0, MIT, approved, clearlydefined npm/npmjs/-/punycode/2.3.0, MIT, approved, #6373 -npm/npmjs/-/readdirp/3.6.0, MIT, approved, #2977 +npm/npmjs/-/readdirp/3.6.0, MIT, approved, #15328 npm/npmjs/-/regexpp/3.2.0, MIT, approved, clearlydefined npm/npmjs/-/require-directory/2.1.1, MIT, approved, clearlydefined npm/npmjs/-/require-from-string/2.0.2, MIT, approved, clearlydefined @@ -174,7 +174,7 @@ npm/npmjs/-/shebang-command/2.0.0, MIT, approved, clearlydefined npm/npmjs/-/shebang-regex/3.0.0, MIT, approved, clearlydefined npm/npmjs/-/shvl/2.0.3, MIT, approved, clearlydefined npm/npmjs/-/slice-ansi/4.0.0, MIT, approved, clearlydefined -npm/npmjs/-/source-map-js/1.0.2, BSD-3-Clause, approved, #2412 +npm/npmjs/-/source-map-js/1.0.2, BSD-3-Clause, approved, #15401 npm/npmjs/-/source-map/0.6.1, BSD-3-Clause, approved, #2417 npm/npmjs/-/source-map/0.7.4, BSD-3-Clause, approved, #2416 npm/npmjs/-/sourcemap-codec/1.4.8, MIT, approved, clearlydefined @@ -198,7 +198,7 @@ npm/npmjs/-/util/0.10.4, MIT, approved, clearlydefined npm/npmjs/-/v8-compile-cache/2.3.0, MIT, approved, clearlydefined npm/npmjs/-/vite-plugin-vuetify/1.0.2, MIT, approved, #7100 npm/npmjs/-/vite/4.5.2, MIT, approved, clearlydefined -npm/npmjs/-/vue-chartjs/5.3.0, MIT, approved, clearlydefined +npm/npmjs/-/vue-chartjs/5.3.1, MIT, approved, clearlydefined npm/npmjs/-/vue-eslint-parser/9.1.0, MIT, approved, #7091 npm/npmjs/-/vue-i18n/9.2.2, MIT, approved, clearlydefined npm/npmjs/-/vue-router/4.0.13, MIT, approved, clearlydefined diff --git a/README.md b/README.md index f38aaabb5..09345a7da 100644 --- a/README.md +++ b/README.md @@ -43,9 +43,9 @@ In particular, the appliction is used to access the battery passport data provid ### Software Version #### Helm Chart Version -
3.0.0
+
3.1.0
#### Application Version -
v3.0.0
+
v3.1.0
diff --git a/charts/digital-product-pass/Chart.yaml b/charts/digital-product-pass/Chart.yaml index bdfca876c..2fc0ee8ed 100644 --- a/charts/digital-product-pass/Chart.yaml +++ b/charts/digital-product-pass/Chart.yaml @@ -42,10 +42,10 @@ type: application # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 3.0.0 +version: 3.1.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: "3.0.0" +appVersion: "3.1.0" diff --git a/charts/digital-product-pass/README.md b/charts/digital-product-pass/README.md index dd8e9aaf3..c71e0d544 100644 --- a/charts/digital-product-pass/README.md +++ b/charts/digital-product-pass/README.md @@ -1,6 +1,6 @@ # digital-product-pass -![Version: 3.0.0](https://img.shields.io/badge/Version-3.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.0.0](https://img.shields.io/badge/AppVersion-3.0.0-informational?style=flat-square) +![Version: 3.1.0](https://img.shields.io/badge/Version-3.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.1.0](https://img.shields.io/badge/AppVersion-3.1.0-informational?style=flat-square) A Helm chart for Tractus-X Digital Product Pass Kubernetes @@ -31,7 +31,7 @@ helm install digital-product-pass tractusx/digital-product-pass | Key | Type | Default | Description | |-----|------|---------|-------------| | affinity | object | `{}` | | -| backend | object | `{"digitalTwinRegistry":{"endpoints":{"digitalTwin":"/shell-descriptors","search":"/lookup/shells","subModel":"/submodel-descriptors"},"policyCheck":{"enabled":true,"policies":[{"obligation":[],"permission":[{"action":"USE","constraints":[{"leftOperand":"cx-policy:Membership","operator":"odrl:eq","rightOperand":"active"},{"leftOperand":"cx-policy:UsagePurpose","operator":"odrl:eq","rightOperand":"cx.core.digitalTwinRegistry:1"}],"logicalConstraint":"odrl:and"}],"prohibition":[]}],"strictMode":false},"temporaryStorage":{"enabled":true,"lifetime":12},"timeouts":{"digitalTwin":40,"negotiation":60,"search":50,"transfer":20}},"discovery":{"bpnDiscovery":{"key":"manufacturerPartId","path":"/api/v1.0/administration/connectors/bpnDiscovery/search"},"edcDiscovery":{"key":"bpn"},"hostname":""},"edc":{"apis":{"catalog":"/catalog/request","management":"/management/v2","negotiation":"/contractnegotiations","readiness":"/api/check/readiness","transfer":"/transferprocesses"},"delay":100,"hostname":"","participantId":"","xApiKey":""},"hostname":"","image":{"pullPolicy":"IfNotPresent","repository":"docker.io/tractusx/digital-product-pass-backend"},"imagePullSecrets":[],"ingress":{"annotations":{"ingressClassName":"nginx","nginx.ingress.kubernetes.io/backend-protocol":"HTTP","nginx.ingress.kubernetes.io/force-ssl-redirect":"true","nginx.ingress.kubernetes.io/ssl-passthrough":"false"},"enabled":false,"hosts":[{"host":"","paths":[{"path":"/","pathType":"Prefix"}]}]},"irs":{"enabled":false,"hostname":""},"logging":{"level":{"root":"INFO","utils":"INFO"}},"maxRetries":5,"name":"dpp-backend","passport":{"aspects":["urn:bamm:io.catenax.generic.digital_product_passport:1.0.0#DigitalProductPassport","urn:bamm:io.catenax.battery.battery_pass:3.0.1#BatteryPass","urn:bamm:io.catenax.transmission.transmission_pass:1.0.0#TransmissionPass","urn:samm:io.catenax.generic.digital_product_passport:2.0.0#DigitalProductPassport"],"policyCheck":{"enabled":true,"policies":[{"obligation":[],"permission":[{"action":"USE","constraints":[{"leftOperand":"cx-policy:Membership","operator":"odrl:eq","rightOperand":"active"},{"leftOperand":"cx-policy:FrameworkAgreement","operator":"odrl:eq","rightOperand":"circulareconomy:1.0"},{"leftOperand":"cx-policy:UsagePurpose","operator":"odrl:eq","rightOperand":"cx.circular.dpp:1"}],"logicalConstraint":"odrl:and"}],"prohibition":[]}],"strictMode":false}},"podSecurityContext":{"fsGroup":3000,"runAsGroup":3000,"runAsUser":1000,"seccompProfile":{"type":"RuntimeDefault"}},"process":{"encryptionKey":""},"securityCheck":{"bpn":false,"edc":false},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"add":[],"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsGroup":3000,"runAsNonRoot":true,"runAsUser":1000},"serverPort":8888,"service":{"port":8888,"type":"ClusterIP"},"singleApi":{"delay":1000,"maxRetries":30},"volumeMounts":[{"mountPath":"/app/config","name":"backend-config"},{"mountPath":"/app/data/process","name":"pvc-backend","subPath":"data/process"},{"mountPath":"/app/log","name":"tmpfs","subPath":"log"},{"mountPath":"/tmp","name":"tmpfs"},{"mountPath":"/app/data/VaultConfig","name":"tmpfs","subPath":"VaultConfig/vault.token.yml"},{"mountPath":"/app/tmp","name":"tmpfs"}],"volumes":[{"configMap":{"name":"{{ .Release.Name }}-backend-config"},"name":"backend-config"},{"name":"pvc-backend","persistentVolumeClaim":{"claimName":"{{ .Release.Name }}-pvc-data"}},{"emptyDir":{},"name":"tmpfs"}]}` | Backend configuration | +| backend | object | `{"digitalTwinRegistry":{"endpoints":{"digitalTwin":"/shell-descriptors","search":"/lookup/shells","subModel":"/submodel-descriptors"},"policyCheck":{"enabled":true,"policies":[{"obligation":[],"permission":[{"action":"USE","constraints":[{"leftOperand":"cx-policy:Membership","operator":"odrl:eq","rightOperand":"active"},{"leftOperand":"cx-policy:UsagePurpose","operator":"odrl:eq","rightOperand":"cx.core.digitalTwinRegistry:1"}],"logicalConstraint":"odrl:and"}],"prohibition":[]}],"strictMode":false},"temporaryStorage":{"enabled":true,"lifetime":12},"timeouts":{"digitalTwin":40,"negotiation":60,"search":50,"transfer":20}},"discovery":{"bpnDiscovery":{"key":"manufacturerPartId","path":"/api/v1.0/administration/connectors/bpnDiscovery/search"},"edcDiscovery":{"key":"bpn"},"hostname":""},"edc":{"apis":{"catalog":"/catalog/request","management":"/management/v2","negotiation":"/contractnegotiations","readiness":"/api/check/readiness","transfer":"/transferprocesses"},"delay":100,"hostname":"","participantId":"","xApiKey":""},"hostname":"","image":{"pullPolicy":"IfNotPresent","repository":"docker.io/tractusx/digital-product-pass-backend"},"imagePullSecrets":[],"ingress":{"annotations":{"ingressClassName":"nginx","nginx.ingress.kubernetes.io/backend-protocol":"HTTP","nginx.ingress.kubernetes.io/force-ssl-redirect":"true","nginx.ingress.kubernetes.io/ssl-passthrough":"false"},"enabled":false,"hosts":[{"host":"","paths":[{"path":"/","pathType":"Prefix"}]}]},"irs":{"enabled":false,"hostname":""},"logging":{"level":{"root":"INFO","utils":"INFO"}},"maxRetries":5,"name":"dpp-backend","passport":{"aspects":["urn:bamm:io.catenax.generic.digital_product_passport:1.0.0#DigitalProductPassport","urn:bamm:io.catenax.battery.battery_pass:3.0.1#BatteryPass","urn:samm:io.catenax.battery.battery_pass:6.0.0#BatteryPass","urn:bamm:io.catenax.transmission.transmission_pass:1.0.0#TransmissionPass","urn:samm:io.catenax.transmission.transmission_pass:3.0.0#TransmissionPass","urn:samm:io.catenax.generic.digital_product_passport:2.0.0#DigitalProductPassport","urn:samm:io.catenax.generic.digital_product_passport:5.0.0#DigitalProductPassport"],"policyCheck":{"enabled":true,"policies":[{"obligation":[],"permission":[{"action":"USE","constraints":[{"leftOperand":"cx-policy:Membership","operator":"odrl:eq","rightOperand":"active"},{"leftOperand":"cx-policy:FrameworkAgreement","operator":"odrl:eq","rightOperand":"CircularEconomy:1.0"},{"leftOperand":"cx-policy:UsagePurpose","operator":"odrl:eq","rightOperand":"cx.circular.dpp:1"}],"logicalConstraint":"odrl:and"}],"prohibition":[]}],"strictMode":false}},"podSecurityContext":{"fsGroup":3000,"runAsGroup":3000,"runAsUser":1000,"seccompProfile":{"type":"RuntimeDefault"}},"process":{"encryptionKey":""},"securityCheck":{"bpn":false,"edc":false},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"add":[],"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsGroup":3000,"runAsNonRoot":true,"runAsUser":1000},"serverPort":8888,"service":{"port":8888,"type":"ClusterIP"},"singleApi":{"delay":1000,"maxRetries":30},"volumeMounts":[{"mountPath":"/app/config","name":"backend-config"},{"mountPath":"/app/data/process","name":"pvc-backend","subPath":"data/process"},{"mountPath":"/app/log","name":"tmpfs","subPath":"log"},{"mountPath":"/tmp","name":"tmpfs"},{"mountPath":"/app/data/VaultConfig","name":"tmpfs","subPath":"VaultConfig/vault.token.yml"},{"mountPath":"/app/tmp","name":"tmpfs"}],"volumes":[{"configMap":{"name":"{{ .Release.Name }}-backend-config"},"name":"backend-config"},{"name":"pvc-backend","persistentVolumeClaim":{"claimName":"{{ .Release.Name }}-pvc-data"}},{"emptyDir":{},"name":"tmpfs"}]}` | Backend configuration | | backend.digitalTwinRegistry.policyCheck | object | `{"enabled":true,"policies":[{"obligation":[],"permission":[{"action":"USE","constraints":[{"leftOperand":"cx-policy:Membership","operator":"odrl:eq","rightOperand":"active"},{"leftOperand":"cx-policy:UsagePurpose","operator":"odrl:eq","rightOperand":"cx.core.digitalTwinRegistry:1"}],"logicalConstraint":"odrl:and"}],"prohibition":[]}],"strictMode":false}` | policy configuration for the digital twin assets in the edc catalog | | backend.digitalTwinRegistry.policyCheck.enabled | bool | `true` | condition to enable and disable the policy check | | backend.digitalTwinRegistry.policyCheck.policies | list | `[{"obligation":[],"permission":[{"action":"USE","constraints":[{"leftOperand":"cx-policy:Membership","operator":"odrl:eq","rightOperand":"active"},{"leftOperand":"cx-policy:UsagePurpose","operator":"odrl:eq","rightOperand":"cx.core.digitalTwinRegistry:1"}],"logicalConstraint":"odrl:and"}],"prohibition":[]}]` | list of allowed policies that can be selected from the edc catalog in negotiations | @@ -56,9 +56,9 @@ helm install digital-product-pass tractusx/digital-product-pass | backend.logging.level.root | string | `"INFO"` | general logging level | | backend.logging.level.utils | string | `"INFO"` | logging for the util components | | backend.maxRetries | int | `5` | max retries for the backend services | -| backend.passport.policyCheck | object | `{"enabled":true,"policies":[{"obligation":[],"permission":[{"action":"USE","constraints":[{"leftOperand":"cx-policy:Membership","operator":"odrl:eq","rightOperand":"active"},{"leftOperand":"cx-policy:FrameworkAgreement","operator":"odrl:eq","rightOperand":"circulareconomy:1.0"},{"leftOperand":"cx-policy:UsagePurpose","operator":"odrl:eq","rightOperand":"cx.circular.dpp:1"}],"logicalConstraint":"odrl:and"}],"prohibition":[]}],"strictMode":false}` | configuration for policies to filter in the digital product pass asset negotiation | +| backend.passport.policyCheck | object | `{"enabled":true,"policies":[{"obligation":[],"permission":[{"action":"USE","constraints":[{"leftOperand":"cx-policy:Membership","operator":"odrl:eq","rightOperand":"active"},{"leftOperand":"cx-policy:FrameworkAgreement","operator":"odrl:eq","rightOperand":"CircularEconomy:1.0"},{"leftOperand":"cx-policy:UsagePurpose","operator":"odrl:eq","rightOperand":"cx.circular.dpp:1"}],"logicalConstraint":"odrl:and"}],"prohibition":[]}],"strictMode":false}` | configuration for policies to filter in the digital product pass asset negotiation | | backend.passport.policyCheck.enabled | bool | `true` | condition to enable and disable the policy check | -| backend.passport.policyCheck.policies | list | `[{"obligation":[],"permission":[{"action":"USE","constraints":[{"leftOperand":"cx-policy:Membership","operator":"odrl:eq","rightOperand":"active"},{"leftOperand":"cx-policy:FrameworkAgreement","operator":"odrl:eq","rightOperand":"circulareconomy:1.0"},{"leftOperand":"cx-policy:UsagePurpose","operator":"odrl:eq","rightOperand":"cx.circular.dpp:1"}],"logicalConstraint":"odrl:and"}],"prohibition":[]}]` | list of allowed policies that can be selected from the edc catalog in negotiations | +| backend.passport.policyCheck.policies | list | `[{"obligation":[],"permission":[{"action":"USE","constraints":[{"leftOperand":"cx-policy:Membership","operator":"odrl:eq","rightOperand":"active"},{"leftOperand":"cx-policy:FrameworkAgreement","operator":"odrl:eq","rightOperand":"CircularEconomy:1.0"},{"leftOperand":"cx-policy:UsagePurpose","operator":"odrl:eq","rightOperand":"cx.circular.dpp:1"}],"logicalConstraint":"odrl:and"}],"prohibition":[]}]` | list of allowed policies that can be selected from the edc catalog in negotiations | | backend.passport.policyCheck.strictMode | bool | `false` | the strict mode is quicker (uses hashes) and requires less computation complexity, the default mode is comparing against every single object value | | backend.podSecurityContext | object | `{"fsGroup":3000,"runAsGroup":3000,"runAsUser":1000,"seccompProfile":{"type":"RuntimeDefault"}}` | The [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) defines privilege and access control settings for a Pod within the deployment | | backend.podSecurityContext.fsGroup | int | `3000` | The owner for volumes and any files created within volumes will belong to this guid | diff --git a/charts/digital-product-pass/templates/deployment-frontend.yaml b/charts/digital-product-pass/templates/deployment-frontend.yaml index 60bf24d5a..53b1c3a33 100644 --- a/charts/digital-product-pass/templates/deployment-frontend.yaml +++ b/charts/digital-product-pass/templates/deployment-frontend.yaml @@ -104,10 +104,10 @@ spec: - name: "API_MAX_RETRIES" value: "{{ .Values.frontend.api.max_retries }}" - - name: "IRS_DELAY" + - name: "APP_IRS_DELAY" value: "{{ .Values.frontend.irs.requestDelay }}" - - name: "IRS_MAX_WAITING_TIME" + - name: "APP_IRS_WAITING_TIME" value: "{{ .Values.frontend.irs.maxWaitingTime }}" - name: "API_DELAY" diff --git a/deployment/infrastructure/data-consumer/edc-consumer/Chart.yaml b/deployment/infrastructure/data-consumer/edc-consumer/Chart.yaml index 331c129be..17bd0bdf2 100644 --- a/deployment/infrastructure/data-consumer/edc-consumer/Chart.yaml +++ b/deployment/infrastructure/data-consumer/edc-consumer/Chart.yaml @@ -28,15 +28,15 @@ description: | A Helm chart for Tractus-X Eclipse Data Space Connector. This chart is a test mock that can be used as edc consumer for the DPP applicatiton. type: application version: 0.3.3 -appVersion: "0.6.0" +appVersion: "0.7.0" home: https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector sources: - https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector urls: - - https://github.com/eclipse-tractusx/tractusx-edc/releases/download/tractusx-connector-0.5.0/tractusx-connector-0.5.0.tgz + - https://github.com/eclipse-tractusx/tractusx-edc/releases/download/tractusx-connector-0.7.0/tractusx-connector-0.7.0.tgz dependencies: - name: tractusx-connector - version: "0.6.0" + version: "0.7.0" repository: https://eclipse-tractusx.github.io/charts/dev condition: enabled - name: postgresql @@ -44,7 +44,7 @@ dependencies: version: 12.1.6 repository: https://charts.bitnami.com/bitnami condition: postgresql.enabled - - name: irs-helm + - name: item-relationship-service repository: https://eclipse-tractusx.github.io/item-relationship-service - version: 6.14.0 - condition: irs-helm.enabled + version: 7.1.3 + condition: item-relationship-service.enabled diff --git a/deployment/infrastructure/data-consumer/edc-consumer/values-int.yaml b/deployment/infrastructure/data-consumer/edc-consumer/values-int.yaml index 335e8cf3a..9850fdeea 100644 --- a/deployment/infrastructure/data-consumer/edc-consumer/values-int.yaml +++ b/deployment/infrastructure/data-consumer/edc-consumer/values-int.yaml @@ -37,6 +37,20 @@ tractusx-connector: participant: id: "" + iatp: + # Decentralized IDentifier + id: "did:web:portal-backend.int.demo.catena-x.net:api:administration:staticdata:did:BPNL0073928UJ879" + trustedIssuers: # array [] that needs to be expand but likely like (sorry unconfirmed on how this is done, as I also would need to check) + - "did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp" + sts: + dim: + url: "https://dis-integration-service-prod.eu10.dim.cloud.sap/api/v2.0.0/iatp/catena-x-portal" + oauth: + token_url: "https://bpnl0073928uj879-dpp.authentication.eu10.hana.ondemand.com/oauth/token" + client: + id: "" + secret_alias: "int-client-secret" + controlplane: enabled: true endpoints: @@ -72,33 +86,13 @@ tractusx-connector: port: 9090 # -- path for incoming api calls path: /consumer/metrics - # -- observability api with unsecured access, must not be internet facing - observability: - # -- port for incoming API calls - port: 8099 - # -- observability api, provides /health /readiness and /liveness endpoints - path: /consumer/observability - # -- allow or disallow insecure access, i.e. access without authentication - insecure: true - - ssi: - miw: - url: "" - authorityId: "" - oauth: - tokenurl: "https://centralidp.int.demo.catena-x.net/auth/realms/CX-Central/protocol/openid-connect/token" - client: - id: "" - secretAlias: "int-client-secret" - endpoint: - audience: https://materialpass.int.demo.catena-x.net/consumer ## Ingress declaration to expose the network service. ingresses: ## Public / Internet facing Ingress - enabled: true # -- The hostname to be used to precisely map incoming traffic onto the underlying network service - hostname: "materialpass.int.demo.catena-x.net" + hostname: "dpp.int.demo.catena-x.net" # -- Additional ingress annotations to add annotations: {} # -- EDC endpoints exposed by this ingress resource @@ -126,23 +120,36 @@ tractusx-connector: public: port: 8081 path: /consumer/api/public + signaling: + port: 8083 + path: /api/signaling control: port: 8083 path: /consumer/api/dataplane/control proxy: port: 8186 path: /consumer/proxy + authKey: observability: # -- port for incoming API calls port: 8085 - # -- observability api, provides /health /readiness and /liveness endpoints - path: /consumer/observability - # -- allow or disallow insecure access, i.e. access without authentication - insecure: true metrics: port: 9090 path: /consumer/metrics + token: + refresh: + expiry_seconds: 300 + expiry_tolerance_seconds: 10 + # optional URL that can be provided where clients go to refresh tokens. + refresh_endpoint: + signer: + # alias under which the private key is stored in the vault (JWK or PEM format) + privatekey_alias: ids-daps_key + verifier: + # alias under which the public key is stored in the vault, that belongs to the private key ("privatekey_alias", JWK or PEM format) + publickey_alias: ids-daps_crt + ## Ingress declaration to expose the network service. ingresses: ## Public / Internet facing Ingress @@ -193,11 +200,11 @@ postgresql: username: password: -irs-helm: +item-relationship-service: enabled: true bpn: - irsUrl: "https://materialpass-irs.int.demo.catena-x.net" + irsUrl: "https://dpp-irs.int.demo.catena-x.net" apiKeyAdmin: apiKeyRegular: @@ -209,18 +216,18 @@ irs-helm: nginx.ingress.kubernetes.io/force-ssl-redirect: 'true' nginx.ingress.kubernetes.io/ssl-passthrough: 'false' hosts: - - host: "materialpass-irs.int.demo.catena-x.net" + - host: "dpp-irs.int.demo.catena-x.net" paths: - path: / pathType: Prefix tls: - hosts: - - "materialpass-irs.int.demo.catena-x.net" + - "dpp-irs.int.demo.catena-x.net" secretName: tls-secret digitalTwinRegistry: type: decentral - url: https://materialpass.int.demo.catena-x.net/semantics/registry/api/v3.0 + url: https://dpp-registry.int.demo.catena-x.net/semantics/registry/api/v3.0 discovery: oAuthClientId: discovery # ID of the OAuth2 client registration to use, see config spring.security.oauth2.client @@ -256,15 +263,21 @@ irs-helm: edc: catalog: acceptedPolicies: - - leftOperand: "FrameworkAgreement.sustainability" - operator: "eq" - rightOperand: "active" - - leftOperand: "Membership" + - leftOperand: "cx-policy:FrameworkAgreement" + operator: "eq" + rightOperand: "CircularEconomy:1.0" + - leftOperand: "cx-policy:Membership" operator: "eq" rightOperand: "active" + - leftOperand: "cx-policy:UsagePurpose" + operator: "eq" + rightOperand: "cx.circular.dpp:1" + - leftOperand: "cx-policy:UsagePurpose" + operator: "eq" + rightOperand: "cx.core.digitalTwinRegistry:1" controlplane: endpoint: - data: https://materialpass.int.demo.catena-x.net/consumer/management + data: https://dpp.int.demo.catena-x.net/consumer/management apikey: header: "X-Api-Key" secret: diff --git a/deployment/infrastructure/data-consumer/edc-consumer/values.yaml b/deployment/infrastructure/data-consumer/edc-consumer/values.yaml index 4e3d94f59..2b64835a4 100644 --- a/deployment/infrastructure/data-consumer/edc-consumer/values.yaml +++ b/deployment/infrastructure/data-consumer/edc-consumer/values.yaml @@ -47,6 +47,20 @@ tractusx-connector: participant: id: "" + iatp: + # Decentralized IDentifier + id: "did:web:portal-backend.int.demo.catena-x.net:api:administration:staticdata:did:BPNL0073928UJ879" + trustedIssuers: # array [] that needs to be expand but likely like (sorry unconfirmed on how this is done, as I also would need to check) + - "did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp" + sts: + dim: + url: "https://dis-integration-service-prod.eu10.dim.cloud.sap/api/v2.0.0/iatp/catena-x-portal" + oauth: + token_url: "https://bpnl0073928uj879-dpp.authentication.eu10.hana.ondemand.com/oauth/token" + client: + id: "" + secret_alias: "dev-client-secret" + controlplane: enabled: true image: @@ -119,30 +133,17 @@ tractusx-connector: port: 9090 # -- path for incoming api calls path: /consumer/metrics - # -- observability api with unsecured access, must not be internet facing - observability: - # -- port for incoming API calls - port: 8085 - # -- observability api, provides /health /readiness and /liveness endpoints - path: /consumer/observability - # -- allow or disallow insecure access, i.e. access without authentication - insecure: true + businessPartnerValidation: log: agreementValidation: true - # SSI configuration - ssi: - miw: - url: "" - authorityId: "" - oauth: - tokenurl: "https://centralidp.dev.demo.catena-x.net/auth/realms/CX-Central/protocol/openid-connect/token" - client: - id: "" - secretAlias: "dev-client-secret" - endpoint: - audience: https://materialpass.dev.demo.catena-x.net/consumer - + bdrs: + # time that a cached BPN/DID resolution map is valid in seconds, default is 10 min + cache_validity_seconds: 600 + server: + # URL of the BPN/DID Resolution Service - required: + url: "https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory" + service: # -- [Service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) to expose the running application on a set of Pods as a network service. type: ClusterIP @@ -179,8 +180,11 @@ tractusx-connector: # -- The container's process will run with the specified uid runAsUser: 10001 # Extra environment variables that will be pass onto deployment pods - env: {} - # ENV_NAME: value + env: + # ENV_NAME: value + # workaround till 0.7.1 chart + EDC_IAM_TRUSTED-ISSUER_ISSUER1_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + # "valueFrom" environment variable references that will be added to deployment pods. Name is templated. # ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core @@ -305,7 +309,7 @@ tractusx-connector: affinity: {} url: # -- Explicitly declared url for reaching the ids api (e.g. if ingresses not used) - ids: "" + protocol: "" dataplane: enabled: true image: @@ -355,22 +359,33 @@ tractusx-connector: public: port: 8081 path: /consumer/api/public + signaling: + port: 8083 + path: /api/signaling control: port: 8083 path: /consumer/api/dataplane/control proxy: port: 8186 path: /consumer/proxy - observability: - # -- port for incoming API calls - port: 8085 - # -- observability api, provides /health /readiness and /liveness endpoints - path: /consumer/observability - # -- allow or disallow insecure access, i.e. access without authentication - insecure: true + authKey: metrics: port: 9090 path: /consumer/metrics + + token: + refresh: + expiry_seconds: 300 + expiry_tolerance_seconds: 10 + # optional URL that can be provided where clients go to refresh tokens. + refresh_endpoint: + signer: + # alias under which the private key is stored in the vault (JWK or PEM format) + privatekey_alias: daps-key-dev + verifier: + # alias under which the public key is stored in the vault, that belongs to the private key ("privatekey_alias", JWK or PEM format) + publickey_alias: daps-crt-dev + aws: endpointOverride: "" accessKeyId: "" @@ -407,8 +422,11 @@ tractusx-connector: # -- The container's process will run with the specified uid runAsUser: 10001 # Extra environment variables that will be pass onto deployment pods - env: {} - # ENV_NAME: value + env: + # ENV_NAME: value + # workaround till 0.7.1 chart + EDC_IAM_TRUSTED-ISSUER_ISSUER1_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + # "valueFrom" environment variable references that will be added to deployment pods. Name is templated. # ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core @@ -466,12 +484,12 @@ tractusx-connector: # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi + limits: + cpu: 1.5 + memory: 1024Mi + requests: + cpu: 500m + memory: 128Mi replicaCount: 1 autoscaling: # -- Enables [horizontal pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) @@ -590,7 +608,7 @@ postgresql: username: password: -irs-helm: +item-relationship-service: enabled: true bpn: diff --git a/deployment/infrastructure/data-provider/edc-provider/Chart.yaml b/deployment/infrastructure/data-provider/edc-provider/Chart.yaml index f392f2405..15c16de82 100644 --- a/deployment/infrastructure/data-provider/edc-provider/Chart.yaml +++ b/deployment/infrastructure/data-provider/edc-provider/Chart.yaml @@ -29,13 +29,13 @@ description: | A Helm chart for Tractus-X Eclipse Data Space Connector. This chart is a test mock that can be used as edc provider for the DPP applicatiton. type: application version: 0.3.3 -appVersion: "0.6.0" +appVersion: "0.7.0" home: https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector sources: - https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector dependencies: - name: tractusx-connector - version: "0.6.0" + version: "0.7.0" repository: https://eclipse-tractusx.github.io/charts/dev condition: enabled - name: postgresql diff --git a/deployment/infrastructure/data-provider/edc-provider/values-int.yaml b/deployment/infrastructure/data-provider/edc-provider/values-int.yaml index 93224e5f1..dc97c71e1 100644 --- a/deployment/infrastructure/data-provider/edc-provider/values-int.yaml +++ b/deployment/infrastructure/data-provider/edc-provider/values-int.yaml @@ -32,6 +32,20 @@ tractusx-connector: participant: id: "" + iatp: + # Decentralized IDentifier + id: "did:web:portal-backend.int.demo.catena-x.net:api:administration:staticdata:did:BPNL0073928UJ879" + trustedIssuers: # array [] that needs to be expand but likely like (sorry unconfirmed on how this is done, as I also would need to check) + - "did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp" + sts: + dim: + url: "https://dis-integration-service-prod.eu10.dim.cloud.sap/api/v2.0.0/iatp/catena-x-portal" + oauth: + token_url: "https://bpnl0073928uj879-dpp.authentication.eu10.hana.ondemand.com/oauth/token" + client: + id: "" + secret_alias: "int-client-secret" + controlplane: enabled: true endpoints: @@ -67,26 +81,6 @@ tractusx-connector: port: 9090 # -- path for incoming api calls path: /BPNL000000000000/metrics - # -- observability api with unsecured access, must not be internet facing - observability: - # -- port for incoming API calls - port: 8085 - # -- observability api, provides /health /readiness and /liveness endpoints - path: /BPNL000000000000/observability - # -- allow or disallow insecure access, i.e. access without authentication - insecure: true - - ssi: - miw: - url: "" - authorityId: "" - oauth: - tokenurl: "https://centralidp.int.demo.catena-x.net/auth/realms/CX-Central/protocol/openid-connect/token" - client: - id: "" - secretAlias: "int-client-secret" - endpoint: - audience: https://materialpass.int.demo.catena-x.net/BPNL000000000000 ## Ingress declaration to expose the network service. ingresses: @@ -121,22 +115,33 @@ tractusx-connector: public: port: 8081 path: /BPNL000000000000/api/public + signaling: + port: 8083 + path: /api/signaling control: port: 8083 path: /BPNL000000000000/api/dataplane/control proxy: port: 8186 path: /BPNL000000000000/proxy - observability: - # -- port for incoming API calls - port: 8085 - # -- observability api, provides /health /readiness and /liveness endpoints - path: /BPNL000000000000/observability - # -- allow or disallow insecure access, i.e. access without authentication - insecure: true + authKey: metrics: port: 9090 path: /BPNL000000000000/metrics + + token: + refresh: + expiry_seconds: 300 + expiry_tolerance_seconds: 10 + # optional URL that can be provided where clients go to refresh tokens. + refresh_endpoint: + signer: + # alias under which the private key is stored in the vault (JWK or PEM format) + privatekey_alias: ids-daps_key + verifier: + # alias under which the public key is stored in the vault, that belongs to the private key ("privatekey_alias", JWK or PEM format) + publickey_alias: ids-daps_crt + ## Ingress declaration to expose the network service. ingresses: ## Public / Internet facing Ingress diff --git a/deployment/infrastructure/data-provider/edc-provider/values.yaml b/deployment/infrastructure/data-provider/edc-provider/values.yaml index a7124399b..c43602a4c 100644 --- a/deployment/infrastructure/data-provider/edc-provider/values.yaml +++ b/deployment/infrastructure/data-provider/edc-provider/values.yaml @@ -43,6 +43,20 @@ tractusx-connector: participant: id: "" + iatp: + # Decentralized IDentifier + id: "did:web:portal-backend.int.demo.catena-x.net:api:administration:staticdata:did:BPNL0073928UJ879" + trustedIssuers: # array [] that needs to be expand but likely like (sorry unconfirmed on how this is done, as I also would need to check) + - "did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp" + sts: + dim: + url: "https://dis-integration-service-prod.eu10.dim.cloud.sap/api/v2.0.0/iatp/catena-x-portal" + oauth: + token_url: "https://bpnl0073928uj879-dpp.authentication.eu10.hana.ondemand.com/oauth/token" + client: + id: "" + secret_alias: "dev-client-secret" + controlplane: enabled: true image: @@ -115,30 +129,17 @@ tractusx-connector: port: 9090 # -- path for incoming api calls path: /BPNL000000000000/metrics - # -- observability api with unsecured access, must not be internet facing - observability: - # -- port for incoming API calls - port: 8085 - # -- observability api, provides /health /readiness and /liveness endpoints - path: /BPNL000000000000/observability - # -- allow or disallow insecure access, i.e. access without authentication - insecure: true + businessPartnerValidation: log: agreementValidation: true + bdrs: + # time that a cached BPN/DID resolution map is valid in seconds, default is 10 min + cache_validity_seconds: 600 + server: + # URL of the BPN/DID Resolution Service - required: + url: "https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory" - ssi: - miw: - url: "" - authorityId: "" - oauth: - tokenurl: "https://centralidp.dev.demo.catena-x.net/auth/realms/CX-Central/protocol/openid-connect/token" - client: - id: "" - secretAlias: "dev-client-secret" - endpoint: - audience: https://materialpass.dev.demo.catena-x.net/consumer - service: # -- [Service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) to expose the running application on a set of Pods as a network service. type: ClusterIP @@ -175,8 +176,10 @@ tractusx-connector: # -- The container's process will run with the specified uid runAsUser: 10001 # Extra environment variables that will be pass onto deployment pods - env: {} - # ENV_NAME: value + env: + # ENV_NAME: value + # workaround till 0.7.1 chart + EDC_IAM_TRUSTED-ISSUER_ISSUER1_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp # "valueFrom" environment variable references that will be added to deployment pods. Name is templated. # ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core @@ -301,7 +304,7 @@ tractusx-connector: affinity: {} url: # -- Explicitly declared url for reaching the ids api (e.g. if ingresses not used) - ids: "" + protocol: "" dataplane: enabled: true image: @@ -351,22 +354,33 @@ tractusx-connector: public: port: 8081 path: /BPNL000000000000/api/public + signaling: + port: 8083 + path: /api/signaling control: port: 8083 path: /BPNL000000000000/api/dataplane/control proxy: port: 8186 path: /BPNL000000000000/proxy - observability: - # -- port for incoming API calls - port: 8085 - # -- observability api, provides /health /readiness and /liveness endpoints - path: /BPNL000000000000/observability - # -- allow or disallow insecure access, i.e. access without authentication - insecure: true + authKey: metrics: port: 9090 path: /BPNL000000000000/metrics + + token: + refresh: + expiry_seconds: 300 + expiry_tolerance_seconds: 10 + # optional URL that can be provided where clients go to refresh tokens. + refresh_endpoint: + signer: + # alias under which the private key is stored in the vault (JWK or PEM format) + privatekey_alias: daps-key-dev + verifier: + # alias under which the public key is stored in the vault, that belongs to the private key ("privatekey_alias", JWK or PEM format) + publickey_alias: daps-crt-dev + aws: endpointOverride: "" accessKeyId: "" @@ -403,8 +417,11 @@ tractusx-connector: # -- The container's process will run with the specified uid runAsUser: 10001 # Extra environment variables that will be pass onto deployment pods - env: {} - # ENV_NAME: value + env: + # ENV_NAME: value + # workaround till 0.7.1 chart + EDC_IAM_TRUSTED-ISSUER_ISSUER1_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + # "valueFrom" environment variable references that will be added to deployment pods. Name is templated. # ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core @@ -502,19 +519,6 @@ tractusx-connector: # -- Explicitly declared url for reaching the public api (e.g. if ingresses not used) public: "" - # postgresql: - # jdbcUrl: "jdbc:postgresql://postgresqlprovider:5432/edc" - # primary: - # persistence: - # enabled: false - # readReplicas: - # persistence: - # enabled: false - # auth: - # database: "edc" - # username: - # password: - postgresql: jdbcUrl: "jdbc:postgresql://{{ .Release.Name }}-postgresql:5432/edc" fullnameOverride: "" diff --git a/docs/RELEASE_USER.md b/docs/RELEASE_USER.md index c7b74e74d..fb251a51b 100644 --- a/docs/RELEASE_USER.md +++ b/docs/RELEASE_USER.md @@ -22,7 +22,27 @@ SPDX-License-Identifier: CC-BY-4.0 --> # Release Notes Digital Product Pass Application -User friendly relase notes without especific technical details. +User friendly relase notes without specific technical details. + + + +**June 19 2024 (Version 3.1.0)** +*19.06.2024* + +### Updated + +#### Support of new data models: + +The frontend component from the Digital Product Pass application is now adapted to support the following new models: +- Digital Product Pass `v2.0.0` to `v5.0.0` +- Battery Pass `v3.0.1` to `6.0.0` +- Transmission Pass `v1.0.0` to `3.0.0` + +This adaption deprecates and removed the retro-compatibility from the old models. + +#### Update licensing for the non-code licensed documentation + +There was a change from legal documentation. Instead of Apache-2.0 licensing in documentation, it now supports non-code licensing in license headers and NOTICE sections. This is a default license from the Creative Commons Attribution 4.0 International (CC-BY-4.0). **May 13 2024 (Version 3.0.0)** diff --git a/dpp-backend/scripts/logging.ini b/dpp-backend/scripts/logging.ini index faf2e0712..9273f945e 100644 --- a/dpp-backend/scripts/logging.ini +++ b/dpp-backend/scripts/logging.ini @@ -46,3 +46,4 @@ args=(sys.stdout,) format=%(asctime)s - %(levelname)s - [%(filename)s:%(lineno)s] - %(message)s ;datefmt=%Y-%m-%d %H:%M:%S datefmt=%H:%M:%S + diff --git a/dpp-backend/scripts/requirements.txt b/dpp-backend/scripts/requirements.txt new file mode 100644 index 000000000..077c95d8a --- /dev/null +++ b/dpp-backend/scripts/requirements.txt @@ -0,0 +1 @@ +requests==2.31.0 \ No newline at end of file diff --git a/dpp-frontend/entrypoint.sh b/dpp-frontend/entrypoint.sh index 688f797e3..2488ff6cf 100644 --- a/dpp-frontend/entrypoint.sh +++ b/dpp-frontend/entrypoint.sh @@ -38,6 +38,8 @@ do sed -i 's|API_DECLINE_TIMEOUT|'${API_DECLINE_TIMEOUT}'|g' $file sed -i 's|APP_API_DELAY|'${API_DELAY}'|g' $file sed -i 's|APP_API_MAX_RETRIES|'${API_MAX_RETRIES}'|g' $file + sed -i 's|APP_IRS_DELAY|'${IRS_DELAY}'|g' $file + sed -i 's|APP_IRS_WAITING_TIME|'${IRS_MAX_WAITING_TIME}'|g' $file sed -i 's|KEYCLOAK_CLIENTID|'${KEYCLOAK_CLIENTID}'|g' $file sed -i 's|KEYCLOAK_REALM|'${KEYCLOAK_REALM}'|g' $file sed -i 's|KEYCLOAK_ONLOAD|'${KEYCLOAK_ONLOAD}'|g' $file diff --git a/dpp-frontend/package-lock.json b/dpp-frontend/package-lock.json index f41f662dd..d2ab44ce9 100644 --- a/dpp-frontend/package-lock.json +++ b/dpp-frontend/package-lock.json @@ -1,17 +1,18 @@ { "name": "digital-product-pass-frontend", - "version": "3.0.0", + "version": "3.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "digital-product-pass-frontend", - "version": "3.0.0", + "version": "3.1.0", "dependencies": { "@mdi/font": "5.9.55", "@popperjs/core": "^2.11.2", "@vitejs/plugin-vue": "^4.0.0", "axios": ">=1.6.7", + "chart.js": "^4.4.2", "clipboard": "^2.0.11", "core-js": "^3.8.3", "crypto-js": "^4.2.0", @@ -23,7 +24,7 @@ "vite": ">=4.5.2", "vite-plugin-vuetify": "^1.0.2", "vue": "^3.2.47", - "vue-chartjs": "^5.3.0", + "vue-chartjs": "^5.3.1", "vue-i18n": "9.2.2", "vue-router": "^4.0.13", "vue3-json-viewer": "^2.2.2", @@ -525,8 +526,7 @@ "node_modules/@kurkle/color": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", - "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==", - "peer": true + "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" }, "node_modules/@mdi/font": { "version": "5.9.55", @@ -900,12 +900,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "devOptional": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -940,7 +940,6 @@ "version": "4.4.2", "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.2.tgz", "integrity": "sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==", - "peer": true, "dependencies": { "@kurkle/color": "^0.3.0" }, @@ -1613,9 +1612,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "devOptional": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -2852,9 +2851,9 @@ } }, "node_modules/vue-chartjs": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.0.tgz", - "integrity": "sha512-8XqX0JU8vFZ+WA2/knz4z3ThClduni2Nm0BMe2u0mXgTfd9pXrmJ07QBI+WAij5P/aPmPMX54HCE1seWL37ZdQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.1.tgz", + "integrity": "sha512-rZjqcHBxKiHrBl0CIvcOlVEBwRhpWAVf6rDU3vUfa7HuSRmGtCslc0Oc8m16oAVuk0erzc1FCtH1VCriHsrz+A==", "peerDependencies": { "chart.js": "^4.1.1", "vue": "^3.0.0-0 || ^2.7.0" @@ -3454,8 +3453,7 @@ "@kurkle/color": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", - "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==", - "peer": true + "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" }, "@mdi/font": { "version": "5.9.55" @@ -3764,12 +3762,12 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "devOptional": true, "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "callforth": { @@ -3794,7 +3792,6 @@ "version": "4.4.2", "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.2.tgz", "integrity": "sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==", - "peer": true, "requires": { "@kurkle/color": "^0.3.0" } @@ -4282,9 +4279,9 @@ } }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "devOptional": true, "requires": { "to-regex-range": "^5.0.1" @@ -5111,9 +5108,9 @@ } }, "vue-chartjs": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.0.tgz", - "integrity": "sha512-8XqX0JU8vFZ+WA2/knz4z3ThClduni2Nm0BMe2u0mXgTfd9pXrmJ07QBI+WAij5P/aPmPMX54HCE1seWL37ZdQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.1.tgz", + "integrity": "sha512-rZjqcHBxKiHrBl0CIvcOlVEBwRhpWAVf6rDU3vUfa7HuSRmGtCslc0Oc8m16oAVuk0erzc1FCtH1VCriHsrz+A==", "requires": {} }, "vue-eslint-parser": { diff --git a/dpp-frontend/package.json b/dpp-frontend/package.json index 973718f20..e26b6195d 100644 --- a/dpp-frontend/package.json +++ b/dpp-frontend/package.json @@ -1,6 +1,6 @@ { "name": "digital-product-pass-frontend", - "version": "3.0.0", + "version": "3.1.0", "private": true, "scripts": { "serve": "vite --host localhost", @@ -16,6 +16,7 @@ "@popperjs/core": "^2.11.2", "@vitejs/plugin-vue": "^4.0.0", "axios": ">=1.6.7", + "chart.js": "^4.4.2", "clipboard": "^2.0.11", "core-js": "^3.8.3", "crypto-js": "^4.2.0", @@ -27,7 +28,7 @@ "vite": ">=4.5.2", "vite-plugin-vuetify": "^1.0.2", "vue": "^3.2.47", - "vue-chartjs": "^5.3.0", + "vue-chartjs": "^5.3.1", "vue-i18n": "9.2.2", "vue-router": "^4.0.13", "vue3-json-viewer": "^2.2.2", diff --git a/dpp-frontend/src/assets/styles/components/passport/batteryGraph.scss b/dpp-frontend/src/assets/styles/components/passport/batteryGraph.scss index 6dbb60374..b2cf51747 100644 --- a/dpp-frontend/src/assets/styles/components/passport/batteryGraph.scss +++ b/dpp-frontend/src/assets/styles/components/passport/batteryGraph.scss @@ -26,14 +26,12 @@ display: flex; flex-direction: column; align-items: center; - width: 380px; + width: 80%; padding: 7px; display: flex; background-color: #f5f5f5; border-radius: 8px; - // margin-left: 6px; - // margin-bottom: 12px; - margin: 6px 0 12px 6px; + margin: 6px 0 12px 12px; @include background-image( $background-image-url, $background-color, @@ -95,3 +93,10 @@ font-weight: 600; } } + +@media (max-width: 960px) { + .battery-graph { + width: 60%; + margin: 0 20% 30px 20%; + } +} diff --git a/dpp-frontend/src/assets/styles/components/passport/cards.scss b/dpp-frontend/src/assets/styles/components/passport/cards.scss index 105681d1c..eb19c839b 100644 --- a/dpp-frontend/src/assets/styles/components/passport/cards.scss +++ b/dpp-frontend/src/assets/styles/components/passport/cards.scss @@ -151,7 +151,7 @@ } .material-value { position: absolute; - font-size: 18px; + font-size: 16px; font-weight: 600; top: 20px; left: 50%; @@ -183,6 +183,11 @@ .card-container { .materials-container { width: 50%; + .material-container { + .material-value { + font-size: 14px; + } + } } .co2-container { width: 30%; @@ -220,7 +225,7 @@ font-size: 10px; font-weight: 600; top: 6px; - left: 50%; + left: 75%; transform: translate(-50%, 0); } } diff --git a/dpp-frontend/src/assets/styles/components/passport/sections.scss b/dpp-frontend/src/assets/styles/components/passport/sections.scss index e81af2279..e88938f0b 100644 --- a/dpp-frontend/src/assets/styles/components/passport/sections.scss +++ b/dpp-frontend/src/assets/styles/components/passport/sections.scss @@ -104,5 +104,9 @@ .container-width-50 { width: 100%; } + .chart { + padding: 0 10% 20px 10%; + } } } + diff --git a/dpp-frontend/src/components/general/RecursiveAdditionalData.vue b/dpp-frontend/src/components/general/RecursiveAdditionalData.vue index 293fcc450..6b4170613 100644 --- a/dpp-frontend/src/components/general/RecursiveAdditionalData.vue +++ b/dpp-frontend/src/components/general/RecursiveAdditionalData.vue @@ -1,27 +1,3 @@ - -