@eudiplo/cli 9.1.0-main.e4e29b5 → 9.1.0-main.e69fe20
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.
- package/dist/commands/completion/action.js +3 -1
- package/dist/commands/completion/action.js.map +1 -1
- package/dist/commands/config/portability/migrations.spec.js +4 -2
- package/dist/commands/config/portability/migrations.spec.js.map +1 -1
- package/dist/commands/config/portability/upgrade.d.ts.map +1 -1
- package/dist/commands/config/portability/upgrade.js +6 -2
- package/dist/commands/config/portability/upgrade.js.map +1 -1
- package/dist/commands/config/validate/action.d.ts.map +1 -1
- package/dist/commands/config/validate/action.js +2 -1
- package/dist/commands/config/validate/action.js.map +1 -1
- package/dist/commands/config/validate/registry.json +10 -0
- package/dist/commands/init/action.d.ts.map +1 -1
- package/dist/commands/init/action.js +1 -11
- package/dist/commands/init/action.js.map +1 -1
- package/dist/commands/instance/action.d.ts +2 -0
- package/dist/commands/instance/action.d.ts.map +1 -1
- package/dist/commands/instance/action.js +68 -12
- package/dist/commands/instance/action.js.map +1 -1
- package/dist/commands/instance/index.d.ts.map +1 -1
- package/dist/commands/instance/index.js +21 -3
- package/dist/commands/instance/index.js.map +1 -1
- package/dist/commands/open/action.d.ts.map +1 -1
- package/dist/commands/open/action.js +13 -2
- package/dist/commands/open/action.js.map +1 -1
- package/dist/commands/status/action.d.ts.map +1 -1
- package/dist/commands/status/action.js +2 -1
- package/dist/commands/status/action.js.map +1 -1
- package/dist/index.js +5435 -773
- package/dist/services/api-auth.d.ts.map +1 -1
- package/dist/services/api-auth.js +3 -2
- package/dist/services/api-auth.js.map +1 -1
- package/dist/services/browser.d.ts.map +1 -1
- package/dist/services/browser.js +3 -2
- package/dist/services/browser.js.map +1 -1
- package/dist/services/cli-config.d.ts +41 -1
- package/dist/services/cli-config.d.ts.map +1 -1
- package/dist/services/cli-config.js +217 -29
- package/dist/services/cli-config.js.map +1 -1
- package/dist/services/diagnostics.d.ts.map +1 -1
- package/dist/services/diagnostics.js +9 -8
- package/dist/services/diagnostics.js.map +1 -1
- package/dist/services/instance-selection.d.ts.map +1 -1
- package/dist/services/instance-selection.js +2 -5
- package/dist/services/instance-selection.js.map +1 -1
- package/dist/services/url.d.ts +21 -0
- package/dist/services/url.d.ts.map +1 -0
- package/dist/services/url.js +61 -0
- package/dist/services/url.js.map +1 -0
- package/package.json +4 -3
- package/templates/demo-config/clients/presentation-test.json +1 -1
- package/templates/demo-config/clients/test.json +6 -2
- package/templates/demo-config/key-chains/attestation.json +2 -1
- package/templates/demo-config/key-chains/status-list.json +5 -4
- package/templates/docker-compose.yml +2 -2
- package/templates/schemas/ClientConfigFile.schema.json +134 -1
- package/templates/schemas/CreateClientDto.schema.json +5 -1
- package/templates/schemas/CreateFederationTrustAnchorDto.schema.json +82 -0
- package/templates/schemas/CreateRegistrarConfigDto.schema.json +29 -0
- package/templates/schemas/CreateTenantDto.schema.json +5 -1
- package/templates/schemas/FederationTrustAnchorConfigFile.schema.json +60 -0
- package/templates/schemas/ImportTenantDto.schema.json +12 -0
- package/templates/schemas/IssuanceConfig.schema.json +120 -2
- package/templates/schemas/IssuanceConfigFile.schema.json +1434 -1
- package/templates/schemas/KeyChainConfigFile.schema.json +505 -119
- package/templates/schemas/KeyChainCreateDto.schema.json +11 -1
- package/templates/schemas/KeyChainImportDto.schema.json +9 -0
- package/templates/schemas/KmsConfigDto.schema.json +186 -0
- package/templates/schemas/KmsConfigFile.schema.json +1026 -1
- package/templates/schemas/RegistrarConfigFile.schema.json +101 -1
- package/templates/schemas/RotationPolicyCreateDto.schema.json +1 -1
- package/templates/schemas/TenantConfigFile.schema.json +224 -68
- package/templates/schemas/UpdateClientDto.schema.json +5 -1
- package/templates/schemas/UpdateFederationTrustAnchorDto.schema.json +70 -0
- package/templates/schemas/UpdateStatusListConfigDto.schema.json +5 -5
- package/templates/schemas/UpdateTenantDto.schema.json +20 -0
- package/templates/schemas.manifest.json +3 -0
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"properties": {
|
|
10
10
|
"$schema": {
|
|
11
11
|
"type": "string",
|
|
12
|
-
"const": "https://eudiplo.dev/schemas/
|
|
12
|
+
"const": "https://eudiplo.dev/schemas/v2/KmsConfigFile.schema.json"
|
|
13
13
|
},
|
|
14
14
|
"metadata": {
|
|
15
15
|
"type": "object",
|
|
@@ -39,6 +39,1031 @@
|
|
|
39
39
|
"spec"
|
|
40
40
|
],
|
|
41
41
|
"additionalProperties": false
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
45
|
+
"$id": "https://eudiplo.dev/schemas/v1/KmsConfigFile.schema.json",
|
|
46
|
+
"title": "KmsConfigFile",
|
|
47
|
+
"type": "object",
|
|
48
|
+
"properties": {
|
|
49
|
+
"$schema": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"const": "https://eudiplo.dev/schemas/v1/KmsConfigFile.schema.json"
|
|
52
|
+
},
|
|
53
|
+
"metadata": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"properties": {
|
|
56
|
+
"generation": {
|
|
57
|
+
"type": "integer",
|
|
58
|
+
"minimum": 1,
|
|
59
|
+
"description": "Monotonically increasing configuration generation."
|
|
60
|
+
},
|
|
61
|
+
"ownership": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"enum": [
|
|
64
|
+
"unmanaged",
|
|
65
|
+
"file-managed"
|
|
66
|
+
],
|
|
67
|
+
"description": "Requested ownership recorded when the document is applied."
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"additionalProperties": false
|
|
71
|
+
},
|
|
72
|
+
"spec": {
|
|
73
|
+
"$ref": "#/$defs/KmsConfigDto"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"required": [
|
|
77
|
+
"$schema",
|
|
78
|
+
"spec"
|
|
79
|
+
],
|
|
80
|
+
"additionalProperties": false,
|
|
81
|
+
"$defs": {
|
|
82
|
+
"KmsConfigDto": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"properties": {
|
|
85
|
+
"defaultProvider": {
|
|
86
|
+
"description": "ID of the default KMS provider. Defaults to \"db\" if not set.",
|
|
87
|
+
"examples": [
|
|
88
|
+
"main-vault"
|
|
89
|
+
],
|
|
90
|
+
"anyOf": [
|
|
91
|
+
{
|
|
92
|
+
"type": "string",
|
|
93
|
+
"minLength": 1
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"type": "string",
|
|
97
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
"providers": {
|
|
102
|
+
"type": "array",
|
|
103
|
+
"items": {
|
|
104
|
+
"oneOf": [
|
|
105
|
+
{
|
|
106
|
+
"type": "object",
|
|
107
|
+
"properties": {
|
|
108
|
+
"id": {
|
|
109
|
+
"anyOf": [
|
|
110
|
+
{
|
|
111
|
+
"type": "string",
|
|
112
|
+
"minLength": 1
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"type": "string",
|
|
116
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"description": "Unique identifier for this provider instance. Used when generating keys to specify which provider to use.",
|
|
120
|
+
"examples": [
|
|
121
|
+
"main-vault"
|
|
122
|
+
]
|
|
123
|
+
},
|
|
124
|
+
"type": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"const": "db",
|
|
127
|
+
"description": "Type of the KMS provider.",
|
|
128
|
+
"examples": [
|
|
129
|
+
"db"
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
"description": {
|
|
133
|
+
"description": "Human-readable description of this provider instance.",
|
|
134
|
+
"examples": [
|
|
135
|
+
"Production HashiCorp Vault for signing keys"
|
|
136
|
+
],
|
|
137
|
+
"anyOf": [
|
|
138
|
+
{
|
|
139
|
+
"type": "string",
|
|
140
|
+
"minLength": 1
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"type": "string",
|
|
144
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"required": [
|
|
150
|
+
"id",
|
|
151
|
+
"type"
|
|
152
|
+
],
|
|
153
|
+
"additionalProperties": false
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"type": "object",
|
|
157
|
+
"properties": {
|
|
158
|
+
"id": {
|
|
159
|
+
"anyOf": [
|
|
160
|
+
{
|
|
161
|
+
"type": "string",
|
|
162
|
+
"minLength": 1
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"type": "string",
|
|
166
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
167
|
+
}
|
|
168
|
+
],
|
|
169
|
+
"description": "Unique identifier for this provider instance. Used when generating keys to specify which provider to use.",
|
|
170
|
+
"examples": [
|
|
171
|
+
"main-vault"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"type": {
|
|
175
|
+
"type": "string",
|
|
176
|
+
"const": "vault",
|
|
177
|
+
"description": "Type of the KMS provider.",
|
|
178
|
+
"examples": [
|
|
179
|
+
"vault"
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
"description": {
|
|
183
|
+
"description": "Human-readable description of this provider instance.",
|
|
184
|
+
"examples": [
|
|
185
|
+
"Production HashiCorp Vault for signing keys"
|
|
186
|
+
],
|
|
187
|
+
"anyOf": [
|
|
188
|
+
{
|
|
189
|
+
"type": "string",
|
|
190
|
+
"minLength": 1
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"type": "string",
|
|
194
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
},
|
|
198
|
+
"vaultUrl": {
|
|
199
|
+
"anyOf": [
|
|
200
|
+
{
|
|
201
|
+
"type": "string",
|
|
202
|
+
"format": "uri"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"type": "string",
|
|
206
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"description": "URL of the HashiCorp Vault instance. Supports ${ENV_VAR} placeholders.",
|
|
210
|
+
"examples": [
|
|
211
|
+
"${VAULT_URL}"
|
|
212
|
+
]
|
|
213
|
+
},
|
|
214
|
+
"vaultToken": {
|
|
215
|
+
"anyOf": [
|
|
216
|
+
{
|
|
217
|
+
"type": "string",
|
|
218
|
+
"minLength": 1
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"type": "string",
|
|
222
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
223
|
+
}
|
|
224
|
+
],
|
|
225
|
+
"description": "Authentication token for HashiCorp Vault. Supports ${ENV_VAR} placeholders.",
|
|
226
|
+
"examples": [
|
|
227
|
+
"${VAULT_TOKEN}"
|
|
228
|
+
]
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
"required": [
|
|
232
|
+
"id",
|
|
233
|
+
"type",
|
|
234
|
+
"vaultUrl",
|
|
235
|
+
"vaultToken"
|
|
236
|
+
],
|
|
237
|
+
"additionalProperties": false
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"type": "object",
|
|
241
|
+
"properties": {
|
|
242
|
+
"id": {
|
|
243
|
+
"anyOf": [
|
|
244
|
+
{
|
|
245
|
+
"type": "string",
|
|
246
|
+
"minLength": 1
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"type": "string",
|
|
250
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
251
|
+
}
|
|
252
|
+
],
|
|
253
|
+
"description": "Unique identifier for this provider instance. Used when generating keys to specify which provider to use.",
|
|
254
|
+
"examples": [
|
|
255
|
+
"main-vault"
|
|
256
|
+
]
|
|
257
|
+
},
|
|
258
|
+
"type": {
|
|
259
|
+
"type": "string",
|
|
260
|
+
"const": "aws-kms",
|
|
261
|
+
"description": "Type of the KMS provider.",
|
|
262
|
+
"examples": [
|
|
263
|
+
"aws-kms"
|
|
264
|
+
]
|
|
265
|
+
},
|
|
266
|
+
"description": {
|
|
267
|
+
"description": "Human-readable description of this provider instance.",
|
|
268
|
+
"examples": [
|
|
269
|
+
"Production HashiCorp Vault for signing keys"
|
|
270
|
+
],
|
|
271
|
+
"anyOf": [
|
|
272
|
+
{
|
|
273
|
+
"type": "string",
|
|
274
|
+
"minLength": 1
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"type": "string",
|
|
278
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
279
|
+
}
|
|
280
|
+
]
|
|
281
|
+
},
|
|
282
|
+
"region": {
|
|
283
|
+
"anyOf": [
|
|
284
|
+
{
|
|
285
|
+
"type": "string",
|
|
286
|
+
"minLength": 1
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"type": "string",
|
|
290
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"description": "AWS region for KMS. Supports ${ENV_VAR} placeholders.",
|
|
294
|
+
"examples": [
|
|
295
|
+
"${AWS_REGION}"
|
|
296
|
+
]
|
|
297
|
+
},
|
|
298
|
+
"accessKeyId": {
|
|
299
|
+
"description": "AWS access key ID. Optional — uses SDK credential chain if not provided. Supports ${ENV_VAR} placeholders.",
|
|
300
|
+
"examples": [
|
|
301
|
+
"${AWS_ACCESS_KEY_ID}"
|
|
302
|
+
],
|
|
303
|
+
"anyOf": [
|
|
304
|
+
{
|
|
305
|
+
"type": "string",
|
|
306
|
+
"minLength": 1
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"type": "string",
|
|
310
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
311
|
+
}
|
|
312
|
+
]
|
|
313
|
+
},
|
|
314
|
+
"secretAccessKey": {
|
|
315
|
+
"description": "AWS secret access key. Optional — uses SDK credential chain if not provided. Supports ${ENV_VAR} placeholders.",
|
|
316
|
+
"examples": [
|
|
317
|
+
"${AWS_SECRET_ACCESS_KEY}"
|
|
318
|
+
],
|
|
319
|
+
"anyOf": [
|
|
320
|
+
{
|
|
321
|
+
"type": "string",
|
|
322
|
+
"minLength": 1
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"type": "string",
|
|
326
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
327
|
+
}
|
|
328
|
+
]
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"required": [
|
|
332
|
+
"id",
|
|
333
|
+
"type",
|
|
334
|
+
"region"
|
|
335
|
+
],
|
|
336
|
+
"additionalProperties": false
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"type": "object",
|
|
340
|
+
"properties": {
|
|
341
|
+
"id": {
|
|
342
|
+
"anyOf": [
|
|
343
|
+
{
|
|
344
|
+
"type": "string",
|
|
345
|
+
"minLength": 1
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"type": "string",
|
|
349
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
350
|
+
}
|
|
351
|
+
],
|
|
352
|
+
"description": "Unique identifier for this provider instance. Used when generating keys to specify which provider to use.",
|
|
353
|
+
"examples": [
|
|
354
|
+
"main-vault"
|
|
355
|
+
]
|
|
356
|
+
},
|
|
357
|
+
"type": {
|
|
358
|
+
"type": "string",
|
|
359
|
+
"const": "pkcs11",
|
|
360
|
+
"description": "Type of the KMS provider.",
|
|
361
|
+
"examples": [
|
|
362
|
+
"pkcs11"
|
|
363
|
+
]
|
|
364
|
+
},
|
|
365
|
+
"description": {
|
|
366
|
+
"description": "Human-readable description of this provider instance.",
|
|
367
|
+
"examples": [
|
|
368
|
+
"Production HashiCorp Vault for signing keys"
|
|
369
|
+
],
|
|
370
|
+
"anyOf": [
|
|
371
|
+
{
|
|
372
|
+
"type": "string",
|
|
373
|
+
"minLength": 1
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"type": "string",
|
|
377
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
378
|
+
}
|
|
379
|
+
]
|
|
380
|
+
},
|
|
381
|
+
"library": {
|
|
382
|
+
"anyOf": [
|
|
383
|
+
{
|
|
384
|
+
"type": "string",
|
|
385
|
+
"minLength": 1
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"type": "string",
|
|
389
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
390
|
+
}
|
|
391
|
+
],
|
|
392
|
+
"description": "Absolute path to the PKCS#11 module library (.so/.dll/.dylib). Supports ${ENV_VAR} placeholders.",
|
|
393
|
+
"examples": [
|
|
394
|
+
"${PKCS11_LIBRARY}"
|
|
395
|
+
]
|
|
396
|
+
},
|
|
397
|
+
"slot": {
|
|
398
|
+
"description": "Slot selection. Either the numeric slot index (as a string for ENV interpolation, or a number) or the token label. Supports ${ENV_VAR} placeholders.",
|
|
399
|
+
"examples": [
|
|
400
|
+
"${PKCS11_SLOT}"
|
|
401
|
+
],
|
|
402
|
+
"type": [
|
|
403
|
+
"number",
|
|
404
|
+
"string"
|
|
405
|
+
]
|
|
406
|
+
},
|
|
407
|
+
"pin": {
|
|
408
|
+
"anyOf": [
|
|
409
|
+
{
|
|
410
|
+
"type": "string",
|
|
411
|
+
"minLength": 1
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"type": "string",
|
|
415
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
416
|
+
}
|
|
417
|
+
],
|
|
418
|
+
"description": "User PIN used for C_Login. Supports ${ENV_VAR} placeholders.",
|
|
419
|
+
"examples": [
|
|
420
|
+
"${PKCS11_PIN}"
|
|
421
|
+
]
|
|
422
|
+
},
|
|
423
|
+
"readOnly": {
|
|
424
|
+
"description": "Open the PKCS#11 session in read-only mode. Defaults to false.",
|
|
425
|
+
"examples": [
|
|
426
|
+
false
|
|
427
|
+
],
|
|
428
|
+
"type": "boolean"
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
"required": [
|
|
432
|
+
"id",
|
|
433
|
+
"type",
|
|
434
|
+
"library",
|
|
435
|
+
"slot",
|
|
436
|
+
"pin"
|
|
437
|
+
],
|
|
438
|
+
"additionalProperties": false
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"type": "object",
|
|
442
|
+
"properties": {
|
|
443
|
+
"id": {
|
|
444
|
+
"anyOf": [
|
|
445
|
+
{
|
|
446
|
+
"type": "string",
|
|
447
|
+
"minLength": 1
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"type": "string",
|
|
451
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
452
|
+
}
|
|
453
|
+
],
|
|
454
|
+
"description": "Unique identifier for this provider instance. Used when generating keys to specify which provider to use.",
|
|
455
|
+
"examples": [
|
|
456
|
+
"main-vault"
|
|
457
|
+
]
|
|
458
|
+
},
|
|
459
|
+
"type": {
|
|
460
|
+
"type": "string",
|
|
461
|
+
"const": "http",
|
|
462
|
+
"description": "Type of the KMS provider.",
|
|
463
|
+
"examples": [
|
|
464
|
+
"http"
|
|
465
|
+
]
|
|
466
|
+
},
|
|
467
|
+
"description": {
|
|
468
|
+
"description": "Human-readable description of this provider instance.",
|
|
469
|
+
"examples": [
|
|
470
|
+
"Production HashiCorp Vault for signing keys"
|
|
471
|
+
],
|
|
472
|
+
"anyOf": [
|
|
473
|
+
{
|
|
474
|
+
"type": "string",
|
|
475
|
+
"minLength": 1
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"type": "string",
|
|
479
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
480
|
+
}
|
|
481
|
+
]
|
|
482
|
+
},
|
|
483
|
+
"baseUrl": {
|
|
484
|
+
"anyOf": [
|
|
485
|
+
{
|
|
486
|
+
"type": "string",
|
|
487
|
+
"format": "uri"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"type": "string",
|
|
491
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
492
|
+
}
|
|
493
|
+
],
|
|
494
|
+
"description": "Base URL of the remote KMS microservice (no trailing slash). Supports ${ENV_VAR} placeholders.",
|
|
495
|
+
"examples": [
|
|
496
|
+
"${KMS_SERVICE_URL}"
|
|
497
|
+
]
|
|
498
|
+
},
|
|
499
|
+
"auth": {
|
|
500
|
+
"description": "Authentication method for the remote KMS service. Supports bearer token, OAuth 2.0 client credentials, and mutual TLS. Omit (or set type to \"none\") for unauthenticated services.",
|
|
501
|
+
"oneOf": [
|
|
502
|
+
{
|
|
503
|
+
"type": "object",
|
|
504
|
+
"properties": {
|
|
505
|
+
"type": {
|
|
506
|
+
"type": "string",
|
|
507
|
+
"const": "none",
|
|
508
|
+
"description": "No authentication — suitable for services on a trusted private network.",
|
|
509
|
+
"examples": [
|
|
510
|
+
"none"
|
|
511
|
+
]
|
|
512
|
+
}
|
|
513
|
+
},
|
|
514
|
+
"required": [
|
|
515
|
+
"type"
|
|
516
|
+
],
|
|
517
|
+
"additionalProperties": false
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"type": "object",
|
|
521
|
+
"properties": {
|
|
522
|
+
"type": {
|
|
523
|
+
"type": "string",
|
|
524
|
+
"const": "bearer",
|
|
525
|
+
"description": "Static Bearer token sent as Authorization: Bearer <token>.",
|
|
526
|
+
"examples": [
|
|
527
|
+
"bearer"
|
|
528
|
+
]
|
|
529
|
+
},
|
|
530
|
+
"token": {
|
|
531
|
+
"anyOf": [
|
|
532
|
+
{
|
|
533
|
+
"type": "string",
|
|
534
|
+
"minLength": 1
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"type": "string",
|
|
538
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
539
|
+
}
|
|
540
|
+
],
|
|
541
|
+
"description": "Bearer token value. Supports ${ENV_VAR} placeholders.",
|
|
542
|
+
"examples": [
|
|
543
|
+
"${KMS_API_KEY}"
|
|
544
|
+
]
|
|
545
|
+
}
|
|
546
|
+
},
|
|
547
|
+
"required": [
|
|
548
|
+
"type",
|
|
549
|
+
"token"
|
|
550
|
+
],
|
|
551
|
+
"additionalProperties": false
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"type": "object",
|
|
555
|
+
"properties": {
|
|
556
|
+
"type": {
|
|
557
|
+
"type": "string",
|
|
558
|
+
"const": "oauth2-client-credentials",
|
|
559
|
+
"description": "OAuth 2.0 Client Credentials — EUDIPLO fetches and caches short-lived tokens.",
|
|
560
|
+
"examples": [
|
|
561
|
+
"oauth2-client-credentials"
|
|
562
|
+
]
|
|
563
|
+
},
|
|
564
|
+
"tokenUrl": {
|
|
565
|
+
"anyOf": [
|
|
566
|
+
{
|
|
567
|
+
"type": "string",
|
|
568
|
+
"format": "uri"
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
"type": "string",
|
|
572
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
573
|
+
}
|
|
574
|
+
],
|
|
575
|
+
"description": "Token endpoint URL (e.g. Keycloak, Entra ID). Supports ${ENV_VAR} placeholders.",
|
|
576
|
+
"examples": [
|
|
577
|
+
"${IAM_TOKEN_URL}"
|
|
578
|
+
]
|
|
579
|
+
},
|
|
580
|
+
"clientId": {
|
|
581
|
+
"anyOf": [
|
|
582
|
+
{
|
|
583
|
+
"type": "string",
|
|
584
|
+
"minLength": 1
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
"type": "string",
|
|
588
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
589
|
+
}
|
|
590
|
+
],
|
|
591
|
+
"description": "OAuth 2.0 client ID. Supports ${ENV_VAR} placeholders.",
|
|
592
|
+
"examples": [
|
|
593
|
+
"${KMS_CLIENT_ID}"
|
|
594
|
+
]
|
|
595
|
+
},
|
|
596
|
+
"clientSecret": {
|
|
597
|
+
"anyOf": [
|
|
598
|
+
{
|
|
599
|
+
"type": "string",
|
|
600
|
+
"minLength": 1
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"type": "string",
|
|
604
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
605
|
+
}
|
|
606
|
+
],
|
|
607
|
+
"description": "OAuth 2.0 client secret. Supports ${ENV_VAR} placeholders.",
|
|
608
|
+
"examples": [
|
|
609
|
+
"${KMS_CLIENT_SECRET}"
|
|
610
|
+
]
|
|
611
|
+
},
|
|
612
|
+
"scope": {
|
|
613
|
+
"description": "Space-separated list of OAuth 2.0 scopes to request. Optional.",
|
|
614
|
+
"examples": [
|
|
615
|
+
"kms:sign kms:admin"
|
|
616
|
+
],
|
|
617
|
+
"anyOf": [
|
|
618
|
+
{
|
|
619
|
+
"type": "string",
|
|
620
|
+
"minLength": 1
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
"type": "string",
|
|
624
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
625
|
+
}
|
|
626
|
+
]
|
|
627
|
+
}
|
|
628
|
+
},
|
|
629
|
+
"required": [
|
|
630
|
+
"type",
|
|
631
|
+
"tokenUrl",
|
|
632
|
+
"clientId",
|
|
633
|
+
"clientSecret"
|
|
634
|
+
],
|
|
635
|
+
"additionalProperties": false
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"type": "object",
|
|
639
|
+
"properties": {
|
|
640
|
+
"type": {
|
|
641
|
+
"type": "string",
|
|
642
|
+
"const": "mtls",
|
|
643
|
+
"description": "Mutual TLS — EUDIPLO presents a client certificate on every connection.",
|
|
644
|
+
"examples": [
|
|
645
|
+
"mtls"
|
|
646
|
+
]
|
|
647
|
+
},
|
|
648
|
+
"certFile": {
|
|
649
|
+
"anyOf": [
|
|
650
|
+
{
|
|
651
|
+
"type": "string",
|
|
652
|
+
"minLength": 1
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"type": "string",
|
|
656
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
657
|
+
}
|
|
658
|
+
],
|
|
659
|
+
"description": "Absolute path to the PEM-encoded client certificate file. Supports ${ENV_VAR} placeholders.",
|
|
660
|
+
"examples": [
|
|
661
|
+
"/etc/certs/eudiplo.crt"
|
|
662
|
+
]
|
|
663
|
+
},
|
|
664
|
+
"keyFile": {
|
|
665
|
+
"anyOf": [
|
|
666
|
+
{
|
|
667
|
+
"type": "string",
|
|
668
|
+
"minLength": 1
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"type": "string",
|
|
672
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
673
|
+
}
|
|
674
|
+
],
|
|
675
|
+
"description": "Absolute path to the PEM-encoded private key file for the client certificate. Supports ${ENV_VAR} placeholders.",
|
|
676
|
+
"examples": [
|
|
677
|
+
"/etc/certs/eudiplo.key"
|
|
678
|
+
]
|
|
679
|
+
},
|
|
680
|
+
"caFile": {
|
|
681
|
+
"description": "Absolute path to the PEM-encoded CA bundle to trust for the remote server's certificate. Omit to use the system CA store.",
|
|
682
|
+
"examples": [
|
|
683
|
+
"/etc/certs/ca.crt"
|
|
684
|
+
],
|
|
685
|
+
"anyOf": [
|
|
686
|
+
{
|
|
687
|
+
"type": "string",
|
|
688
|
+
"minLength": 1
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
"type": "string",
|
|
692
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
693
|
+
}
|
|
694
|
+
]
|
|
695
|
+
}
|
|
696
|
+
},
|
|
697
|
+
"required": [
|
|
698
|
+
"type",
|
|
699
|
+
"certFile",
|
|
700
|
+
"keyFile"
|
|
701
|
+
],
|
|
702
|
+
"additionalProperties": false
|
|
703
|
+
}
|
|
704
|
+
]
|
|
705
|
+
},
|
|
706
|
+
"keysPath": {
|
|
707
|
+
"description": "Path prefix for key endpoints on the remote service. Defaults to /keys.",
|
|
708
|
+
"examples": [
|
|
709
|
+
"/v1/keys"
|
|
710
|
+
],
|
|
711
|
+
"anyOf": [
|
|
712
|
+
{
|
|
713
|
+
"type": "string",
|
|
714
|
+
"minLength": 1
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
"type": "string",
|
|
718
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
719
|
+
}
|
|
720
|
+
]
|
|
721
|
+
},
|
|
722
|
+
"healthPath": {
|
|
723
|
+
"description": "Path for the health check endpoint on the remote service. Defaults to /health.",
|
|
724
|
+
"examples": [
|
|
725
|
+
"/health"
|
|
726
|
+
],
|
|
727
|
+
"anyOf": [
|
|
728
|
+
{
|
|
729
|
+
"type": "string",
|
|
730
|
+
"minLength": 1
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
"type": "string",
|
|
734
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
735
|
+
}
|
|
736
|
+
]
|
|
737
|
+
},
|
|
738
|
+
"canImport": {
|
|
739
|
+
"description": "Whether the remote service supports key import via POST {keysPath}/{kid}/import. Defaults to false.",
|
|
740
|
+
"examples": [
|
|
741
|
+
false
|
|
742
|
+
],
|
|
743
|
+
"type": "boolean"
|
|
744
|
+
}
|
|
745
|
+
},
|
|
746
|
+
"required": [
|
|
747
|
+
"id",
|
|
748
|
+
"type",
|
|
749
|
+
"baseUrl"
|
|
750
|
+
],
|
|
751
|
+
"additionalProperties": false
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
"type": "object",
|
|
755
|
+
"properties": {
|
|
756
|
+
"id": {
|
|
757
|
+
"anyOf": [
|
|
758
|
+
{
|
|
759
|
+
"type": "string",
|
|
760
|
+
"minLength": 1
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"type": "string",
|
|
764
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
765
|
+
}
|
|
766
|
+
],
|
|
767
|
+
"description": "Unique identifier for this provider instance. Used when generating keys to specify which provider to use.",
|
|
768
|
+
"examples": [
|
|
769
|
+
"main-vault"
|
|
770
|
+
]
|
|
771
|
+
},
|
|
772
|
+
"type": {
|
|
773
|
+
"type": "string",
|
|
774
|
+
"const": "csc",
|
|
775
|
+
"description": "Type of the KMS provider.",
|
|
776
|
+
"examples": [
|
|
777
|
+
"csc"
|
|
778
|
+
]
|
|
779
|
+
},
|
|
780
|
+
"description": {
|
|
781
|
+
"description": "Human-readable description of this provider instance.",
|
|
782
|
+
"examples": [
|
|
783
|
+
"Production HashiCorp Vault for signing keys"
|
|
784
|
+
],
|
|
785
|
+
"anyOf": [
|
|
786
|
+
{
|
|
787
|
+
"type": "string",
|
|
788
|
+
"minLength": 1
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
"type": "string",
|
|
792
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
793
|
+
}
|
|
794
|
+
]
|
|
795
|
+
},
|
|
796
|
+
"baseUrl": {
|
|
797
|
+
"anyOf": [
|
|
798
|
+
{
|
|
799
|
+
"type": "string",
|
|
800
|
+
"format": "uri"
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
"type": "string",
|
|
804
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
805
|
+
}
|
|
806
|
+
],
|
|
807
|
+
"description": "Base URL of the CSC service (without trailing slash). Supports ${ENV_VAR} placeholders.",
|
|
808
|
+
"examples": [
|
|
809
|
+
"${CSC_URL}"
|
|
810
|
+
]
|
|
811
|
+
},
|
|
812
|
+
"tokenUrl": {
|
|
813
|
+
"anyOf": [
|
|
814
|
+
{
|
|
815
|
+
"type": "string",
|
|
816
|
+
"format": "uri"
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"type": "string",
|
|
820
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
821
|
+
}
|
|
822
|
+
],
|
|
823
|
+
"description": "OAuth2 token endpoint URL for client-credentials flow. Supports ${ENV_VAR} placeholders.",
|
|
824
|
+
"examples": [
|
|
825
|
+
"${CSC_TOKEN_URL}"
|
|
826
|
+
]
|
|
827
|
+
},
|
|
828
|
+
"clientId": {
|
|
829
|
+
"anyOf": [
|
|
830
|
+
{
|
|
831
|
+
"type": "string",
|
|
832
|
+
"minLength": 1
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"type": "string",
|
|
836
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
837
|
+
}
|
|
838
|
+
],
|
|
839
|
+
"description": "OAuth2 client ID. Supports ${ENV_VAR} placeholders.",
|
|
840
|
+
"examples": [
|
|
841
|
+
"${CSC_CLIENT_ID}"
|
|
842
|
+
]
|
|
843
|
+
},
|
|
844
|
+
"clientSecret": {
|
|
845
|
+
"anyOf": [
|
|
846
|
+
{
|
|
847
|
+
"type": "string",
|
|
848
|
+
"minLength": 1
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"type": "string",
|
|
852
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
853
|
+
}
|
|
854
|
+
],
|
|
855
|
+
"description": "OAuth2 client secret. Supports ${ENV_VAR} placeholders.",
|
|
856
|
+
"examples": [
|
|
857
|
+
"${CSC_CLIENT_SECRET}"
|
|
858
|
+
]
|
|
859
|
+
},
|
|
860
|
+
"scope": {
|
|
861
|
+
"description": "OAuth2 scope to request during token acquisition.",
|
|
862
|
+
"examples": [
|
|
863
|
+
"service"
|
|
864
|
+
],
|
|
865
|
+
"anyOf": [
|
|
866
|
+
{
|
|
867
|
+
"type": "string",
|
|
868
|
+
"minLength": 1
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
"type": "string",
|
|
872
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
873
|
+
}
|
|
874
|
+
]
|
|
875
|
+
},
|
|
876
|
+
"credentialId": {
|
|
877
|
+
"description": "Default CSC credential ID. If omitted, the adapter calls credentials/list and picks the first entry.",
|
|
878
|
+
"examples": [
|
|
879
|
+
"[INTESIQCSEALEC]_SEAL_351_SIGN_1781018892758"
|
|
880
|
+
],
|
|
881
|
+
"anyOf": [
|
|
882
|
+
{
|
|
883
|
+
"type": "string",
|
|
884
|
+
"minLength": 1
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"type": "string",
|
|
888
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
889
|
+
}
|
|
890
|
+
]
|
|
891
|
+
},
|
|
892
|
+
"userId": {
|
|
893
|
+
"description": "Optional CSC user ID used in credentials/list requests.",
|
|
894
|
+
"examples": [
|
|
895
|
+
"eudiplo_user"
|
|
896
|
+
],
|
|
897
|
+
"anyOf": [
|
|
898
|
+
{
|
|
899
|
+
"type": "string",
|
|
900
|
+
"minLength": 1
|
|
901
|
+
},
|
|
902
|
+
{
|
|
903
|
+
"type": "string",
|
|
904
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
905
|
+
}
|
|
906
|
+
]
|
|
907
|
+
},
|
|
908
|
+
"apiPath": {
|
|
909
|
+
"description": "CSC API path prefix appended to baseUrl. Defaults to /csc/v2.",
|
|
910
|
+
"examples": [
|
|
911
|
+
"/csc/v2"
|
|
912
|
+
],
|
|
913
|
+
"anyOf": [
|
|
914
|
+
{
|
|
915
|
+
"type": "string",
|
|
916
|
+
"minLength": 1
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"type": "string",
|
|
920
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
921
|
+
}
|
|
922
|
+
]
|
|
923
|
+
},
|
|
924
|
+
"hashAlgorithmOid": {
|
|
925
|
+
"description": "Hash algorithm OID for signatures/signHash and credentials/authorize. Defaults to SHA-256 OID.",
|
|
926
|
+
"examples": [
|
|
927
|
+
"2.16.840.1.101.3.4.2.1"
|
|
928
|
+
],
|
|
929
|
+
"anyOf": [
|
|
930
|
+
{
|
|
931
|
+
"type": "string",
|
|
932
|
+
"minLength": 1
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
"type": "string",
|
|
936
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
937
|
+
}
|
|
938
|
+
]
|
|
939
|
+
},
|
|
940
|
+
"signAlgorithmOid": {
|
|
941
|
+
"description": "Signature algorithm OID for signatures/signHash. Defaults to ecdsa-with-SHA256 OID.",
|
|
942
|
+
"examples": [
|
|
943
|
+
"1.2.840.10045.4.3.2"
|
|
944
|
+
],
|
|
945
|
+
"anyOf": [
|
|
946
|
+
{
|
|
947
|
+
"type": "string",
|
|
948
|
+
"minLength": 1
|
|
949
|
+
},
|
|
950
|
+
{
|
|
951
|
+
"type": "string",
|
|
952
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
953
|
+
}
|
|
954
|
+
]
|
|
955
|
+
},
|
|
956
|
+
"sad": {
|
|
957
|
+
"description": "Static SAD token. If set, the adapter sends it directly in signatures/signHash requests.",
|
|
958
|
+
"anyOf": [
|
|
959
|
+
{
|
|
960
|
+
"type": "string",
|
|
961
|
+
"minLength": 1
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
"type": "string",
|
|
965
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
966
|
+
}
|
|
967
|
+
]
|
|
968
|
+
},
|
|
969
|
+
"useAuthorizeEndpoint": {
|
|
970
|
+
"description": "When true and no static SAD is provided, the adapter calls credentials/authorize to obtain SAD before signatures/signHash.",
|
|
971
|
+
"examples": [
|
|
972
|
+
false
|
|
973
|
+
],
|
|
974
|
+
"type": "boolean"
|
|
975
|
+
},
|
|
976
|
+
"authorizeAuthData": {
|
|
977
|
+
"description": "Optional authData array passed to credentials/authorize (e.g., PIN/OTP factors).",
|
|
978
|
+
"type": "array",
|
|
979
|
+
"items": {
|
|
980
|
+
"type": "object",
|
|
981
|
+
"properties": {
|
|
982
|
+
"id": {
|
|
983
|
+
"anyOf": [
|
|
984
|
+
{
|
|
985
|
+
"type": "string",
|
|
986
|
+
"minLength": 1
|
|
987
|
+
},
|
|
988
|
+
{
|
|
989
|
+
"type": "string",
|
|
990
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
991
|
+
}
|
|
992
|
+
],
|
|
993
|
+
"description": "Authentication factor identifier expected by the CSC provider (e.g., PIN, OTP).",
|
|
994
|
+
"examples": [
|
|
995
|
+
"PIN"
|
|
996
|
+
]
|
|
997
|
+
},
|
|
998
|
+
"value": {
|
|
999
|
+
"anyOf": [
|
|
1000
|
+
{
|
|
1001
|
+
"type": "string",
|
|
1002
|
+
"minLength": 1
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
"type": "string",
|
|
1006
|
+
"pattern": "^\\$\\{([A-Z0-9_]+)\\}$"
|
|
1007
|
+
}
|
|
1008
|
+
],
|
|
1009
|
+
"description": "Authentication factor value sent to CSC credentials/authorize.",
|
|
1010
|
+
"examples": [
|
|
1011
|
+
"123456"
|
|
1012
|
+
]
|
|
1013
|
+
}
|
|
1014
|
+
},
|
|
1015
|
+
"required": [
|
|
1016
|
+
"id",
|
|
1017
|
+
"value"
|
|
1018
|
+
],
|
|
1019
|
+
"additionalProperties": false
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
},
|
|
1023
|
+
"required": [
|
|
1024
|
+
"id",
|
|
1025
|
+
"type",
|
|
1026
|
+
"baseUrl",
|
|
1027
|
+
"tokenUrl",
|
|
1028
|
+
"clientId",
|
|
1029
|
+
"clientSecret"
|
|
1030
|
+
],
|
|
1031
|
+
"additionalProperties": false
|
|
1032
|
+
}
|
|
1033
|
+
]
|
|
1034
|
+
},
|
|
1035
|
+
"description": "List of KMS provider configurations. Each provider must have a unique id and a type.",
|
|
1036
|
+
"examples": [
|
|
1037
|
+
[
|
|
1038
|
+
{
|
|
1039
|
+
"id": "db",
|
|
1040
|
+
"type": "db",
|
|
1041
|
+
"description": "Default database provider"
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
"id": "main-vault",
|
|
1045
|
+
"type": "vault",
|
|
1046
|
+
"description": "Production Vault",
|
|
1047
|
+
"vaultUrl": "${VAULT_URL}",
|
|
1048
|
+
"vaultToken": "${VAULT_TOKEN}"
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
"id": "aws",
|
|
1052
|
+
"type": "aws-kms",
|
|
1053
|
+
"description": "AWS KMS",
|
|
1054
|
+
"region": "${AWS_REGION}"
|
|
1055
|
+
}
|
|
1056
|
+
]
|
|
1057
|
+
]
|
|
1058
|
+
}
|
|
1059
|
+
},
|
|
1060
|
+
"required": [
|
|
1061
|
+
"providers"
|
|
1062
|
+
],
|
|
1063
|
+
"additionalProperties": false,
|
|
1064
|
+
"title": "KmsConfigDto"
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
42
1067
|
}
|
|
43
1068
|
]
|
|
44
1069
|
}
|