diff --git a/.github/workflows/draft-new-release.yaml b/.github/workflows/draft-new-release.yaml index fc99b6326..b374649dd 100644 --- a/.github/workflows/draft-new-release.yaml +++ b/.github/workflows/draft-new-release.yaml @@ -38,56 +38,46 @@ jobs: pull-requests: write steps: - uses: actions/checkout@v3.5.2 - - - name: Create release branch + - name: Create release branch run: git checkout -b release/${{ github.event.inputs.version }} - - - name: Update changelog + - name: Update changelog uses: thomaseizinger/keep-a-changelog-new-release@1.3.0 with: tag: ${{ github.event.inputs.version }} - - - name: Initialize mandatory git config + - name: Initialize mandatory git config run: | git config user.name "eclipse-tractusx-bot" git config user.email "tractusx-bot@eclipse.org" - - - uses: ./.github/actions/setup-java - - - name: Bump version in gradle.properties + - uses: ./.github/actions/setup-java + - name: Bump version in gradle.properties run: |- - # replace the project's (default) version, could be overwritten later with the -Pversion=... flag - sed -i 's/version=.*/version=${{ github.event.inputs.version }}/g' gradle.properties + # replace the project's (default) version, could be overwritten later with the -Pversion=... flag + sed -i 's/version=.*/version=${{ github.event.inputs.version }}/g' gradle.properties env: GITHUB_PACKAGE_USERNAME: ${{ github.actor }} GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }} - - - name: Bump version in /charts + - name: Bump version in /charts uses: mikefarah/yq@v4.34.1 with: cmd: |- find charts -name Chart.yaml -maxdepth 3 | xargs -n1 yq -i '.appVersion = "${{ github.event.inputs.version }}" | .version = "${{ github.event.inputs.version }}"' - - - name: Update Chart READMEs + - name: Update Chart READMEs uses: addnab/docker-run-action@v3 with: image: jnorwood/helm-docs:v1.10.0 options: -v ${{ github.workspace }}/charts:/helm-docs run: | helm-docs --log-level debug - - - name: Commit changelog and manifest files + - name: Commit changelog and manifest files id: make-commit run: | git add CHANGELOG.md gradle.properties $(find charts -name Chart.yaml) $(find charts -name README.md) git commit --message "Prepare release ${{ github.event.inputs.version }}" echo "commit=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT - - - name: Push new branch + - name: Push new branch run: git push origin release/${{ github.event.inputs.version }} - - - name: Create pull request + - name: Create pull request uses: thomaseizinger/create-pull-request@1.3.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/helm-lint.yaml b/.github/workflows/helm-lint.yaml index 9bd8bc0ab..37cdb0c3d 100644 --- a/.github/workflows/helm-lint.yaml +++ b/.github/workflows/helm-lint.yaml @@ -41,41 +41,35 @@ jobs: helm-lint: runs-on: ubuntu-latest steps: - ############## - ### Set-Up ### - ############## - - - uses: actions/checkout@v3.5.2 - with: - fetch-depth: 0 - - - name: helm (setup) - uses: azure/setup-helm@v3.5 - with: - version: v3.8.1 - - - name: python (setup) - uses: actions/setup-python@v4 - with: - python-version: 3.7 - - - name: chart-testing (setup) - uses: helm/chart-testing-action@v2.4.0 - ##################### - ### Chart Testing ### - ##################### - - - name: chart-testing (list-changed) - id: list-changed - run: | - changed=$(ct list-changed --config ct.yaml --target-branch main) - if [[ -n "$changed" ]]; then - echo "changed=true" >> $GITHUB_OUTPUT - fi - - - name: chart-testing (lint) - if: steps.list-changed.outputs.changed == 'true' - run: | - ct lint \ - --config ct.yaml \ - --all + ############## + ### Set-Up ### + ############## + - uses: actions/checkout@v3.5.2 + with: + fetch-depth: 0 + - name: helm (setup) + uses: azure/setup-helm@v3.5 + with: + version: v3.8.1 + - name: python (setup) + uses: actions/setup-python@v4 + with: + python-version: 3.7 + - name: chart-testing (setup) + uses: helm/chart-testing-action@v2.4.0 + ##################### + ### Chart Testing ### + ##################### + - name: chart-testing (list-changed) + id: list-changed + run: | + changed=$(ct list-changed --config ct.yaml --target-branch main) + if [[ -n "$changed" ]]; then + echo "changed=true" >> $GITHUB_OUTPUT + fi + - name: chart-testing (lint) + if: steps.list-changed.outputs.changed == 'true' + run: | + ct lint \ + --config ct.yaml \ + --all diff --git a/.github/workflows/kics.yml b/.github/workflows/kics.yml index adb020c1f..c276bad00 100644 --- a/.github/workflows/kics.yml +++ b/.github/workflows/kics.yml @@ -22,9 +22,9 @@ name: "KICS" on: push: - branches: [main, releases] + branches: [ main, releases ] pull_request: - branches: [main, releases] + branches: [ main, releases ] workflow_dispatch: schedule: diff --git a/.github/workflows/publish-new-release.yml b/.github/workflows/publish-new-release.yml index e97bd0db7..3d42b4eb2 100644 --- a/.github/workflows/publish-new-release.yml +++ b/.github/workflows/publish-new-release.yml @@ -36,24 +36,21 @@ jobs: outputs: RELEASE_VERSION: ${{ steps.release-version.outputs.RELEASE_VERSION }} steps: - - - name: Extract version from branch name (for release branches) + - name: Extract version from branch name (for release branches) if: startsWith(github.event.pull_request.head.ref, 'release/') run: | BRANCH_NAME="${{ github.event.pull_request.head.ref }}" VERSION=${BRANCH_NAME#release/} echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV - - - name: Extract version from branch name (for hotfix branches) + - name: Extract version from branch name (for hotfix branches) if: startsWith(github.event.pull_request.head.ref, 'hotfix/') run: | BRANCH_NAME="${{ github.event.pull_request.head.ref }}" VERSION=${BRANCH_NAME#hotfix/} echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV - - - name: Output release version + - name: Output release version id: release-version run: | echo "RELEASE_VERSION=${{ env.RELEASE_VERSION }}" >> $GITHUB_OUTPUT @@ -62,6 +59,8 @@ jobs: maven-release: name: Publish extension's release version to maven repository needs: [ release-version ] + # TODO: remove + continue-on-error: true runs-on: ubuntu-latest permissions: contents: read @@ -94,6 +93,8 @@ jobs: docker-release: name: Publish Docker images runs-on: ubuntu-latest + # TODO: remove + continue-on-error: true needs: [ release-version ] permissions: contents: write @@ -102,12 +103,12 @@ jobs: strategy: fail-fast: false matrix: - variant: [{dir: edc-controlplane, img: edc-runtime-memory}, - {dir: edc-controlplane, img: edc-controlplane-memory-hashicorp-vault}, - {dir: edc-controlplane, img: edc-controlplane-postgresql-hashicorp-vault}, - {dir: edc-controlplane, img: edc-controlplane-postgresql-azure-vault}, - {dir: edc-dataplane, img: edc-dataplane-azure-vault}, - {dir: edc-dataplane, img: edc-dataplane-hashicorp-vault}] + variant: [ { dir: edc-controlplane, img: edc-runtime-memory }, + { dir: edc-controlplane, img: edc-controlplane-memory-hashicorp-vault }, + { dir: edc-controlplane, img: edc-controlplane-postgresql-hashicorp-vault }, + { dir: edc-controlplane, img: edc-controlplane-postgresql-azure-vault }, + { dir: edc-dataplane, img: edc-dataplane-azure-vault }, + { dir: edc-dataplane, img: edc-dataplane-hashicorp-vault } ] steps: - uses: actions/checkout@v3.5.2 @@ -129,6 +130,8 @@ jobs: name: Publish new helm release needs: [ release-version ] runs-on: ubuntu-latest + # TODO: remove + continue-on-error: true permissions: contents: write packages: write @@ -136,21 +139,17 @@ jobs: if: github.event.pull_request.merged == true && needs.release-version.outputs.RELEASE_VERSION steps: - - - name: Export RELEASE_VERSION env + - name: Export RELEASE_VERSION env run: | echo "RELEASE_VERSION=${{ needs.release-version.outputs.RELEASE_VERSION }}" >> $GITHUB_ENV - - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.2 with: fetch-depth: 0 - - - name: Install Helm + - name: Install Helm uses: azure/setup-helm@v3.5 with: version: v3.8.1 - - - name: Package helm, update index.yaml and push to gh-pages + - name: Package helm, update index.yaml and push to gh-pages run: | # Prepare git env git config user.name "eclipse-tractusx-bot" @@ -183,17 +182,14 @@ jobs: pull-requests: write if: github.event.pull_request.merged == true && needs.release-version.outputs.RELEASE_VERSION steps: - - - name: Export RELEASE_VERSION env + - name: Export RELEASE_VERSION env run: | echo "RELEASE_VERSION=${{ needs.release-version.outputs.RELEASE_VERSION }}" >> $GITHUB_ENV - - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.2 with: # 0 to fetch the full history due to upcoming merge of releases into main branch fetch-depth: 0 - - - name: Create Release Tag + - name: Create Release Tag id: create_release_tag run: | # Prepare git env @@ -207,22 +203,16 @@ jobs: # Create & push tag git tag --force ${{ env.RELEASE_VERSION }} git push --force origin ${{ env.RELEASE_VERSION }} - - - name: Create Github Release - id: create_release - uses: thomaseizinger/create-release@1.0.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Create GitHub Release + uses: ncipollo/release-action@v1 with: - target_commitish: ${{ github.event.pull_request.merge_commit_sha }} - tag_name: ${{ env.RELEASE_VERSION }} - name: ${{ env.RELEASE_VERSION }} - draft: false - prerelease: false - - - uses: ./.github/actions/setup-java - - - name: Merge releases back into main and set new snapshot version + generateReleaseNotes: true + tag: ${{ env.RELEASE_VERSION }} + token: ${{ secrets.GITHUB_TOKEN }} + makeLatest: true + removeArtifacts: true + - uses: ./.github/actions/setup-java + - name: Merge releases back into main and set new snapshot version if: github.event.pull_request.base.ref == 'releases' run: | # Prepare git env diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index 8aa69e4bf..e5e25a6a7 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -70,7 +70,7 @@ jobs: - uses: ./.github/actions/setup-java - name: Download latest Eclipse Dash run: | - curl -L https://repo.eclipse.org/service/local/artifact/maven/redirect\?r\=dash-licenses\&g\=org.eclipse.dash\&a\=org.eclipse.dash.licenses\&v\=LATEST --output dash.jar + curl -L https://repo.eclipse.org/service/local/artifact/maven/redirect\?r\=dash-licenses\&g\=org.eclipse.dash\&a\=org.eclipse.dash.licenses\&v\=LATEST --output dash.jar - name: Regenerate DEPENDENCIES run: | # dash returns a nonzero exit code if there are libs that need review. the "|| true" avoids that diff --git a/CHANGELOG.md b/CHANGELOG.md index 22b5af5cd..0ae920763 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.5.0-test1] - 2023-07-06 + ## [0.5.0-rc5] - 2023-07-05 ### Changed @@ -363,7 +365,9 @@ corresponding [documentation](/docs/migration/Version_0.0.x_0.1.x.md). ## [0.0.1] - 2022-05-13 -[Unreleased]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.5.0-rc5...HEAD +[Unreleased]: https://github.com/paullatzelsperger/tractusx-edc/compare/0.5.0-test1...HEAD + +[0.5.0-test1]: https://github.com/paullatzelsperger/tractusx-edc/compare/0.5.0-rc5...0.5.0-test1 [0.5.0-rc5]: https://github.com/eclipse-tractusx/tractusx-edc/compare/0.5.0-rc4...0.5.0-rc5 diff --git a/DEPENDENCIES b/DEPENDENCIES index 7311e2746..e11129d9f 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -75,7 +75,7 @@ maven/mavencentral/com.puppycrawl.tools/checkstyle/10.0, LGPL-2.1-or-later, appr maven/mavencentral/com.squareup.okhttp3/mockwebserver/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined maven/mavencentral/com.squareup.okhttp3/mockwebserver3/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined maven/mavencentral/com.squareup.okhttp3/okhttp-dnsoverhttps/4.11.0, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.squareup.okhttp3/okhttp-jvm/5.0.0-alpha.11, Apache-2.0, restricted, clearlydefined +maven/mavencentral/com.squareup.okhttp3/okhttp-jvm/5.0.0-alpha.11, Apache-2.0, approved, #9263 maven/mavencentral/com.squareup.okhttp3/okhttp/4.11.0, Apache-2.0, approved, #9240 maven/mavencentral/com.squareup.okhttp3/okhttp/4.9.3, Apache-2.0 AND MPL-2.0, approved, #3225 maven/mavencentral/com.squareup.okhttp3/okhttp/5.0.0-alpha.11, Apache-2.0, approved, clearlydefined @@ -88,8 +88,8 @@ maven/mavencentral/commons-codec/commons-codec/1.15, Apache-2.0 AND BSD-3-Clause maven/mavencentral/commons-collections/commons-collections/3.2.2, Apache-2.0, approved, CQ10385 maven/mavencentral/commons-logging/commons-logging/1.2, Apache-2.0, approved, CQ10162 maven/mavencentral/dev.failsafe/failsafe-okhttp/3.3.2, Apache-2.0, approved, #9178 -maven/mavencentral/dev.failsafe/failsafe/3.3.1, Apache-2.0, approved, clearlydefined -maven/mavencentral/dev.failsafe/failsafe/3.3.2, , restricted, clearlydefined +maven/mavencentral/dev.failsafe/failsafe/3.3.1, Apache-2.0, approved, #9268 +maven/mavencentral/dev.failsafe/failsafe/3.3.2, Apache-2.0, approved, #9268 maven/mavencentral/info.picocli/picocli/4.6.3, Apache-2.0, approved, clearlydefined maven/mavencentral/io.github.classgraph/classgraph/4.8.138, MIT, approved, CQ22530 maven/mavencentral/io.github.classgraph/classgraph/4.8.154, MIT, approved, CQ22530 @@ -161,7 +161,7 @@ maven/mavencentral/io.netty/netty-transport/4.1.91.Final, Apache-2.0 AND BSD-3-C maven/mavencentral/io.netty/netty-transport/4.1.94.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926 maven/mavencentral/io.opencensus/opencensus-api/0.31.1, Apache-2.0, approved, clearlydefined maven/mavencentral/io.opencensus/opencensus-contrib-http-util/0.31.1, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.opentelemetry.instrumentation/opentelemetry-instrumentation-annotations/1.27.0, , restricted, clearlydefined +maven/mavencentral/io.opentelemetry.instrumentation/opentelemetry-instrumentation-annotations/1.27.0, Apache-2.0, approved, #9270 maven/mavencentral/io.opentelemetry/opentelemetry-api/1.27.0, Apache-2.0, approved, clearlydefined maven/mavencentral/io.opentelemetry/opentelemetry-context/1.27.0, Apache-2.0, approved, clearlydefined maven/mavencentral/io.projectreactor.netty/reactor-netty-core/1.0.28, Apache-2.0, approved, clearlydefined @@ -170,15 +170,15 @@ maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.28, Apache-2.0 maven/mavencentral/io.projectreactor.netty/reactor-netty-http/1.0.31, Apache-2.0, approved, clearlydefined maven/mavencentral/io.projectreactor/reactor-core/3.4.27, Apache-2.0, approved, #7517 maven/mavencentral/io.projectreactor/reactor-core/3.4.29, Apache-2.0, approved, #7517 -maven/mavencentral/io.rest-assured/json-path/5.3.1, , restricted, clearlydefined -maven/mavencentral/io.rest-assured/rest-assured-common/5.3.1, , restricted, clearlydefined -maven/mavencentral/io.rest-assured/rest-assured/5.3.1, , restricted, clearlydefined -maven/mavencentral/io.rest-assured/xml-path/5.3.1, , restricted, clearlydefined +maven/mavencentral/io.rest-assured/json-path/5.3.1, Apache-2.0, approved, #9261 +maven/mavencentral/io.rest-assured/rest-assured-common/5.3.1, Apache-2.0, approved, #9264 +maven/mavencentral/io.rest-assured/rest-assured/5.3.1, Apache-2.0, approved, #9262 +maven/mavencentral/io.rest-assured/xml-path/5.3.1, Apache-2.0, approved, #9267 maven/mavencentral/io.setl/rdf-urdna/1.1, Apache-2.0, approved, clearlydefined maven/mavencentral/io.swagger.core.v3/swagger-annotations-jakarta/2.2.2, Apache-2.0, approved, #5947 maven/mavencentral/io.swagger.core.v3/swagger-annotations/2.2.10, Apache-2.0, approved, clearlydefined maven/mavencentral/io.swagger.core.v3/swagger-core-jakarta/2.2.2, Apache-2.0, approved, #5929 -maven/mavencentral/io.swagger.core.v3/swagger-core/2.2.10, , restricted, clearlydefined +maven/mavencentral/io.swagger.core.v3/swagger-core/2.2.10, Apache-2.0, approved, #9265 maven/mavencentral/io.swagger.core.v3/swagger-integration-jakarta/2.2.2, Apache-2.0, approved, clearlydefined maven/mavencentral/io.swagger.core.v3/swagger-integration/2.2.10, Apache-2.0, approved, clearlydefined maven/mavencentral/io.swagger.core.v3/swagger-jaxrs2-jakarta/2.2.2, Apache-2.0, approved, clearlydefined @@ -218,7 +218,7 @@ maven/mavencentral/org.apache.commons/commons-compress/1.23.0, Apache-2.0 AND BS maven/mavencentral/org.apache.commons/commons-lang3/3.11, Apache-2.0, approved, CQ22642 maven/mavencentral/org.apache.commons/commons-lang3/3.12.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.apache.commons/commons-pool2/2.11.1, Apache-2.0, approved, CQ23795 -maven/mavencentral/org.apache.groovy/groovy-bom/4.0.11, , restricted, clearlydefined +maven/mavencentral/org.apache.groovy/groovy-bom/4.0.11, Apache-2.0, approved, #9266 maven/mavencentral/org.apache.groovy/groovy-json/4.0.11, Apache-2.0, approved, #7411 maven/mavencentral/org.apache.groovy/groovy-xml/4.0.11, Apache-2.0, approved, clearlydefined maven/mavencentral/org.apache.groovy/groovy/4.0.11, Apache-2.0 AND BSD-3-Clause AND MIT, approved, #1742 @@ -476,7 +476,7 @@ maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.91, Apache-2.0, app maven/mavencentral/software.amazon.awssdk/endpoints-spi/2.20.98, Apache-2.0, approved, #8604 maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.91, Apache-2.0, approved, #8608 maven/mavencentral/software.amazon.awssdk/http-client-spi/2.20.98, Apache-2.0, approved, #8608 -maven/mavencentral/software.amazon.awssdk/iam/2.20.91, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/iam/2.20.91, Apache-2.0, approved, #9271 maven/mavencentral/software.amazon.awssdk/json-utils/2.20.91, Apache-2.0, approved, #8614 maven/mavencentral/software.amazon.awssdk/json-utils/2.20.98, Apache-2.0, approved, #8614 maven/mavencentral/software.amazon.awssdk/metrics-spi/2.20.91, Apache-2.0, approved, #8636 @@ -493,7 +493,7 @@ maven/mavencentral/software.amazon.awssdk/s3/2.20.91, Apache-2.0, approved, #862 maven/mavencentral/software.amazon.awssdk/s3/2.20.98, Apache-2.0, approved, #8623 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.91, Apache-2.0, approved, #8611 maven/mavencentral/software.amazon.awssdk/sdk-core/2.20.98, Apache-2.0, approved, #8611 -maven/mavencentral/software.amazon.awssdk/sts/2.20.91, , restricted, clearlydefined +maven/mavencentral/software.amazon.awssdk/sts/2.20.91, Apache-2.0, approved, #9269 maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.91, Apache-2.0, approved, #8622 maven/mavencentral/software.amazon.awssdk/third-party-jackson-core/2.20.98, Apache-2.0, approved, #8622 maven/mavencentral/software.amazon.awssdk/utils/2.20.91, Apache-2.0, approved, #8625 diff --git a/charts/tractusx-connector-azure-vault/Chart.yaml b/charts/tractusx-connector-azure-vault/Chart.yaml index da80eea14..b542e16a5 100644 --- a/charts/tractusx-connector-azure-vault/Chart.yaml +++ b/charts/tractusx-connector-azure-vault/Chart.yaml @@ -40,12 +40,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: 0.5.0-rc5 +version: 0.5.0-test1 # 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: "0.5.0-rc5" +appVersion: "0.5.0-test1" 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 diff --git a/charts/tractusx-connector-azure-vault/README.md b/charts/tractusx-connector-azure-vault/README.md index c4090143b..cc085005f 100644 --- a/charts/tractusx-connector-azure-vault/README.md +++ b/charts/tractusx-connector-azure-vault/README.md @@ -1,6 +1,6 @@ # tractusx-connector-azure-vault -![Version: 0.5.0-rc5](https://img.shields.io/badge/Version-0.5.0--rc5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.0-rc5](https://img.shields.io/badge/AppVersion-0.5.0--rc5-informational?style=flat-square) +![Version: 0.5.0-test1](https://img.shields.io/badge/Version-0.5.0--test1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.0-test1](https://img.shields.io/badge/AppVersion-0.5.0--test1-informational?style=flat-square) A Helm chart for Tractus-X Eclipse Data Space Connector. The connector deployment consists of two runtime consists of a Control Plane and a Data Plane. Note that _no_ external dependencies such as a PostgreSQL database and Azure KeyVault are included. @@ -45,7 +45,7 @@ Combined, run this shell command to start the in-memory Tractus-X EDC runtime: ```shell helm repo add tractusx-edc https://eclipse-tractusx.github.io/charts/dev -helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0.5.0-rc5 \ +helm install my-release tractusx-edc/tractusx-connector-azure-vault --version 0.5.0-test1 \ -f /tractusx-connector-azure-vault-test.yaml \ --set vault.azure.name=$AZURE_VAULT_NAME \ --set vault.azure.client=$AZURE_CLIENT_ID \ diff --git a/charts/tractusx-connector-legacy/Chart.yaml b/charts/tractusx-connector-legacy/Chart.yaml index 23a90f7e1..078899e32 100644 --- a/charts/tractusx-connector-legacy/Chart.yaml +++ b/charts/tractusx-connector-legacy/Chart.yaml @@ -44,12 +44,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: 0.5.0-rc5 +version: 0.5.0-test1 # 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: "0.5.0-rc5" +appVersion: "0.5.0-test1" home: https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector-legacy sources: - https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector-legacy diff --git a/charts/tractusx-connector-legacy/README.md b/charts/tractusx-connector-legacy/README.md index a5c64b259..407ac8a55 100644 --- a/charts/tractusx-connector-legacy/README.md +++ b/charts/tractusx-connector-legacy/README.md @@ -2,7 +2,7 @@ > **:exclamation: This Helm Chart is deprecated!** -![Version: 0.5.0-rc5](https://img.shields.io/badge/Version-0.5.0--rc5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.0-rc5](https://img.shields.io/badge/AppVersion-0.5.0--rc5-informational?style=flat-square) +![Version: 0.5.0-test1](https://img.shields.io/badge/Version-0.5.0--test1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.0-test1](https://img.shields.io/badge/AppVersion-0.5.0--test1-informational?style=flat-square) A Helm chart for Tractus-X Eclipse Data Space Connector. The connector deployment consists of two runtime consists of a Control Plane and a Data Plane. Note that _no_ external dependencies such as a PostgreSQL database and HashiCorp Vault are included. @@ -42,7 +42,7 @@ Combined, run this shell command to start the in-memory Tractus-X EDC runtime: ```shell helm repo add tractusx-edc https://eclipse-tractusx.github.io/charts/dev -helm install my-release tractusx-edc/tractusx-connector --version 0.5.0-rc5 \ +helm install my-release tractusx-edc/tractusx-connector --version 0.5.0-test1 \ -f /tractusx-connector-test.yaml ``` diff --git a/charts/tractusx-connector-memory/Chart.yaml b/charts/tractusx-connector-memory/Chart.yaml index c29489ccd..f81a9df93 100644 --- a/charts/tractusx-connector-memory/Chart.yaml +++ b/charts/tractusx-connector-memory/Chart.yaml @@ -34,12 +34,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: 0.5.0-rc5 +version: 0.5.0-test1 # 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: "0.5.0-rc5" +appVersion: "0.5.0-test1" home: https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector-memory sources: - https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector-memory diff --git a/charts/tractusx-connector-memory/README.md b/charts/tractusx-connector-memory/README.md index 0a23395a9..689988ef2 100644 --- a/charts/tractusx-connector-memory/README.md +++ b/charts/tractusx-connector-memory/README.md @@ -1,6 +1,6 @@ # tractusx-connector-memory -![Version: 0.5.0-rc5](https://img.shields.io/badge/Version-0.5.0--rc5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.0-rc5](https://img.shields.io/badge/AppVersion-0.5.0--rc5-informational?style=flat-square) +![Version: 0.5.0-test1](https://img.shields.io/badge/Version-0.5.0--test1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.0-test1](https://img.shields.io/badge/AppVersion-0.5.0--test1-informational?style=flat-square) A Helm chart for Tractus-X Eclipse Data Space Connector based on memory. Please only use this for development or testing purposes, never in production workloads! @@ -39,7 +39,7 @@ Combined, run this shell command to start the in-memory Tractus-X EDC runtime: ```shell helm repo add tractusx-edc https://eclipse-tractusx.github.io/charts/dev -helm install my-release tractusx-edc/tractusx-connector-memory --version 0.5.0-rc5 \ +helm install my-release tractusx-edc/tractusx-connector-memory --version 0.5.0-test1 \ -f /tractusx-connector-memory-test.yaml \ --set vault.secrets="client-secret:$YOUR_CLIENT_SECRET" ``` diff --git a/charts/tractusx-connector/Chart.yaml b/charts/tractusx-connector/Chart.yaml index 055eae816..98136dd7e 100644 --- a/charts/tractusx-connector/Chart.yaml +++ b/charts/tractusx-connector/Chart.yaml @@ -40,12 +40,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: 0.5.0-rc5 +version: 0.5.0-test1 # 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: "0.5.0-rc5" +appVersion: "0.5.0-test1" 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 diff --git a/charts/tractusx-connector/README.md b/charts/tractusx-connector/README.md index 5e05bf61e..17a05ca03 100644 --- a/charts/tractusx-connector/README.md +++ b/charts/tractusx-connector/README.md @@ -1,6 +1,6 @@ # tractusx-connector -![Version: 0.5.0-rc5](https://img.shields.io/badge/Version-0.5.0--rc5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.0-rc5](https://img.shields.io/badge/AppVersion-0.5.0--rc5-informational?style=flat-square) +![Version: 0.5.0-test1](https://img.shields.io/badge/Version-0.5.0--test1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.0-test1](https://img.shields.io/badge/AppVersion-0.5.0--test1-informational?style=flat-square) A Helm chart for Tractus-X Eclipse Data Space Connector. The connector deployment consists of two runtime consists of a Control Plane and a Data Plane. Note that _no_ external dependencies such as a PostgreSQL database and HashiCorp Vault are included. @@ -42,7 +42,7 @@ Combined, run this shell command to start the in-memory Tractus-X EDC runtime: ```shell helm repo add tractusx-edc https://eclipse-tractusx.github.io/charts/dev -helm install my-release tractusx-edc/tractusx-connector --version 0.5.0-rc5 \ +helm install my-release tractusx-edc/tractusx-connector --version 0.5.0-test1 \ -f /tractusx-connector-test.yaml ``` diff --git a/docs/development/decision-records/2023-07-06_removing_manual_changelog/README.md b/docs/development/decision-records/2023-07-06_removing_manual_changelog/README.md new file mode 100644 index 000000000..944e775e5 --- /dev/null +++ b/docs/development/decision-records/2023-07-06_removing_manual_changelog/README.md @@ -0,0 +1,36 @@ +# Removal of manually curated CHANGELOG.md + +## Decision + +We will not maintain a manually curated `CHANGELOG.md` file anymore. Instead, we will rely on an automatically generated +one. GitHub Releases offers that feature. + +## Rationale + +Manually curating a CHANGELOG.md is an arduous process, that does not offer any real value, rather, it introduces mostly +problems. Chief amongst those are the fact that typically the curation happens shortly before the release, which +increases pressure, and introduces the possibility that something is forgotten. Also, digging up the correct issue/PR +numbers is a tedious process. + +Relying solely on GitHub Releases fixes all that, because it will generate a succinct changelog, complete with issue/PR +number and contributor. + +We would lose the possibility to formulate "humanly readable" change log entries, but that is easily offset by the fact +that we [use conventional commits](../2023-04-20_conventional_commits). + +Thus, the commit log should be easily digestible and understandable, assuming a frequent release cycle. + +## Approach + +First, we need to fix the release process. It seems that at the time of this writing, the release PR contains _all_ +commits, instead of just the delta between `main` and the last release. + +This is because upon merging normal PRs, we typically do a "Squash-And-Merge". The same thing was done on release PRs, +which caused the git histories of `main` and `releases` to diverge. + +> **For this to work, it is imperative to create a "Merge commit" for release PRs as that will preserve commits!** + +This is also reflected in the automatically generated changelog, for +example [0.5.0-rc5](https://github.com/eclipse-tractusx/tractusx-edc/releases/tag/0.5.0-rc5). Once that is fixed, we can +delete the CHANGELOG.md file +and [this GH action to update it (line 44)](../../../../.github/workflows/draft-new-release.yaml). diff --git a/edc-extensions/ssi/ssi-miw-credential-client/README.md b/edc-extensions/ssi/ssi-miw-credential-client/README.md index beef1f43d..8413e575b 100644 --- a/edc-extensions/ssi/ssi-miw-credential-client/README.md +++ b/edc-extensions/ssi/ssi-miw-credential-client/README.md @@ -11,6 +11,11 @@ just call the MIW for checking that the token and the VP claim inside are correc For obtaining a `JWT` token also it reaches the MIW, that will create a token with the `VP` claim inside. +This module also contains two additional validation rules of VP/VC on the provider side. + +- `SsiCredentialIssuerValidationRule` checks if the issuer of the Verifiable Credential matches `tx.ssi.miw.authority.issuer` +- `SsiCredentialSubjectIdValidationRule` checks if the issuer of the JWT/VP matches the credential subject id in the Verifiable Credential + ## Configuration | Key | Required | Example | Description | @@ -23,3 +28,7 @@ For obtaining a `JWT` token also it reaches the MIW, that will create a token wi | tx.ssi.oauth.client.secret.alias | X | | Vault alias for the client secret | By default, the `tx.ssi.miw.authority.issuer` is composed with `did:web:: + +Another mandatory settings is `tx.ssi.endpoint.audience` which is described [here](../ssi-identity-core/README.md) + +> Note: the `edc.participant.id` should match the BPN number contained in the OAuth2/Keycloak token and the one assigned by the portal to the user's organization. diff --git a/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImpl.java b/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImpl.java index 6ff698565..c8de50c4b 100644 --- a/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImpl.java +++ b/edc-extensions/ssi/ssi-miw-credential-client/src/main/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImpl.java @@ -164,18 +164,26 @@ private Result handleSuccess(Response response, TypeReference tr) { var body = Objects.requireNonNull(response.body()).string(); return Result.success(mapper.readValue(body, tr)); } catch (IOException e) { - monitor.debug("Failed to parse response from MIW"); + monitor.severe("Failed to parse response from MIW"); return Result.failure(e.getMessage()); } } private Result handleError(Response response) { - var msg = format("MIW API returned %s", response.code()); - monitor.debug(msg); - return Result.failure(msg); + var body = ""; + if (response.body() != null) { + try { + body = response.body().string(); + } catch (IOException e) { + monitor.severe("Failed to read response from MIW"); + return Result.failure(e.getMessage()); + } + } + var code = response.code(); + monitor.severe(format("MIW API returned %s with body: %s", code, body)); + return Result.failure(format("MIW API returned %s", code)); } - private Result baseRequestWithToken() { return oauth2Client.obtainRequestToken() .map(this::baseRequestWithToken); diff --git a/edc-extensions/ssi/ssi-miw-credential-client/src/test/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImplTest.java b/edc-extensions/ssi/ssi-miw-credential-client/src/test/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImplTest.java index 753893be5..ebec7cc35 100644 --- a/edc-extensions/ssi/ssi-miw-credential-client/src/test/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImplTest.java +++ b/edc-extensions/ssi/ssi-miw-credential-client/src/test/java/org/eclipse/tractusx/edc/iam/ssi/miw/api/MiwApiClientImplTest.java @@ -49,21 +49,23 @@ import static org.eclipse.tractusx.edc.iam.ssi.miw.api.MiwApiClientImpl.PRESENTATIONS_VALIDATION_PATH; import static org.eclipse.tractusx.edc.iam.ssi.miw.api.MiwApiClientImpl.VERIFIABLE_CREDENTIALS; import static org.eclipse.tractusx.edc.iam.ssi.miw.api.MiwApiClientImpl.VP_FIELD; +import static org.mockito.ArgumentMatchers.contains; import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class MiwApiClientImplTest { static final String BASE_URL = "http://localhost:8080"; + private final Consumer emptyAcceptor = (r) -> { + }; Interceptor interceptor = mock(Interceptor.class); MiwApiClientImpl client; Monitor monitor = mock(Monitor.class); MiwOauth2Client oauth2Client = mock(MiwOauth2Client.class); ObjectMapper mapper = new ObjectMapper(); - String participantId = "participantId"; - String authorityId = "authorityId"; @BeforeEach @@ -148,13 +150,15 @@ void createPresentation() throws IOException { void createPresentation_fails_whenMiwFails() throws IOException { when(interceptor.intercept(isA(Interceptor.Chain.class))) - .thenAnswer(invocation -> createResponse(500, invocation)); + .thenAnswer(invocation -> createResponse(500, invocation, emptyAcceptor, "Request Failed")); when(oauth2Client.obtainRequestToken()).thenReturn(Result.success(TokenRepresentation.Builder.newInstance().token("testToken").build())); var result = client.createPresentation(List.of(), "audience"); assertThat(result).isNotNull().matches(Result::failed); + + verify(monitor).severe(contains("Request Failed")); } @Test @@ -166,7 +170,7 @@ void createPresentation_fails_whenTokenRequestFails() { assertThat(result).isNotNull().matches(Result::failed); } - + @Test void verifyPresentation() throws IOException { var jwt = "jwt"; diff --git a/gradle.properties b/gradle.properties index dcf58e0ac..b1b8eac68 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ group=org.eclipse.tractusx.edc -version=0.5.0-rc5 +version=0.5.0-test1 # configure the build: annotationProcessorVersion=0.1.3 edcGradlePluginsVersion=0.1.3