Skip to content

Commit 5e33163

Browse files
authored
Merge pull request #44 from FIWARE/tpp-integration
Support for did:elsi
2 parents 3131179 + 6d4d73c commit 5e33163

File tree

10 files changed

+1023
-6
lines changed

10 files changed

+1023
-6
lines changed

charts/data-space-connector/Chart.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v2
22
name: data-space-connector
33
description: Umbrella Chart for the FIWARE Data Space Connector, combining all essential parts to be used by a participant.
44
type: application
5-
version: 7.17.2
5+
version: 7.22.0
66
dependencies:
77
- name: postgresql
88
condition: postgresql.enabled
@@ -11,7 +11,7 @@ dependencies:
1111
# authentication
1212
- name: vcverifier
1313
condition: vcverifier.enabled
14-
version: 2.9.2
14+
version: 2.11.0
1515
repository: https://fiware.github.io/helm-charts
1616
- name: credentials-config-service
1717
condition: credentials-config-service.enabled
@@ -25,6 +25,11 @@ dependencies:
2525
condition: mysql.enabled
2626
version: 9.4.4
2727
repository: https://charts.bitnami.com/bitnami
28+
- name: dss-validation-service
29+
alias: dss
30+
condition: dss.enabled
31+
version: 0.0.14
32+
repository: https://fiware.github.io/helm-charts
2833
# authorization
2934
- name: odrl-pap
3035
condition: odrl-pap.enabled
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{{- if eq .Values.dss.crl.enabled true }}
2+
apiVersion: v1
3+
kind: Secret
4+
metadata:
5+
name: crl-provider
6+
namespace: {{ $.Release.Namespace | quote }}
7+
labels:
8+
{{ include "dsc.labels" . | nindent 4 }}
9+
data:
10+
{{- toYaml .Values.dss.crl.secret | nindent 2 }}
11+
{{- end }}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{{- if .Values.elsi.keystore }}
2+
apiVersion: v1
3+
kind: Secret
4+
metadata:
5+
name: elsi-secret
6+
namespace: {{ $.Release.Namespace | quote }}
7+
labels:
8+
{{ include "dsc.labels" . | nindent 4 }}
9+
data:
10+
{{- toYaml .Values.elsi.keystore | nindent 2 }}
11+
{{- end }}

charts/data-space-connector/templates/realm.yaml

Lines changed: 87 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,13 @@ data:
1616
"enabled": true,
1717
"attributes": {
1818
"frontendUrl": "{{ .Values.keycloak.realm.frontendUrl }}",
19+
{{- if eq .Values.elsi.enabled true }}
20+
"issuerDid": {{ .Values.elsi.did | quote }}
21+
{{- else if .Values.keycloak.signingKey }}
22+
"issuerDid": {{ .Values.keycloak.signingKey.did | quote }}
23+
{{- else }}
1924
"issuerDid": "${DID}"
25+
{{- end }}
2026
},
2127
"sslRequired": "none",
2228
"roles": {
@@ -103,24 +109,103 @@ data:
103109
{
104110
"id": "jwt-signing",
105111
"name": "jwt-signing-service",
106-
"providerId": "jwt_vc",
112+
"providerId": "jades-jws-signing",
107113
"subComponents": {},
108114
"config": {
109115
"keyId": [
116+
{{- if eq .Values.elsi.enabled true }}
117+
{{ .Values.elsi.did | quote }}
118+
{{- else if .Values.keycloak.signingKey }}
119+
{{ .Values.keycloak.signingKey.did | quote }}
120+
{{- else }}
110121
"${DID}"
122+
{{- end }}
111123
],
112124
"algorithmType": [
125+
{{- if eq .Values.elsi.enabled true }}
126+
{{ .Values.elsi.keyAlgorithm | quote }}
127+
{{- else if .Values.keycloak.signingKey }}
128+
{{ .Values.keycloak.signingKey.keyAlgorithm | quote }}
129+
{{- else }}
113130
"ES256"
131+
{{- end }}
114132
],
115133
"issuerDid": [
134+
{{- if eq .Values.elsi.enabled true }}
135+
{{ .Values.elsi.did | quote }}
136+
{{- else if .Values.keycloak.signingKey }}
137+
{{ .Values.keycloak.signingKey.did | quote }}
138+
{{- else }}
116139
"${DID}"
140+
{{- end }}
117141
],
118142
"tokenType": [
119143
"JWT"
120144
]
121145
}
122146
}
123147
],
148+
{{- if eq .Values.elsi.enabled true }}
149+
"org.keycloak.keys.KeyProvider": [
150+
{
151+
"id": "a4589e8f-7f82-4345-b2ea-ccc9d4366600",
152+
"name": {{ .Values.elsi.keyAlias | quote }},
153+
"providerId": "java-keystore",
154+
"subComponents": {},
155+
"config": {
156+
"keystore": [ {{ .Values.elsi.storePath | quote }} ],
157+
"keystorePassword": [ {{ .Values.elsi.storePassword | quote }} ],
158+
"keyAlias": [ {{ .Values.elsi.keyAlias | quote }} ],
159+
"keyPassword": [ {{ .Values.elsi.keyPassword | quote }} ],
160+
"kid": [ {{ .Values.elsi.did | quote }} ],
161+
"active": [
162+
"true"
163+
],
164+
"priority": [
165+
"0"
166+
],
167+
"enabled": [
168+
"true"
169+
],
170+
"algorithm": [
171+
{{ .Values.elsi.keyAlgorithm | quote }}
172+
]
173+
}
174+
}
175+
]
176+
{{- else if .Values.keycloak.signingKey }}
177+
"org.keycloak.keys.KeyProvider": [
178+
{
179+
"id": "a4589e8f-7f82-4345-b2ea-ccc9d4366600",
180+
"name": "signing-key",
181+
"providerId": "java-keystore",
182+
"subComponents": {},
183+
"config": {
184+
"keystore": [ {{ .Values.keycloak.signingKey.storePath | quote }} ],
185+
"keystorePassword": [ {{ .Values.keycloak.signingKey.storePassword | quote }} ],
186+
"keyAlias": [ {{ .Values.keycloak.signingKey.keyAlias | quote }} ],
187+
"keyPassword": [ {{ .Values.keycloak.signingKey.keyPassword | quote }} ],
188+
{{- if .Values.keycloak.signingKey.did }}
189+
"kid": [ {{ .Values.keycloak.signingKey.did | quote }} ],
190+
{{- else }}
191+
"kid": [ "${DID}" ],
192+
{{- end }}
193+
"active": [
194+
"true"
195+
],
196+
"priority": [
197+
"0"
198+
],
199+
"enabled": [
200+
"true"
201+
],
202+
"algorithm": [
203+
{{ .Values.keycloak.signingKey.keyAlgorithm | quote }}
204+
]
205+
}
206+
}
207+
]
208+
{{ else }}
124209
"org.keycloak.keys.KeyProvider": [
125210
{
126211
"id": "a4589e8f-7f82-4345-b2ea-ccc9d4366600",
@@ -148,6 +233,7 @@ data:
148233
}
149234
}
150235
]
236+
{{- end }}
151237
}
152238
}
153239

charts/data-space-connector/values.yaml

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,18 @@ vcverifier:
7171
# -- we do not need authentication here
7272
authEnabled: false
7373

74+
# -- configuration for the digital-signature.service to be deployed as part of the connector in case of did:elsi support
75+
dss:
76+
# -- should it be enabled?
77+
enabled: false
78+
# -- allows to set a fixed name for the services
79+
fullnameOverride: dss
80+
# -- can be used to provide the crl for ca's provided as truststore to the dss
81+
crl:
82+
# -- should it be enabled?
83+
enabled: false
84+
85+
7486
# -- configuration for the credentials-config-service to be deployed as part of the connector, see https://github.com/FIWARE/helm-charts/tree/main/charts/credentials-config-service for all options
7587
credentials-config-service:
7688
# -- should it be enabled? set to false if one outside the chart is used.
@@ -162,7 +174,7 @@ opa:
162174
data:
163175
minDelay: 1
164176
maxDelay: 15
165-
177+
166178
# -- configuration for apisix to be deployed as part of the connector, see https://github.com/bitnami/charts/tree/main/bitnami/apisix for all options
167179
apisix:
168180
# -- should it be enabled? set to false if one outside the chart is used.
@@ -369,6 +381,26 @@ scorpio:
369381
name: scorpio-registration
370382
defaultMode: 0755
371383

384+
# -- configuration to issue credentials, using a did:elsi
385+
elsi:
386+
# -- should a did:elsi be used
387+
enabled: false
388+
# -- keystore to be used for signing the credentials
389+
# keystore:
390+
# store.p12: <THE_ENCODED_CONTENT>
391+
# -- the did to be used
392+
did:
393+
# -- algorithm of the signing key
394+
keyAlgorithm:
395+
# -- path to the keystore
396+
storePath:
397+
# -- password for the keystore
398+
storePassword:
399+
# -- alias of the key
400+
keyAlias:
401+
# -- password of the key
402+
keyPassword:
403+
372404
## configuration of the keycloak - see https://github.com/bitnami/charts/tree/main/bitnami/keycloak for details
373405
keycloak:
374406
# -- should it be enabled? set to false if one outside the chart is used.
@@ -542,7 +574,20 @@ keycloak:
542574
"defaultClientScopes": [],
543575
"optionalClientScopes": []
544576
}
545-
577+
# -- configuration for the signing key to be used for issuing credentials
578+
# signingKey:
579+
# -- path to the keystore containing the signing key
580+
# storePath:
581+
# -- password for the keystore containing the signing key
582+
# storePassword:
583+
# -- alias of the signing key
584+
# keyAlias:
585+
# -- password of the signing key
586+
# keyPassword:
587+
# -- algorithm of the signing key
588+
# keyAlgorithm:
589+
# -- did that the key belongs to
590+
# did:
546591

547592
## configuration of the tm-forum-api - see https://github.com/FIWARE/helm-charts/tree/main/charts/tm-forum-api for details
548593
tm-forum-api:

0 commit comments

Comments
 (0)