Skip to content

Commit 90dea54

Browse files
Merge pull request #37 from catenax-ng/feature/CXAR-921-agent-plane-qg5
chore: provide enough documentation and config to allow for a simple chart test
2 parents b255fd1 + ae0b21d commit 90dea54

23 files changed

+329
-48
lines changed

DEPENDENCIES

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,8 @@ maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.15, EPL-2.0 OR Apache-2.
213213
maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty
214214
maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty
215215
maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.15, EPL-2.0 OR Apache-2.0, approved, rt.jetty
216-
maven/mavencentral/org.eclipse.tractusx.agents.edc.agent-plane/agent-plane-protocol/1.9.5-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
217-
maven/mavencentral/org.eclipse.tractusx.edc/auth-jwt/1.9.5-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
216+
maven/mavencentral/org.eclipse.tractusx.agents.edc.agent-plane/agent-plane-protocol/1.9.5-20230831.070321-5, Apache-2.0, approved, automotive.tractusx
217+
maven/mavencentral/org.eclipse.tractusx.edc/auth-jwt/1.9.5-20230831.070252-7, Apache-2.0, approved, automotive.tractusx
218218
maven/mavencentral/org.eclipse.tractusx.edc/core-spi/0.5.0, Apache-2.0, approved, automotive.tractusx
219219
maven/mavencentral/org.eclipse.tractusx.edc/edc-dataplane-azure-vault/0.5.0, Apache-2.0, approved, automotive.tractusx
220220
maven/mavencentral/org.eclipse.tractusx.edc/edc-dataplane-base/0.5.0, Apache-2.0, approved, automotive.tractusx

charts/agent-connector-azure-vault/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ type: application
4242
# This is the chart version. This version number should be incremented each time you make changes
4343
# to the chart and its templates, including the app version.
4444
# Versions are expected to follow Semantic Versioning (https://semver.org/)
45-
version: 1.9.7-SNAPSHOT
45+
version: 1.9.8-SNAPSHOT
4646
# This is the version number of the application being deployed. This version number should be
4747
# incremented each time you make changes to the application. Versions are not expected to
4848
# follow Semantic Versioning. They should reflect the version the application is using.

charts/agent-connector-azure-vault/README.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
# agent-connector-azure-vault
2222

23-
![Version: 1.9.7-SNAPSHOT](https://img.shields.io/badge/Version-1.9.7--SNAPSHOT-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.9.5-SNAPSHOT](https://img.shields.io/badge/AppVersion-1.9.5--SNAPSHOT-informational?style=flat-square)
23+
![Version: 1.9.8-SNAPSHOT](https://img.shields.io/badge/Version-1.9.8--SNAPSHOT-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.9.5-SNAPSHOT](https://img.shields.io/badge/AppVersion-1.9.5--SNAPSHOT-informational?style=flat-square)
2424

2525
A Helm chart for an Agent-Enabled Tractus-X Eclipse Data Space Connector configured against Azure Vault. This is a variant of [the Tractus-X Azure Vault Connector Helm Chart](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector-azure-vault) which allows
2626
to deal with several data (and agent) planes. The connector deployment consists of at least two runtime consists of a
@@ -46,6 +46,15 @@ You should set your BPNL in the folloing property:
4646
- 'vault.azure.tenant': Id of the subscription that the vault runs into
4747
- 'vault.azure.secret' or 'vault.azure.certificate': the secret/credential to use when interacting with Azure Vault
4848

49+
### Setting up the transfer token encryption
50+
51+
Transfer tokens handed out from the provider to the consumer should be signed and encrypted. For that purpose
52+
you should setup a private/public certificate as well as a symmetric AES key.
53+
54+
- 'vault.secretNames.transferProxyTokenSignerPrivateKey':
55+
- 'vault.secretNames.transferProxyTokenSignerPublicKey':
56+
- 'vault.secretNames.transferProxyTokenEncryptionAesKey':
57+
4958
## Setting up SSI
5059

5160
### Preconditions
@@ -103,7 +112,7 @@ Combined, run this shell command to start the in-memory Tractus-X EDC runtime:
103112

104113
```shell
105114
helm repo add eclipse-tractusx https://eclipse-tractusx.github.io/charts/dev
106-
helm install my-release eclipse-tractusx/agent-connector-azure-vault --version 1.9.7-SNAPSHOT\
115+
helm install my-release eclipse-tractusx/agent-connector-azure-vault --version 1.9.8-SNAPSHOT\
107116
-f <path-to>/tractusx-connector-azure-vault-test.yaml \
108117
--set vault.azure.name=$AZURE_VAULT_NAME \
109118
--set vault.azure.client=$AZURE_CLIENT_ID \
@@ -222,7 +231,7 @@ helm install my-release eclipse-tractusx/agent-connector-azure-vault --version 1
222231
| controlplane.ssi.miw.authorityId | string | `""` | The BPN of the issuer authority |
223232
| controlplane.ssi.miw.url | string | `""` | MIW URL |
224233
| controlplane.ssi.oauth.client.id | string | `""` | The client ID for KeyCloak |
225-
| controlplane.ssi.oauth.client.secretAlias | string | `"client-secret"` | The alias under which the client secret is stored in the vault. |
234+
| controlplane.ssi.oauth.client.secretAlias | string | `""` | The alias under which the client secret is stored in the vault. |
226235
| controlplane.ssi.oauth.tokenurl | string | `""` | The URL (of KeyCloak), where access tokens can be obtained |
227236
| controlplane.tolerations | list | `[]` | |
228237
| controlplane.url.protocol | string | `""` | Explicitly declared url for reaching the dsp api (e.g. if ingresses not used) |
@@ -344,7 +353,7 @@ helm install my-release eclipse-tractusx/agent-connector-azure-vault --version 1
344353
| networkPolicy.dataplane.from | list | `[{"namespaceSelector":{}}]` | Specify from rule network policy for dp (defaults to all namespaces) |
345354
| networkPolicy.enabled | bool | `false` | If `true` network policy will be created to restrict access to control- and dataplane |
346355
| participant.id | string | `""` | BPN Number |
347-
| postgresql | object | `{"auth":{"database":"edc","password":"password","username":"user"},"jdbcUrl":"jdbc:postgresql://postgresql:5432/edc","primary":{"persistence":{"enabled":false}},"readReplicas":{"persistence":{"enabled":false}}}` | Standard settings for persistence, "jdbcUrl", "username" and "password" need to be overridden |
356+
| postgresql | object | `{"auth":{"database":"edc","password":"password","username":"user"},"jdbcUrl":"jdbc:postgresql://{{ .Release.Name }}-postgresql:5432/edc","primary":{"persistence":{"enabled":false}},"readReplicas":{"persistence":{"enabled":false}}}` | Standard settings for persistence, "jdbcUrl", "username" and "password" need to be overridden |
348357
| serviceAccount.annotations | object | `{}` | |
349358
| serviceAccount.create | bool | `true` | |
350359
| serviceAccount.imagePullSecrets | list | `[]` | Existing image pull secret bound to the service account to use to [obtain the container image from private registries](https://kubernetes.io/docs/concepts/containers/images/#using-a-private-registry) |
@@ -356,7 +365,7 @@ helm install my-release eclipse-tractusx/agent-connector-azure-vault --version 1
356365
| vault.azure.name | string | `""` | |
357366
| vault.azure.secret | string | `nil` | |
358367
| vault.azure.tenant | string | `""` | |
359-
| vault.secretNames.transferProxyTokenEncryptionAesKey | string | `"transfer-proxy-token-encryption-aes-key"` | |
368+
| vault.secretNames.transferProxyTokenEncryptionAesKey | string | `nil` | |
360369
| vault.secretNames.transferProxyTokenSignerPrivateKey | string | `nil` | |
361370
| vault.secretNames.transferProxyTokenSignerPublicKey | string | `nil` | |
362371

charts/agent-connector-azure-vault/README.md.gotmpl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ You should set your BPNL in the folloing property:
4444
- 'vault.azure.tenant': Id of the subscription that the vault runs into
4545
- 'vault.azure.secret' or 'vault.azure.certificate': the secret/credential to use when interacting with Azure Vault
4646

47+
### Setting up the transfer token encryption
48+
49+
Transfer tokens handed out from the provider to the consumer should be signed and encrypted. For that purpose
50+
you should setup a private/public certificate as well as a symmetric AES key.
51+
52+
- 'vault.secretNames.transferProxyTokenSignerPrivateKey':
53+
- 'vault.secretNames.transferProxyTokenSignerPublicKey':
54+
- 'vault.secretNames.transferProxyTokenEncryptionAesKey':
55+
4756
## Setting up SSI
4857

4958
### Preconditions
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#
2+
# Copyright (c) 2023 T-Systems International GmbH
3+
# Copyright (c) 2023 ZF Friedrichshafen AG
4+
# Copyright (c) 2023 Mercedes-Benz Tech Innovation GmbH
5+
# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
6+
# Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation
7+
#
8+
# See the NOTICE file(s) distributed with this work for additional
9+
# information regarding copyright ownership.
10+
#
11+
# This program and the accompanying materials are made available under the
12+
# terms of the Apache License, Version 2.0 which is available at
13+
# https://www.apache.org/licenses/LICENSE-2.0
14+
#
15+
# Unless required by applicable law or agreed to in writing, software
16+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18+
# License for the specific language governing permissions and limitations
19+
# under the License.
20+
#
21+
# SPDX-License-Identifier: Apache-2.0
22+
#
23+
24+
install:
25+
postgresql: true
26+
27+
controlplane:
28+
endpoints:
29+
management:
30+
authKey: "bla"
31+
ssi:
32+
miw:
33+
url: "https://managed-identity-wallets.int"
34+
authorityId: "BPNL0000000DUMMY"
35+
oauth:
36+
tokenurl: "https://keycloak/auth/realms/REALM/protocol/openid-connect/token"
37+
client:
38+
id: "serviceaccount"
39+
secretAlias: "miw-secret"
40+
41+
vault:
42+
azure:
43+
name: "AZURE_NAME"
44+
tenant: "AZURE_TENANT"
45+
client: "AZURE_CLIENT"
46+
secret: "AZURE_SECRET"
47+
hashicorp:
48+
url: "https://vault.demo"
49+
token: "VAULT_TOKEN"
50+
paths:
51+
secret: "/v1/secrets"
52+
secretNames:
53+
transferProxyTokenSignerPrivateKey: "key"
54+
transferProxyTokenSignerPublicKey: "cert"
55+
transferProxyTokenEncryptionAesKey: "symmetric-key"
56+
participant:
57+
id: "BPNL0000000DUMMY"

charts/agent-connector-azure-vault/templates/deployment-controlplane.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ spec:
176176
- name: "EDC_DATASOURCE_ASSET_PASSWORD"
177177
value: {{ .Values.postgresql.auth.password | required ".Values.postgresql.auth.password is required" | quote }}
178178
- name: "EDC_DATASOURCE_ASSET_URL"
179-
value: {{ .Values.postgresql.jdbcUrl | quote }}
179+
value: {{ tpl .Values.postgresql.jdbcUrl . | quote }}
180180

181181
# see extension https://github.com/eclipse-edc/Connector/tree/main/extensions/control-plane/store/sql/contract-definition-store-sql
182182
- name: "EDC_DATASOURCE_CONTRACTDEFINITION_NAME"

charts/agent-connector-azure-vault/templates/tests/test-dataplane-readiness.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
{{- $root := . -}}
2020
{{- $allcommands := (dict "commands" (list)) -}}
2121
{{- range $dataplane_name, $dataplane := .Values.dataplanes -}}
22-
{{- printf "curl http://%s-%s:%v%s/check/readiness" $dataplane.name (include "txdc.fullname" $root ) $dataplane.endpoints.default.port $dataplane.endpoints.default.path | append $allcommands.commands | set $allcommands "commands" -}}
22+
{{- printf "curl http://%s-%s:%v%s/check/readiness" (include "txdc.fullname" $root ) $dataplane.name $dataplane.endpoints.default.port $dataplane.endpoints.default.path | append $allcommands.commands | set $allcommands "commands" -}}
2323
{{- end }}
2424

2525
---
@@ -36,6 +36,6 @@ spec:
3636
containers:
3737
- name: wget
3838
image: curlimages/curl
39-
command: [ '/bin/bash','-c' ]
39+
command: [ '/bin/sh','-c' ]
4040
args: [ {{ join "&&" $allcommands.commands | quote }} ]
4141
restartPolicy: Never

charts/agent-connector-azure-vault/values.yaml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ controlplane:
134134
# -- The client ID for KeyCloak
135135
id: ""
136136
# -- The alias under which the client secret is stored in the vault.
137-
secretAlias: "client-secret"
137+
secretAlias: ""
138138

139139
service:
140140
# -- [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.
@@ -561,7 +561,7 @@ dataplanes:
561561

562562
# -- Standard settings for persistence, "jdbcUrl", "username" and "password" need to be overridden
563563
postgresql:
564-
jdbcUrl: "jdbc:postgresql://postgresql:5432/edc"
564+
jdbcUrl: "jdbc:postgresql://{{ .Release.Name }}-postgresql:5432/edc"
565565
primary:
566566
persistence:
567567
enabled: false
@@ -579,11 +579,10 @@ vault:
579579
tenant: ""
580580
secret:
581581
certificate:
582-
583582
secretNames:
584583
transferProxyTokenSignerPrivateKey:
585584
transferProxyTokenSignerPublicKey:
586-
transferProxyTokenEncryptionAesKey: transfer-proxy-token-encryption-aes-key
585+
transferProxyTokenEncryptionAesKey:
587586

588587
backendService:
589588
httpProxyTokenReceiverUrl: ""

charts/agent-connector-memory/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ type: application
4242
# This is the chart version. This version number should be incremented each time you make changes
4343
# to the chart and its templates, including the app version.
4444
# Versions are expected to follow Semantic Versioning (https://semver.org/)
45-
version: 1.9.7-SNAPSHOT
45+
version: 1.9.8-SNAPSHOT
4646
# This is the version number of the application being deployed. This version number should be
4747
# incremented each time you make changes to the application. Versions are not expected to
4848
# follow Semantic Versioning. They should reflect the version the application is using.

charts/agent-connector-memory/README.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
# agent-connector-memory
2222

23-
![Version: 1.9.7-SNAPSHOT](https://img.shields.io/badge/Version-1.9.7--SNAPSHOT-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.9.5-SNAPSHOT](https://img.shields.io/badge/AppVersion-1.9.5--SNAPSHOT-informational?style=flat-square)
23+
![Version: 1.9.8-SNAPSHOT](https://img.shields.io/badge/Version-1.9.8--SNAPSHOT-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.9.5-SNAPSHOT](https://img.shields.io/badge/AppVersion-1.9.5--SNAPSHOT-informational?style=flat-square)
2424

2525
A Helm chart for an Agent-Enabled Tractus-X Eclipse Data Space Connector using In-Memory Persistence. This is a variant of [the Tractus-X In-Memory Connector Helm Chart](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector-memory) which allows
2626
to deal with several data (and agent) planes. The connector deployment consists of at least two runtime consists of a
@@ -40,9 +40,19 @@ You should set your BPNL in the folloing property:
4040

4141
## Setting up Hashicorp Vault
4242

43-
You should set your BPNL in the folloing property:
43+
You should set configure access to required secrets as follows:
4444
- 'vault.hashicorp.url': URL of the vault API
4545
- 'vault.hashicorp.token': A valid, generated access token.
46+
- 'vault.hashicorp.paths.secret': Api path to the folder hosting the secrets (usually prepended with /v1)
47+
48+
### Setting up the transfer token encryption
49+
50+
Transfer tokens handed out from the provider to the consumer should be signed and encrypted. For that purpose
51+
you should setup a private/public certificate as well as a symmetric AES key.
52+
53+
- 'vault.secretNames.transferProxyTokenSignerPrivateKey':
54+
- 'vault.secretNames.transferProxyTokenSignerPublicKey':
55+
- 'vault.secretNames.transferProxyTokenEncryptionAesKey':
4656

4757
## Setting up SSI
4858

@@ -98,7 +108,7 @@ Combined, run this shell command to start the in-memory Tractus-X EDC runtime:
98108

99109
```shell
100110
helm repo add eclipse-tractusx https://eclipse-tractusx.github.io/charts/dev
101-
helm install my-release eclipse-tractusx/agent-connector --version 1.9.7-SNAPSHOT
111+
helm install my-release eclipse-tractusx/agent-connector --version 1.9.8-SNAPSHOT
102112
```
103113

104114
## Maintainers
@@ -212,7 +222,7 @@ helm install my-release eclipse-tractusx/agent-connector --version 1.9.7-SNAPSHO
212222
| controlplane.ssi.miw.authorityId | string | `""` | The BPN of the issuer authority |
213223
| controlplane.ssi.miw.url | string | `""` | MIW URL |
214224
| controlplane.ssi.oauth.client.id | string | `""` | The client ID for KeyCloak |
215-
| controlplane.ssi.oauth.client.secretAlias | string | `"client-secret"` | The alias under which the client secret is stored in the vault. |
225+
| controlplane.ssi.oauth.client.secretAlias | string | `""` | The alias under which the client secret is stored in the vault. |
216226
| controlplane.ssi.oauth.tokenurl | string | `""` | The URL (of KeyCloak), where access tokens can be obtained |
217227
| controlplane.tolerations | list | `[]` | |
218228
| controlplane.url.protocol | string | `""` | Explicitly declared url for reaching the dsp api (e.g. if ingresses not used) |
@@ -340,7 +350,14 @@ helm install my-release eclipse-tractusx/agent-connector --version 1.9.7-SNAPSHO
340350
| serviceAccount.name | string | `""` | |
341351
| tests | object | `{"hookDeletePolicy":"before-hook-creation,hook-succeeded"}` | Configurations for Helm tests |
342352
| tests.hookDeletePolicy | string | `"before-hook-creation,hook-succeeded"` | Configure the hook-delete-policy for Helm tests |
343-
| vault | object | `{"hashicorp":{"healthCheck":{"enabled":true,"standbyOk":true},"paths":{"health":"/v1/sys/health","secret":"/v1/secret"},"timeout":30,"token":"","url":"http://{{ .Release.Name }}-vault:8200"},"injector":{"enabled":false},"secretNames":{"transferProxyTokenEncryptionAesKey":"transfer-proxy-token-encryption-aes-key","transferProxyTokenSignerPrivateKey":null,"transferProxyTokenSignerPublicKey":null},"server":{"dev":{"devRootToken":"root","enabled":true},"postStart":null}}` | Standard settings for persistence, "jdbcUrl", "username" and "password" need to be overridden |
353+
| vault | object | `{"hashicorp":{"healthCheck":{"enabled":true,"standbyOk":true},"paths":{"health":"/v1/sys/health","secret":"/v1/secret"},"timeout":30,"token":"","url":"http://{{ .Release.Name }}-vault:8200"},"injector":{"enabled":false},"secretNames":{"transferProxyTokenEncryptionAesKey":null,"transferProxyTokenSignerPrivateKey":null,"transferProxyTokenSignerPublicKey":null},"server":{"dev":{"devRootToken":"root","enabled":true},"postStart":null}}` | Standard settings for persistence, "jdbcUrl", "username" and "password" need to be overridden |
354+
| vault.hashicorp.paths.health | string | `"/v1/sys/health"` | Default health api |
355+
| vault.hashicorp.paths.secret | string | `"/v1/secret"` | Path to secrets needs to be changed if install.vault=false |
356+
| vault.hashicorp.token | string | `""` | Access token to the vault service needs to be changed if install.vault=false |
357+
| vault.hashicorp.url | string | `"http://{{ .Release.Name }}-vault:8200"` | URL to the vault service, needs to be changed if install.vault=false |
358+
| vault.secretNames.transferProxyTokenEncryptionAesKey | string | `nil` | encrypt handed out tokens with this symmetric key |
359+
| vault.secretNames.transferProxyTokenSignerPrivateKey | string | `nil` | sign handed out tokens with this key |
360+
| vault.secretNames.transferProxyTokenSignerPublicKey | string | `nil` | sign handed out tokens with this certificate |
344361

345362
----------------------------------------------
346363
Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0)

0 commit comments

Comments
 (0)