Skip to content

Commit

Permalink
update chart "tractusx-connector"
Browse files Browse the repository at this point in the history
  • Loading branch information
paullatzelsperger committed Apr 2, 2024
1 parent 040252c commit 8f7d06c
Show file tree
Hide file tree
Showing 11 changed files with 277 additions and 144 deletions.
81 changes: 39 additions & 42 deletions DEPENDENCIES

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions charts/tractusx-connector/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,12 @@ dependencies:
# HashiCorp Vault
- name: vault
alias: vault
version: 0.20.0
version: "0.20.0"
repository: https://helm.releases.hashicorp.com
condition: install.vault
# PostgreSQL
- name: postgresql
alias: postgresql
version: 12.11.2
version: "15.2.1"
repository: https://charts.bitnami.com/bitnami
condition: install.postgresql
21 changes: 13 additions & 8 deletions charts/tractusx-connector/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,25 +54,25 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.6.0 \

| Repository | Name | Version |
|------------|------|---------|
| https://charts.bitnami.com/bitnami | postgresql(postgresql) | 12.11.2 |
| https://charts.bitnami.com/bitnami | postgresql(postgresql) | 15.2.1 |
| https://helm.releases.hashicorp.com | vault(vault) | 0.20.0 |

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| backendService.httpProxyTokenReceiverUrl | string | `"https://example.com"` | Specifies a backend service which will receive the EDR |
| controlplane.affinity | object | `{}` | |
| controlplane.autoscaling.enabled | bool | `false` | Enables [horizontal pod autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) |
| controlplane.autoscaling.maxReplicas | int | `100` | Maximum replicas if resource consumption exceeds resource threshholds |
| controlplane.autoscaling.minReplicas | int | `1` | Minimal replicas if resource consumption falls below resource threshholds |
| controlplane.autoscaling.targetCPUUtilizationPercentage | int | `80` | targetAverageUtilization of cpu provided to a pod |
| controlplane.autoscaling.targetMemoryUtilizationPercentage | int | `80` | targetAverageUtilization of memory provided to a pod |
| controlplane.bdrs.cache_validity_seconds | int | `600` | |
| controlplane.bdrs.server.url | string | `nil` | |
| controlplane.businessPartnerValidation.log.agreementValidation | bool | `true` | |
| controlplane.debug.enabled | bool | `false` | |
| controlplane.debug.port | int | `1044` | |
| controlplane.debug.suspendOnStart | bool | `false` | |
| controlplane.edr.transferProxyTokenValidity | string | `"2592000"` | |
| controlplane.endpoints | object | `{"control":{"path":"/control","port":8083},"default":{"path":"/api","port":8080},"management":{"authKey":"password","path":"/management","port":8081},"metrics":{"path":"/metrics","port":9090},"protocol":{"path":"/api/v1/dsp","port":8084}}` | endpoints of the control plane |
| controlplane.endpoints.control | object | `{"path":"/control","port":8083}` | control api, used for internal control calls. can be added to the internal ingress, but should probably not |
| controlplane.endpoints.control.path | string | `"/control"` | path for incoming api calls |
Expand Down Expand Up @@ -154,11 +154,6 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.6.0 \
| controlplane.securityContext.runAsUser | int | `10001` | The container's process will run with the specified uid |
| controlplane.service.annotations | object | `{}` | |
| controlplane.service.type | string | `"ClusterIP"` | [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. |
| controlplane.ssi.miw.authorityId | string | `""` | The BPN of the issuer authority |
| controlplane.ssi.miw.url | string | `""` | MIW URL |
| controlplane.ssi.oauth.client.id | string | `""` | The client ID for KeyCloak |
| controlplane.ssi.oauth.client.secretAlias | string | `"client-secret"` | The alias under which the client secret is stored in the vault. |
| controlplane.ssi.oauth.tokenurl | string | `""` | The URL (of KeyCloak), where access tokens can be obtained |
| controlplane.tolerations | list | `[]` | |
| controlplane.url.protocol | string | `""` | Explicitly declared url for reaching the dsp api (e.g. if ingresses not used) |
| controlplane.volumeMounts | string | `nil` | declare where to mount [volumes](https://kubernetes.io/docs/concepts/storage/volumes/) into the container |
Expand Down Expand Up @@ -242,11 +237,21 @@ helm install my-release tractusx-edc/tractusx-connector --version 0.6.0 \
| dataplane.securityContext.runAsUser | int | `10001` | The container's process will run with the specified uid |
| dataplane.service.port | int | `80` | |
| dataplane.service.type | string | `"ClusterIP"` | [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. |
| dataplane.token.refresh.expiry_seconds | int | `300` | |
| dataplane.token.refresh.expiry_tolerance_seconds | int | `10` | |
| dataplane.token.refresh.refresh_endpoint | string | `nil` | |
| dataplane.token.signer.privatekey_alias | string | `nil` | |
| dataplane.token.verifier.publickey_alias | string | `nil` | |
| dataplane.tolerations | list | `[]` | |
| dataplane.url.public | string | `""` | Explicitly declared url for reaching the public api (e.g. if ingresses not used) |
| dataplane.volumeMounts | string | `nil` | declare where to mount [volumes](https://kubernetes.io/docs/concepts/storage/volumes/) into the container |
| dataplane.volumes | string | `nil` | [volume](https://kubernetes.io/docs/concepts/storage/volumes/) directories |
| fullnameOverride | string | `""` | |
| iatp.id | string | `"did:web:changeme"` | |
| iatp.sts.dim.url | string | `nil` | |
| iatp.sts.oauth.client.id | string | `nil` | |
| iatp.sts.oauth.client.secret_alias | string | `nil` | |
| iatp.sts.oauth.token_url | string | `nil` | |
| imagePullSecrets | list | `[]` | Existing image pull secret to use to [obtain the container image from private registries](https://kubernetes.io/docs/concepts/containers/images/#using-a-private-registry) |
| install.postgresql | bool | `true` | |
| install.vault | bool | `true` | |
Expand Down
54 changes: 28 additions & 26 deletions charts/tractusx-connector/templates/deployment-controlplane.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@ spec:
########################
- name: EDC_PARTICIPANT_ID
value: {{ .Values.participant.id | required ".Values.participant.id is required" | quote }}
- name: "EDC_IAM_ISSUER_ID"
value: {{ .Values.iatp.id | required ".Values.iatp.id is required" | quote}}

#######
# API #
Expand Down Expand Up @@ -236,16 +238,6 @@ spec:
- name: "EDC_DATASOURCE_TRANSFERPROCESS_URL"
value: {{ tpl .Values.postgresql.jdbcUrl . | quote }}

# see extension https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/edr-cache-sql
- name: "EDC_DATASOURCE_EDR_NAME"
value: "edr"
- name: "EDC_DATASOURCE_EDR_USER"
value: {{ .Values.postgresql.auth.username | required ".Values.postgresql.auth.username is required" | quote }}
- name: "EDC_DATASOURCE_EDR_PASSWORD"
value: {{ .Values.postgresql.auth.password | required ".Values.postgresql.auth.password is required" | quote }}
- name: "EDC_DATASOURCE_EDR_URL"
value: {{ tpl .Values.postgresql.jdbcUrl . | quote }}

# see extension https://github.com/eclipse-edc/Connector/tree/main/extensions/policy-monitor/store/sql/policy-monitor-store-sql
- name: "EDC_DATASOURCE_POLICY-MONITOR_NAME"
value: "policy-monitor"
Expand All @@ -266,6 +258,32 @@ spec:
- name: "EDC_DATASOURCE_BPN_URL"
value: {{ tpl .Values.postgresql.jdbcUrl . | quote }}


#############################
## IATP / STS / DIM CONFIG ##
#############################
- name: "EDC_IAM_STS_OAUTH_TOKEN_URL"
value: {{ .Values.iatp.sts.oauth.token_url | required ".Values.iatp.oauth.token_url is required" | quote}}
- name: "EDC_IAM_STS_OAUTH_CLIENT_ID"
value: {{ .Values.iatp.sts.oauth.client.id | required ".Values.iatp.sts.oauth.client.id is required" | quote}}
- name: "EDC_IAM_STS_OAUTH_CLIENT_SECRET_ALIAS"
value: {{ .Values.iatp.sts.oauth.client.secret_alias | required ".Values.iatp.sts.oauth.client.secret_alias is required" | quote}}
- name: "EDC_IAM_STS_DIM_URL"
value: {{ .Values.iatp.sts.dim.url | required ".Values.iatp.sts.dim.url is required" | quote}}

#################
## BDRS CLIENT ##
#################

{{- if .Values.controlplane.bdrs.server.url }}
- name: "TX_IAM_IATP_BDRS_SERVER_URL"
value: {{ .Values.controlplane.bdrs.server.url | required ".Values.controlplane.bdrs.server.url is required" | quote }}
{{- end }}
{{- if .Values.controlplane.bdrs.cache_validity_seconds }}
- name: "TX_IAM_IATP_BDRS_CACHE_VALIDITY"
value: {{ .Values.controlplane.bdrs.cache_validity_seconds | quote}}
{{- end}}

################
## DATA PLANE ##
################
Expand All @@ -281,24 +299,8 @@ spec:
value: |-
{{ printf "{ \"publicApiUrl\": \"%s\" }" (include "txdc.dataplane.url.public" . ) }}
# see extension https://github.com/eclipse-edc/Connector/tree/main/extensions/control-plane/data-plane-transfer
- name: "EDC_TRANSFER_PROXY_ENDPOINT"
value: {{ include "txdc.dataplane.url.public" . }}
{{- if .Values.vault.secretNames.transferProxyTokenSignerPrivateKey }}
- name: "EDC_TRANSFER_PROXY_TOKEN_SIGNER_PRIVATEKEY_ALIAS"
value: {{ .Values.vault.secretNames.transferProxyTokenSignerPrivateKey | quote }}
{{- end }}
{{- if .Values.vault.secretNames.transferProxyTokenSignerPublicKey }}
- name: "EDC_TRANSFER_PROXY_TOKEN_VERIFIER_PUBLICKEY_ALIAS"
value: {{ .Values.vault.secretNames.transferProxyTokenSignerPublicKey | quote }}
{{- end }}
- name: "EDC_TRANSFER_PROXY_TOKEN_VALIDITY_SECONDS"
value: {{ .Values.controlplane.edr.transferProxyTokenValidity | required ".Values.controlplane.edr.transferProxyTokenValidity is required" | quote }}
# see extension https://github.com/eclipse-edc/Connector/tree/main/extensions/control-plane/transfer/transfer-pull-http-dynamic-receiver
- name: "EDC_RECEIVER_HTTP_DYNAMIC_ENDPOINT"
value: {{ .Values.backendService.httpProxyTokenReceiverUrl | required ".Values.backendService.httpProxyTokenReceiverUrl is required" | quote }}
###########
## VAULT ##
Expand Down
101 changes: 67 additions & 34 deletions charts/tractusx-connector/templates/deployment-dataplane.yaml
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
#################################################################################
# Copyright (c) 2023 ZF Friedrichshafen AG
# Copyright (c) 2023 Mercedes-Benz Tech Innovation GmbH
# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
# Copyright (c) 2021,2023 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License, Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0.
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# SPDX-License-Identifier: Apache-2.0
#################################################################################
# Copyright (c) 2023 ZF Friedrichshafen AG
# Copyright (c) 2023 Mercedes-Benz Tech Innovation GmbH
# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
# Copyright (c) 2021,2023 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License, Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0.
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# SPDX-License-Identifier: Apache-2.0
#################################################################################


---
Expand Down Expand Up @@ -145,6 +145,8 @@ spec:
########################
- name: EDC_PARTICIPANT_ID
value: {{ .Values.participant.id | required ".Values.participant.id is required" | quote }}
- name: "EDC_IAM_ISSUER_ID"
value: {{ .Values.iatp.id | required ".Values.iatp.id is required" | quote}}

#######
# API #
Expand Down Expand Up @@ -182,20 +184,6 @@ spec:
value: {{ .Values.dataplane.aws.accessKeyId | quote }}
{{- end }}

###############
## EDR CACHE ##
###############

# see extension https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/edr-cache-sql
- name: "EDC_DATASOURCE_EDR_NAME"
value: "edr"
- name: "EDC_DATASOURCE_EDR_USER"
value: {{ .Values.postgresql.auth.username | required ".Values.postgresql.auth.username is required" | quote }}
- name: "EDC_DATASOURCE_EDR_PASSWORD"
value: {{ .Values.postgresql.auth.password | required ".Values.postgresql.auth.password is required" | quote }}
- name: "EDC_DATASOURCE_EDR_URL"
value: {{ tpl .Values.postgresql.jdbcUrl . | quote }}

###########
## VAULT ##
###########
Expand All @@ -216,6 +204,51 @@ spec:
- name: "EDC_VAULT_HASHICORP_API_HEALTH_CHECK_PATH"
value: {{ .Values.vault.hashicorp.paths.health | quote }}

#############################
## IATP / STS / DIM CONFIG ##
#############################
- name: "EDC_IAM_STS_OAUTH_TOKEN_URL"
value: {{ .Values.iatp.sts.oauth.token_url | required ".Values.iatp.oauth.token_url is required" | quote}}
- name: "EDC_IAM_STS_OAUTH_CLIENT_ID"
value: {{ .Values.iatp.sts.oauth.client.id | required ".Values.iatp.sts.oauth.client.id is required" | quote}}
- name: "EDC_IAM_STS_OAUTH_CLIENT_SECRET_ALIAS"
value: {{ .Values.iatp.sts.oauth.client.secret_alias | required ".Values.iatp.sts.oauth.client.secret_alias is required" | quote}}
- name: "EDC_IAM_STS_DIM_URL"
value: {{ .Values.iatp.sts.dim.url | required ".Values.iatp.sts.dim.url is required" | quote}}


#########################
## DATA PLANE PUBLIC API
########################
# Public API endpoint base URL
- name: "EDC_DATAPLANE_API_PUBLIC_BASEURL"
value: {{ include "txdc.dataplane.url.public" . }}


##################
## TOKEN REFRESH
##################
{{- if .Values.dataplane.token.refresh.expiry_seconds }}
- name: "EDC_DATAPLANE_TOKEN_EXPIRY"
value: {{ .Values.dataplane.token.refresh.expiry_seconds | quote}}
{{- end}}

{{- if .Values.dataplane.token.refresh.expiry_tolerance_seconds }}
- name: "EDC_DATAPLANE_TOKEN_EXPIRY_TOLERANCE"
value: {{ .Values.dataplane.token.refresh.expiry_tolerance_seconds | quote }}
{{- end}}

{{- if .Values.dataplane.token.refresh.refresh_endpoint }}
- name: "EDC_DATAPLANE_TOKEN_REFRESH_ENDPOINT"
value: {{ .Values.dataplane.token.refresh.refresh_endpoint }}
{{- end}}

- name: "EDC_TRANSFER_PROXY_TOKEN_SIGNER_PRIVATEKEY_ALIAS"
value: {{ .Values.dataplane.token.signer.privatekey_alias | required ".Values.dataplane.token.signer.privatekey_alias is required" | quote}}

- name: "EDC_TRANSFER_PROXY_TOKEN_VERIFIER_PUBLICKEY_ALIAS"
value: {{ .Values.dataplane.token.verifier.publickey_alias | required ".Values.dataplane.token.verifier.publickey_alias" | quote }}

######################################
## Additional environment variables ##
######################################
Expand Down
55 changes: 35 additions & 20 deletions charts/tractusx-connector/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,20 @@ participant:
# -- BPN Number
id: "BPNLCHANGEME"


iatp:
# Decentralized IDentifier
id: "did:web:changeme"
sts:
dim:
url:
oauth:
token_url:
client:
id:
secret_alias:


controlplane:
image:
# -- Which derivate of the control plane to use. when left empty the deployment will select the correct image automatically
Expand Down Expand Up @@ -117,23 +131,13 @@ controlplane:
businessPartnerValidation:
log:
agreementValidation: true
edr:
transferProxyTokenValidity: "2592000"
# SSI configuration
ssi:
miw:
# -- MIW URL
url: ""
# -- The BPN of the issuer authority
authorityId: ""
oauth:
# -- The URL (of KeyCloak), where access tokens can be obtained
tokenurl: ""
client:
# -- The client ID for KeyCloak
id: ""
# -- The alias under which the client secret is stored in the vault.
secretAlias: "client-secret"

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:

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.
Expand Down Expand Up @@ -357,6 +361,20 @@ dataplane:
metrics:
port: 9090
path: /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:
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:

aws:
endpointOverride: ""
accessKeyId: ""
Expand Down Expand Up @@ -525,9 +543,6 @@ vault:
transferProxyTokenSignerPrivateKey:
transferProxyTokenSignerPublicKey:
transferProxyTokenEncryptionAesKey: transfer-proxy-token-encryption-aes-key
backendService:
# -- Specifies a backend service which will receive the EDR
httpProxyTokenReceiverUrl: "https://example.com"

networkPolicy:
# -- If `true` network policy will be created to restrict access to control- and dataplane
Expand Down
Loading

0 comments on commit 8f7d06c

Please sign in to comment.