@eudiplo/cli 7.2.0 → 7.3.0-main.b8ff00a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/README.md +88 -24
  2. package/dist/commands/commands/index.d.ts +4 -0
  3. package/dist/commands/commands/index.d.ts.map +1 -0
  4. package/dist/commands/commands/index.js +13 -0
  5. package/dist/commands/commands/index.js.map +1 -0
  6. package/dist/commands/commands/render.d.ts +4 -0
  7. package/dist/commands/commands/render.d.ts.map +1 -0
  8. package/dist/commands/commands/render.js +52 -0
  9. package/dist/commands/commands/render.js.map +1 -0
  10. package/dist/commands/completion/action.d.ts +6 -0
  11. package/dist/commands/completion/action.d.ts.map +1 -0
  12. package/dist/commands/completion/action.js +133 -0
  13. package/dist/commands/completion/action.js.map +1 -0
  14. package/dist/commands/completion/index.d.ts +6 -0
  15. package/dist/commands/completion/index.d.ts.map +1 -0
  16. package/dist/commands/completion/index.js +23 -0
  17. package/dist/commands/completion/index.js.map +1 -0
  18. package/dist/commands/config/action.d.ts +4 -0
  19. package/dist/commands/config/action.d.ts.map +1 -0
  20. package/dist/commands/config/action.js +33 -0
  21. package/dist/commands/config/action.js.map +1 -0
  22. package/dist/commands/config/editor/action.d.ts +3 -0
  23. package/dist/commands/config/editor/action.d.ts.map +1 -0
  24. package/dist/commands/config/editor/action.js +112 -0
  25. package/dist/commands/config/editor/action.js.map +1 -0
  26. package/dist/commands/config/editor/index.d.ts +5 -0
  27. package/dist/commands/config/editor/index.d.ts.map +1 -0
  28. package/dist/commands/config/editor/index.js +20 -0
  29. package/dist/commands/config/editor/index.js.map +1 -0
  30. package/dist/commands/config/index.d.ts +1 -1
  31. package/dist/commands/config/index.d.ts.map +1 -1
  32. package/dist/commands/config/index.js +22 -0
  33. package/dist/commands/config/index.js.map +1 -1
  34. package/dist/commands/config/portability/action.d.ts +5 -0
  35. package/dist/commands/config/portability/action.d.ts.map +1 -0
  36. package/dist/commands/config/portability/action.js +164 -0
  37. package/dist/commands/config/portability/action.js.map +1 -0
  38. package/dist/commands/config/portability/index.d.ts +5 -0
  39. package/dist/commands/config/portability/index.d.ts.map +1 -0
  40. package/dist/commands/config/portability/index.js +44 -0
  41. package/dist/commands/config/portability/index.js.map +1 -0
  42. package/dist/commands/config/portability/migrations.d.ts +24 -0
  43. package/dist/commands/config/portability/migrations.d.ts.map +1 -0
  44. package/dist/commands/config/portability/migrations.js +95 -0
  45. package/dist/commands/config/portability/migrations.js.map +1 -0
  46. package/dist/commands/config/portability/migrations.spec.d.ts +2 -0
  47. package/dist/commands/config/portability/migrations.spec.d.ts.map +1 -0
  48. package/dist/commands/config/portability/migrations.spec.js +32 -0
  49. package/dist/commands/config/portability/migrations.spec.js.map +1 -0
  50. package/dist/commands/config/tenant/action.d.ts.map +1 -1
  51. package/dist/commands/config/tenant/action.js +16 -6
  52. package/dist/commands/config/tenant/action.js.map +1 -1
  53. package/dist/commands/config/tenant/index.d.ts.map +1 -1
  54. package/dist/commands/config/tenant/index.js.map +1 -1
  55. package/dist/commands/config/validate/action.d.ts.map +1 -1
  56. package/dist/commands/config/validate/action.js +3 -1
  57. package/dist/commands/config/validate/action.js.map +1 -1
  58. package/dist/commands/config/validate/registry.d.ts +1 -0
  59. package/dist/commands/config/validate/registry.d.ts.map +1 -1
  60. package/dist/commands/config/validate/registry.js +1 -1
  61. package/dist/commands/config/validate/registry.js.map +1 -1
  62. package/dist/commands/config/validate/registry.json +12 -23
  63. package/dist/commands/config/validate/report.d.ts.map +1 -1
  64. package/dist/commands/config/validate/report.js +6 -1
  65. package/dist/commands/config/validate/report.js.map +1 -1
  66. package/dist/commands/config/validate/schemas.d.ts +1 -0
  67. package/dist/commands/config/validate/schemas.d.ts.map +1 -1
  68. package/dist/commands/config/validate/schemas.js +16 -5
  69. package/dist/commands/config/validate/schemas.js.map +1 -1
  70. package/dist/commands/config/validate/types.d.ts.map +1 -1
  71. package/dist/commands/config/validate/validator.d.ts.map +1 -1
  72. package/dist/commands/config/validate/validator.js +13 -5
  73. package/dist/commands/config/validate/validator.js.map +1 -1
  74. package/dist/commands/demo/action.d.ts.map +1 -1
  75. package/dist/commands/demo/action.js +3 -2
  76. package/dist/commands/demo/action.js.map +1 -1
  77. package/dist/commands/demo/index.d.ts.map +1 -1
  78. package/dist/commands/demo/index.js.map +1 -1
  79. package/dist/commands/deployment/action.d.ts.map +1 -1
  80. package/dist/commands/deployment/action.js +10 -3
  81. package/dist/commands/deployment/action.js.map +1 -1
  82. package/dist/commands/deployment/index.d.ts.map +1 -1
  83. package/dist/commands/deployment/index.js +1 -1
  84. package/dist/commands/deployment/index.js.map +1 -1
  85. package/dist/commands/doctor/action.d.ts.map +1 -1
  86. package/dist/commands/doctor/action.js +1 -1
  87. package/dist/commands/doctor/action.js.map +1 -1
  88. package/dist/commands/init/action.d.ts.map +1 -1
  89. package/dist/commands/init/action.js +20 -7
  90. package/dist/commands/init/action.js.map +1 -1
  91. package/dist/commands/init/index.d.ts.map +1 -1
  92. package/dist/commands/init/index.js.map +1 -1
  93. package/dist/commands/instance/action.d.ts +4 -0
  94. package/dist/commands/instance/action.d.ts.map +1 -1
  95. package/dist/commands/instance/action.js +66 -1
  96. package/dist/commands/instance/action.js.map +1 -1
  97. package/dist/commands/instance/index.d.ts.map +1 -1
  98. package/dist/commands/instance/index.js +31 -1
  99. package/dist/commands/instance/index.js.map +1 -1
  100. package/dist/commands/shared.d.ts.map +1 -1
  101. package/dist/commands/shared.js +4 -1
  102. package/dist/commands/shared.js.map +1 -1
  103. package/dist/commands/status/action.d.ts.map +1 -1
  104. package/dist/commands/status/action.js.map +1 -1
  105. package/dist/commands/version/action.d.ts.map +1 -1
  106. package/dist/commands/version/action.js +3 -1
  107. package/dist/commands/version/action.js.map +1 -1
  108. package/dist/index.js +0 -0
  109. package/dist/runtime.d.ts +2 -0
  110. package/dist/runtime.d.ts.map +1 -1
  111. package/dist/runtime.js +8 -1
  112. package/dist/runtime.js.map +1 -1
  113. package/dist/sea-assets.d.ts +4 -2
  114. package/dist/sea-assets.d.ts.map +1 -1
  115. package/dist/sea-assets.js +6 -3
  116. package/dist/sea-assets.js.map +1 -1
  117. package/dist/services/cli-config.d.ts +2 -0
  118. package/dist/services/cli-config.d.ts.map +1 -1
  119. package/dist/services/cli-config.js +22 -1
  120. package/dist/services/cli-config.js.map +1 -1
  121. package/dist/services/compose-project.d.ts.map +1 -1
  122. package/dist/services/compose-project.js +14 -6
  123. package/dist/services/compose-project.js.map +1 -1
  124. package/dist/services/deployment-drivers.d.ts +7 -0
  125. package/dist/services/deployment-drivers.d.ts.map +1 -1
  126. package/dist/services/deployment-drivers.js +79 -16
  127. package/dist/services/deployment-drivers.js.map +1 -1
  128. package/dist/services/diagnostics.d.ts.map +1 -1
  129. package/dist/services/diagnostics.js +3 -1
  130. package/dist/services/diagnostics.js.map +1 -1
  131. package/dist/services/instance-selection.d.ts.map +1 -1
  132. package/dist/services/instance-selection.js.map +1 -1
  133. package/dist/services/project-directory.d.ts.map +1 -1
  134. package/dist/services/project-directory.js.map +1 -1
  135. package/dist/types.d.ts.map +1 -1
  136. package/package.json +10 -8
  137. package/templates/demo-config/issuance/issuance.json +20 -12
  138. package/templates/demo-config/key-chains/access.json +13 -2
  139. package/templates/demo-config/key-chains/attestation.json +14 -3
  140. package/templates/demo-config/key-chains/status-list.json +15 -4
  141. package/templates/demo-config/key-chains/trust-list.json +13 -2
  142. package/templates/demo-config/presentation/age-over-18.json +46 -53
  143. package/templates/demo-config/presentation/pid.json +44 -0
  144. package/templates/demo-config.manifest.json +1 -0
  145. package/templates/schemas/AttributeProviderAuth.schema.json +60 -0
  146. package/templates/schemas/AttributeProviderConfigFile.schema.json +37 -0
  147. package/templates/schemas/CertImportDto.schema.json +35 -0
  148. package/templates/schemas/ClientConfigFile.schema.json +37 -0
  149. package/templates/schemas/ConfigDocumentMetadata.schema.json +25 -0
  150. package/templates/schemas/CreateClientDto.schema.json +1 -0
  151. package/templates/schemas/CreateStatusListDto.schema.json +46 -0
  152. package/templates/schemas/CreateTenantDto.schema.json +117 -0
  153. package/templates/schemas/CredentialConfigFile.schema.json +37 -0
  154. package/templates/schemas/DCQL.schema.json +401 -0
  155. package/templates/schemas/EmbeddedDisclosurePolicy.schema.json +106 -0
  156. package/templates/schemas/ImportTenantDto.schema.json +69 -0
  157. package/templates/schemas/IssuanceConfigFile.schema.json +32 -0
  158. package/templates/schemas/KeyChainConfigFile.schema.json +476 -0
  159. package/templates/schemas/KeyChainCreateDto.schema.json +66 -0
  160. package/templates/schemas/KeyChainUpdateDto.schema.json +40 -0
  161. package/templates/schemas/KmsConfigFile.schema.json +37 -0
  162. package/templates/schemas/PresentationConfigFile.schema.json +32 -0
  163. package/templates/schemas/RegistrarConfigFile.schema.json +37 -0
  164. package/templates/schemas/RotationPolicyCreateDto.schema.json +28 -0
  165. package/templates/schemas/RotationPolicyUpdateDto.schema.json +25 -0
  166. package/templates/schemas/SessionStorageConfig.schema.json +24 -0
  167. package/templates/schemas/StatusListConfig.schema.json +51 -0
  168. package/templates/schemas/StatusListConfigFile.schema.json +37 -0
  169. package/templates/schemas/TenantConfigFile.schema.json +230 -0
  170. package/templates/schemas/TransactionData.schema.json +24 -0
  171. package/templates/schemas/TrustListConfigFile.schema.json +37 -0
  172. package/templates/schemas/UpdateAttributeProviderDto.schema.json +93 -0
  173. package/templates/schemas/UpdateClientDto.schema.json +63 -0
  174. package/templates/schemas/UpdateStatusListConfigDto.schema.json +85 -0
  175. package/templates/schemas/UpdateStatusListDto.schema.json +33 -0
  176. package/templates/schemas/UpdateTenantDto.schema.json +96 -0
  177. package/templates/schemas/UpdateWebhookEndpointDto.schema.json +93 -0
  178. package/templates/schemas/VCT.schema.json +37 -0
  179. package/templates/schemas/WebhookConfig.schema.json +80 -0
  180. package/templates/schemas/WebhookEndpointConfigFile.schema.json +37 -0
  181. package/templates/schemas.manifest.json +35 -1
@@ -0,0 +1,476 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "anyOf": [
4
+ {
5
+ "type": "object",
6
+ "properties": {
7
+ "id": {
8
+ "description": "Optional key chain id. If omitted, one is generated.",
9
+ "type": "string"
10
+ },
11
+ "key": {
12
+ "type": "object",
13
+ "properties": {
14
+ "kty": {
15
+ "type": "string",
16
+ "description": "Key type (for example EC)."
17
+ },
18
+ "x": {
19
+ "type": "string",
20
+ "description": "Elliptic curve public x coordinate."
21
+ },
22
+ "y": {
23
+ "type": "string",
24
+ "description": "Elliptic curve public y coordinate."
25
+ },
26
+ "crv": {
27
+ "type": "string",
28
+ "description": "Elliptic curve name."
29
+ },
30
+ "d": {
31
+ "type": "string",
32
+ "description": "Private key value."
33
+ },
34
+ "alg": {
35
+ "description": "Optional algorithm hint.",
36
+ "type": "string"
37
+ },
38
+ "kid": {
39
+ "description": "Optional key identifier.",
40
+ "type": "string"
41
+ }
42
+ },
43
+ "required": [
44
+ "kty",
45
+ "x",
46
+ "y",
47
+ "crv",
48
+ "d"
49
+ ],
50
+ "additionalProperties": false,
51
+ "description": "Private key material in JWK format."
52
+ },
53
+ "description": {
54
+ "description": "Optional key chain description.",
55
+ "type": "string"
56
+ },
57
+ "usageType": {
58
+ "type": "string",
59
+ "enum": [
60
+ "access",
61
+ "attestation",
62
+ "trustList",
63
+ "statusList",
64
+ "encrypt"
65
+ ],
66
+ "description": "Key usage category for the imported key chain."
67
+ },
68
+ "crt": {
69
+ "description": "Optional certificate chain values in PEM or base64 DER.",
70
+ "type": "array",
71
+ "items": {
72
+ "type": "string"
73
+ }
74
+ },
75
+ "kmsProvider": {
76
+ "description": "Optional KMS provider id.",
77
+ "type": "string"
78
+ },
79
+ "rotationPolicy": {
80
+ "description": "Optional rotation policy for imported key chains.",
81
+ "type": "object",
82
+ "properties": {
83
+ "enabled": {
84
+ "type": "boolean",
85
+ "description": "Enable automatic rotation for imported key chains."
86
+ },
87
+ "intervalDays": {
88
+ "description": "Rotation interval in days.",
89
+ "type": "number",
90
+ "minimum": 1,
91
+ "maximum": 3650
92
+ },
93
+ "certValidityDays": {
94
+ "description": "Certificate validity period in days.",
95
+ "type": "number",
96
+ "minimum": 1,
97
+ "maximum": 3650
98
+ }
99
+ },
100
+ "required": [
101
+ "enabled"
102
+ ],
103
+ "additionalProperties": false
104
+ }
105
+ },
106
+ "required": [
107
+ "key",
108
+ "usageType"
109
+ ],
110
+ "additionalProperties": false
111
+ },
112
+ {
113
+ "type": "object",
114
+ "properties": {
115
+ "apiVersion": {
116
+ "type": "string",
117
+ "const": "eudiplo.io/key-chain/v2"
118
+ },
119
+ "kind": {
120
+ "type": "string",
121
+ "const": "KeyChain"
122
+ },
123
+ "metadata": {
124
+ "type": "object",
125
+ "properties": {
126
+ "id": {
127
+ "type": "string"
128
+ },
129
+ "generation": {
130
+ "type": "number"
131
+ },
132
+ "ownership": {
133
+ "type": "string",
134
+ "enum": [
135
+ "unmanaged",
136
+ "file-managed"
137
+ ]
138
+ }
139
+ },
140
+ "required": [
141
+ "id"
142
+ ],
143
+ "additionalProperties": false
144
+ },
145
+ "spec": {
146
+ "type": "object",
147
+ "properties": {
148
+ "id": {
149
+ "type": "string"
150
+ },
151
+ "description": {
152
+ "type": "string"
153
+ },
154
+ "usageType": {
155
+ "type": "string",
156
+ "enum": [
157
+ "access",
158
+ "attestation",
159
+ "trustList",
160
+ "statusList",
161
+ "encrypt"
162
+ ]
163
+ },
164
+ "keySource": {
165
+ "oneOf": [
166
+ {
167
+ "type": "object",
168
+ "properties": {
169
+ "type": {
170
+ "type": "string",
171
+ "const": "private-jwk"
172
+ },
173
+ "jwk": {
174
+ "type": "object",
175
+ "properties": {
176
+ "kty": {
177
+ "type": "string",
178
+ "description": "Key type (for example EC)."
179
+ },
180
+ "x": {
181
+ "type": "string",
182
+ "description": "Elliptic curve public x coordinate."
183
+ },
184
+ "y": {
185
+ "type": "string",
186
+ "description": "Elliptic curve public y coordinate."
187
+ },
188
+ "crv": {
189
+ "type": "string",
190
+ "description": "Elliptic curve name."
191
+ },
192
+ "d": {
193
+ "type": "string",
194
+ "description": "Private key value."
195
+ },
196
+ "alg": {
197
+ "description": "Optional algorithm hint.",
198
+ "type": "string"
199
+ },
200
+ "kid": {
201
+ "description": "Optional key identifier.",
202
+ "type": "string"
203
+ }
204
+ },
205
+ "required": [
206
+ "kty",
207
+ "x",
208
+ "y",
209
+ "crv",
210
+ "d"
211
+ ],
212
+ "additionalProperties": false
213
+ },
214
+ "activeJwk": {
215
+ "type": "object",
216
+ "properties": {
217
+ "kty": {
218
+ "type": "string",
219
+ "description": "Key type (for example EC)."
220
+ },
221
+ "x": {
222
+ "type": "string",
223
+ "description": "Elliptic curve public x coordinate."
224
+ },
225
+ "y": {
226
+ "type": "string",
227
+ "description": "Elliptic curve public y coordinate."
228
+ },
229
+ "crv": {
230
+ "type": "string",
231
+ "description": "Elliptic curve name."
232
+ },
233
+ "d": {
234
+ "type": "string",
235
+ "description": "Private key value."
236
+ },
237
+ "alg": {
238
+ "description": "Optional algorithm hint.",
239
+ "type": "string"
240
+ },
241
+ "kid": {
242
+ "description": "Optional key identifier.",
243
+ "type": "string"
244
+ }
245
+ },
246
+ "required": [
247
+ "kty",
248
+ "x",
249
+ "y",
250
+ "crv",
251
+ "d"
252
+ ],
253
+ "additionalProperties": false
254
+ }
255
+ },
256
+ "required": [
257
+ "type",
258
+ "jwk"
259
+ ],
260
+ "additionalProperties": false
261
+ },
262
+ {
263
+ "type": "object",
264
+ "properties": {
265
+ "type": {
266
+ "type": "string",
267
+ "const": "external-reference"
268
+ },
269
+ "provider": {
270
+ "type": "string"
271
+ },
272
+ "externalKeyId": {
273
+ "type": "string"
274
+ },
275
+ "publicJwk": {
276
+ "type": "object",
277
+ "properties": {
278
+ "kty": {
279
+ "type": "string"
280
+ },
281
+ "x": {
282
+ "type": "string"
283
+ },
284
+ "y": {
285
+ "type": "string"
286
+ },
287
+ "crv": {
288
+ "type": "string"
289
+ },
290
+ "alg": {
291
+ "type": "string"
292
+ },
293
+ "kid": {
294
+ "type": "string"
295
+ }
296
+ },
297
+ "required": [
298
+ "kty",
299
+ "x",
300
+ "y",
301
+ "crv"
302
+ ],
303
+ "additionalProperties": false
304
+ },
305
+ "activeExternalKeyId": {
306
+ "type": "string"
307
+ },
308
+ "activePublicJwk": {
309
+ "type": "object",
310
+ "properties": {
311
+ "kty": {
312
+ "type": "string"
313
+ },
314
+ "x": {
315
+ "type": "string"
316
+ },
317
+ "y": {
318
+ "type": "string"
319
+ },
320
+ "crv": {
321
+ "type": "string"
322
+ },
323
+ "alg": {
324
+ "type": "string"
325
+ },
326
+ "kid": {
327
+ "type": "string"
328
+ }
329
+ },
330
+ "required": [
331
+ "kty",
332
+ "x",
333
+ "y",
334
+ "crv"
335
+ ],
336
+ "additionalProperties": false
337
+ }
338
+ },
339
+ "required": [
340
+ "type",
341
+ "provider",
342
+ "externalKeyId",
343
+ "publicJwk"
344
+ ],
345
+ "additionalProperties": false
346
+ },
347
+ {
348
+ "type": "object",
349
+ "properties": {
350
+ "type": {
351
+ "type": "string",
352
+ "const": "required"
353
+ },
354
+ "publicJwk": {
355
+ "type": "object",
356
+ "properties": {
357
+ "kty": {
358
+ "type": "string"
359
+ },
360
+ "x": {
361
+ "type": "string"
362
+ },
363
+ "y": {
364
+ "type": "string"
365
+ },
366
+ "crv": {
367
+ "type": "string"
368
+ },
369
+ "alg": {
370
+ "type": "string"
371
+ },
372
+ "kid": {
373
+ "type": "string"
374
+ }
375
+ },
376
+ "required": [
377
+ "kty",
378
+ "x",
379
+ "y",
380
+ "crv"
381
+ ],
382
+ "additionalProperties": false
383
+ }
384
+ },
385
+ "required": [
386
+ "type"
387
+ ],
388
+ "additionalProperties": false
389
+ },
390
+ {
391
+ "type": "object",
392
+ "properties": {
393
+ "type": {
394
+ "type": "string",
395
+ "const": "regenerate"
396
+ },
397
+ "keyChainType": {
398
+ "type": "string",
399
+ "enum": [
400
+ "standalone",
401
+ "internalChain"
402
+ ]
403
+ }
404
+ },
405
+ "required": [
406
+ "type"
407
+ ],
408
+ "additionalProperties": false
409
+ }
410
+ ]
411
+ },
412
+ "crt": {
413
+ "type": "array",
414
+ "items": {
415
+ "type": "string"
416
+ }
417
+ },
418
+ "kmsProvider": {
419
+ "type": "string"
420
+ },
421
+ "rotationPolicy": {
422
+ "type": "object",
423
+ "properties": {
424
+ "enabled": {
425
+ "type": "boolean"
426
+ },
427
+ "intervalDays": {
428
+ "anyOf": [
429
+ {
430
+ "type": "number",
431
+ "minimum": 1,
432
+ "maximum": 3650
433
+ },
434
+ {
435
+ "type": "null"
436
+ }
437
+ ]
438
+ },
439
+ "certValidityDays": {
440
+ "anyOf": [
441
+ {
442
+ "type": "number",
443
+ "minimum": 1,
444
+ "maximum": 3650
445
+ },
446
+ {
447
+ "type": "null"
448
+ }
449
+ ]
450
+ }
451
+ },
452
+ "required": [
453
+ "enabled"
454
+ ],
455
+ "additionalProperties": false
456
+ }
457
+ },
458
+ "required": [
459
+ "usageType",
460
+ "keySource"
461
+ ],
462
+ "additionalProperties": false
463
+ }
464
+ },
465
+ "required": [
466
+ "apiVersion",
467
+ "kind",
468
+ "metadata",
469
+ "spec"
470
+ ],
471
+ "additionalProperties": false
472
+ }
473
+ ],
474
+ "$id": "./KeyChainConfigFile.schema.json",
475
+ "title": "KeyChainConfigFile"
476
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "usageType": {
6
+ "type": "string",
7
+ "enum": [
8
+ "access",
9
+ "attestation",
10
+ "trustList",
11
+ "statusList",
12
+ "encrypt"
13
+ ],
14
+ "description": "Key usage category for the key chain."
15
+ },
16
+ "type": {
17
+ "type": "string",
18
+ "enum": [
19
+ "standalone",
20
+ "internalChain"
21
+ ],
22
+ "description": "Key chain mode."
23
+ },
24
+ "description": {
25
+ "description": "Optional key chain description.",
26
+ "type": "string"
27
+ },
28
+ "kmsProvider": {
29
+ "description": "Optional KMS provider id for key storage operations.",
30
+ "type": "string"
31
+ },
32
+ "rotationPolicy": {
33
+ "description": "Optional rotation policy.",
34
+ "type": "object",
35
+ "properties": {
36
+ "enabled": {
37
+ "type": "boolean",
38
+ "description": "Enable or disable automatic key rotation."
39
+ },
40
+ "intervalDays": {
41
+ "description": "Rotation interval in days.",
42
+ "type": "number",
43
+ "minimum": 1,
44
+ "maximum": 3650
45
+ },
46
+ "certValidityDays": {
47
+ "description": "Certificate validity period in days for generated leaf certificates.",
48
+ "type": "number",
49
+ "minimum": 1,
50
+ "maximum": 3650
51
+ }
52
+ },
53
+ "required": [
54
+ "enabled"
55
+ ],
56
+ "additionalProperties": false
57
+ }
58
+ },
59
+ "required": [
60
+ "usageType",
61
+ "type"
62
+ ],
63
+ "additionalProperties": false,
64
+ "$id": "./KeyChainCreateDto.schema.json",
65
+ "title": "KeyChainCreateDto"
66
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "description": {
6
+ "description": "Optional replacement description.",
7
+ "type": "string"
8
+ },
9
+ "rotationPolicy": {
10
+ "description": "Optional rotation policy updates.",
11
+ "type": "object",
12
+ "properties": {
13
+ "enabled": {
14
+ "description": "Optional replacement for rotation enabled flag.",
15
+ "type": "boolean"
16
+ },
17
+ "intervalDays": {
18
+ "description": "Optional replacement for rotation interval in days.",
19
+ "type": "number",
20
+ "minimum": 1,
21
+ "maximum": 3650
22
+ },
23
+ "certValidityDays": {
24
+ "description": "Optional replacement for certificate validity period in days.",
25
+ "type": "number",
26
+ "minimum": 1,
27
+ "maximum": 3650
28
+ }
29
+ },
30
+ "additionalProperties": false
31
+ },
32
+ "activeCertificate": {
33
+ "description": "Optional active certificate override.",
34
+ "type": "string"
35
+ }
36
+ },
37
+ "additionalProperties": false,
38
+ "$id": "./KeyChainUpdateDto.schema.json",
39
+ "title": "KeyChainUpdateDto"
40
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./KmsConfigFile.schema.json",
4
+ "title": "KmsConfigFile",
5
+ "description": "A tenant KMS configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./KmsConfigDto.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/kms-config/v1"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "KmsConfig"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "./KmsConfigDto.schema.json"
26
+ }
27
+ },
28
+ "required": [
29
+ "apiVersion",
30
+ "kind",
31
+ "metadata",
32
+ "spec"
33
+ ],
34
+ "additionalProperties": false
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./PresentationConfigFile.schema.json",
4
+ "title": "PresentationConfigFile",
5
+ "description": "A presentation configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./PresentationConfigCreateDto.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/presentation-config/v2"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "PresentationConfig"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "./PresentationConfigCreateDto.schema.json"
26
+ }
27
+ },
28
+ "required": ["apiVersion", "kind", "metadata", "spec"],
29
+ "additionalProperties": false
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./RegistrarConfigFile.schema.json",
4
+ "title": "RegistrarConfigFile",
5
+ "description": "A registrar configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./CreateRegistrarConfigDto.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/registrar-config/v1"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "RegistrarConfig"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "./CreateRegistrarConfigDto.schema.json"
26
+ }
27
+ },
28
+ "required": [
29
+ "apiVersion",
30
+ "kind",
31
+ "metadata",
32
+ "spec"
33
+ ],
34
+ "additionalProperties": false
35
+ }
36
+ ]
37
+ }