@webda/azure 0.0.0-stage → 4.0.0-beta.13

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 (68) hide show
  1. package/LICENSE +166 -0
  2. package/README.md +248 -2
  3. package/lib/auth.d.ts +30 -0
  4. package/lib/auth.d.ts.map +1 -0
  5. package/lib/auth.js +70 -0
  6. package/lib/auth.js.map +1 -0
  7. package/lib/deployers/arm.service.d.ts +108 -0
  8. package/lib/deployers/arm.service.d.ts.map +1 -0
  9. package/lib/deployers/arm.service.js +280 -0
  10. package/lib/deployers/arm.service.js.map +1 -0
  11. package/lib/deployers/containerapps.service.d.ts +156 -0
  12. package/lib/deployers/containerapps.service.d.ts.map +1 -0
  13. package/lib/deployers/containerapps.service.js +455 -0
  14. package/lib/deployers/containerapps.service.js.map +1 -0
  15. package/lib/deployers/functions-entrypoint.d.ts +48 -0
  16. package/lib/deployers/functions-entrypoint.d.ts.map +1 -0
  17. package/lib/deployers/functions-entrypoint.js +78 -0
  18. package/lib/deployers/functions-entrypoint.js.map +1 -0
  19. package/lib/deployers/functions.service.d.ts +66 -0
  20. package/lib/deployers/functions.service.d.ts.map +1 -0
  21. package/lib/deployers/functions.service.js +322 -0
  22. package/lib/deployers/functions.service.js.map +1 -0
  23. package/lib/deployers/functionspackager.service.d.ts +43 -0
  24. package/lib/deployers/functionspackager.service.d.ts.map +1 -0
  25. package/lib/deployers/functionspackager.service.js +151 -0
  26. package/lib/deployers/functionspackager.service.js.map +1 -0
  27. package/lib/index.d.ts +15 -0
  28. package/lib/index.d.ts.map +1 -0
  29. package/lib/index.js +18 -0
  30. package/lib/index.js.map +1 -0
  31. package/lib/services/azure-parameters.d.ts +41 -0
  32. package/lib/services/azure-parameters.d.ts.map +1 -0
  33. package/lib/services/azure-parameters.js +43 -0
  34. package/lib/services/azure-parameters.js.map +1 -0
  35. package/lib/services/blob.service.d.ts +157 -0
  36. package/lib/services/blob.service.d.ts.map +1 -0
  37. package/lib/services/blob.service.js +428 -0
  38. package/lib/services/blob.service.js.map +1 -0
  39. package/lib/services/contributors.d.ts +47 -0
  40. package/lib/services/contributors.d.ts.map +1 -0
  41. package/lib/services/contributors.js +2 -0
  42. package/lib/services/contributors.js.map +1 -0
  43. package/lib/services/cosmos.service.d.ts +211 -0
  44. package/lib/services/cosmos.service.d.ts.map +1 -0
  45. package/lib/services/cosmos.service.js +554 -0
  46. package/lib/services/cosmos.service.js.map +1 -0
  47. package/lib/services/functionserver.service.d.ts +42 -0
  48. package/lib/services/functionserver.service.d.ts.map +1 -0
  49. package/lib/services/functionserver.service.js +223 -0
  50. package/lib/services/functionserver.service.js.map +1 -0
  51. package/lib/services/keyvault.service.d.ts +91 -0
  52. package/lib/services/keyvault.service.d.ts.map +1 -0
  53. package/lib/services/keyvault.service.js +225 -0
  54. package/lib/services/keyvault.service.js.map +1 -0
  55. package/lib/services/monitorlogger.service.d.ts +66 -0
  56. package/lib/services/monitorlogger.service.d.ts.map +1 -0
  57. package/lib/services/monitorlogger.service.js +131 -0
  58. package/lib/services/monitorlogger.service.js.map +1 -0
  59. package/lib/services/servicebus.service.d.ts +128 -0
  60. package/lib/services/servicebus.service.d.ts.map +1 -0
  61. package/lib/services/servicebus.service.js +324 -0
  62. package/lib/services/servicebus.service.js.map +1 -0
  63. package/lib/template.d.ts +53 -0
  64. package/lib/template.d.ts.map +1 -0
  65. package/lib/template.js +74 -0
  66. package/lib/template.js.map +1 -0
  67. package/package.json +77 -3
  68. package/webda.module.json +1817 -0
@@ -0,0 +1,1817 @@
1
+ {
2
+ "$schema": "https://webda.io/schemas/webda.module.v4.json",
3
+ "beans": {},
4
+ "deployers": {},
5
+ "moddas": {
6
+ "Webda/AzureBlobBinary": {
7
+ "Import": "lib/services/blob.service:AzureBlobBinary",
8
+ "Schema": {
9
+ "$schema": "http://json-schema.org/draft-07/schema#",
10
+ "additionalProperties": false,
11
+ "definitions": {
12
+ "contentStorage#2": {
13
+ "additionalProperties": false,
14
+ "properties": {
15
+ "default": {
16
+ "default": false,
17
+ "type": "boolean"
18
+ },
19
+ "register": {
20
+ "default": false,
21
+ "type": "boolean"
22
+ }
23
+ },
24
+ "type": "object"
25
+ },
26
+ "models": {
27
+ "additionalProperties": {
28
+ "items": {
29
+ "type": "string"
30
+ },
31
+ "type": "array"
32
+ },
33
+ "description": "Define the map of models\n* indicates all models\n\nkey is a Store name\nthe string[] represent all valids attributes to store files in * indicates all attributes",
34
+ "type": "object"
35
+ }
36
+ },
37
+ "description": "Blob storage settings. Shared keys are optional; managed identity is preferred.",
38
+ "properties": {
39
+ "account": {
40
+ "type": "string"
41
+ },
42
+ "clientId": {
43
+ "description": "Service principal or user-assigned managed identity client id; defaults to AZURE_CLIENT_ID.",
44
+ "type": "string"
45
+ },
46
+ "clientSecret": {
47
+ "description": "Service principal secret; defaults to AZURE_CLIENT_SECRET. Prefer managed/workload identity.",
48
+ "type": "string",
49
+ "x-webda-secret": true
50
+ },
51
+ "connectionString": {
52
+ "type": "string",
53
+ "x-webda-secret": true
54
+ },
55
+ "container": {
56
+ "type": "string"
57
+ },
58
+ "contentStorage": {
59
+ "$ref": "#/definitions/contentStorage%232"
60
+ },
61
+ "createContainer": {
62
+ "default": false,
63
+ "type": "boolean"
64
+ },
65
+ "endpoint": {
66
+ "description": "Service-specific endpoint override, for example Azurite. This is not an identity authority URL.",
67
+ "type": "string"
68
+ },
69
+ "maxFileSize": {
70
+ "default": "10 MB",
71
+ "description": "Define the maximum filesize to accept as direct upload\nGet the max file size in bytes",
72
+ "returns": "the result number",
73
+ "type": "number"
74
+ },
75
+ "maxUploadSize": {
76
+ "description": "Maximum size accepted for a direct-to-bucket upload, undefined means no limit",
77
+ "returns": "the limit in bytes or undefined",
78
+ "type": [
79
+ "string",
80
+ "number"
81
+ ]
82
+ },
83
+ "models": {
84
+ "$ref": "#/definitions/models",
85
+ "description": "Define the map of models\n* indicates all models\n\nkey is a Store name\nthe string[] represent all valids attributes to store files in * indicates all attributes"
86
+ },
87
+ "pendingTimeout": {
88
+ "type": "number"
89
+ },
90
+ "prefix": {
91
+ "type": "string"
92
+ },
93
+ "serviceVersion": {
94
+ "description": "Override the Blob API/SAS version for older Azurite installations.",
95
+ "type": "string"
96
+ },
97
+ "subscriptionId": {
98
+ "description": "Subscription containing the resources; defaults to AZURE_SUBSCRIPTION_ID.",
99
+ "type": "string"
100
+ },
101
+ "tenantId": {
102
+ "description": "Microsoft Entra tenant; defaults to AZURE_TENANT_ID.",
103
+ "type": "string"
104
+ },
105
+ "type": {
106
+ "description": "Type of the service",
107
+ "type": "string"
108
+ },
109
+ "urlExpiry": {
110
+ "default": 30,
111
+ "description": "Lifetime in seconds of the signed URLs",
112
+ "type": "number"
113
+ },
114
+ "openapi": {
115
+ "type": "object",
116
+ "additionalProperties": true
117
+ }
118
+ },
119
+ "required": [
120
+ "container",
121
+ "models",
122
+ "type"
123
+ ],
124
+ "type": "object",
125
+ "title": "AzureBlobBinary"
126
+ },
127
+ "Configuration": "lib/services/blob.service:AzureBlobBinaryParameters"
128
+ },
129
+ "Webda/AzureContainerAppsDeployer": {
130
+ "Import": "lib/deployers/containerapps.service:AzureContainerAppsDeployer",
131
+ "Schema": {
132
+ "$schema": "http://json-schema.org/draft-07/schema#",
133
+ "additionalProperties": false,
134
+ "definitions": {
135
+ "PackageOptions": {
136
+ "additionalProperties": false,
137
+ "description": "Options of {@link packageApplication}",
138
+ "properties": {
139
+ "excludePatterns": {
140
+ "default": [
141
+ "\\.d\\.ts$"
142
+ ],
143
+ "description": "Regular expressions on the source path of the files to skip",
144
+ "items": {
145
+ "type": "string"
146
+ },
147
+ "type": "array"
148
+ },
149
+ "excludeServices": {
150
+ "description": "Services to remove from the packaged configuration, like the ones injected by the CLI to run a command",
151
+ "items": {
152
+ "type": "string"
153
+ },
154
+ "type": "array"
155
+ },
156
+ "ignores": {
157
+ "description": "Additional top-level entries of the application to skip",
158
+ "items": {
159
+ "type": "string"
160
+ },
161
+ "type": "array"
162
+ },
163
+ "modules": {
164
+ "$ref": "#/definitions/package%24modules%232",
165
+ "description": "Dependencies to add or remove from the application production dependencies"
166
+ }
167
+ },
168
+ "type": "object"
169
+ },
170
+ "Record<string, Record<string, any>>": {
171
+ "additionalProperties": {
172
+ "$ref": "#/definitions/Record%3Cstring%2C%20any%3E"
173
+ },
174
+ "description": "Construct a type with a set of properties K of type T",
175
+ "type": "object"
176
+ },
177
+ "Record<string, RegistryCredentials>": {
178
+ "additionalProperties": {
179
+ "$ref": "#/definitions/RegistryCredentials"
180
+ },
181
+ "description": "Construct a type with a set of properties K of type T",
182
+ "type": "object"
183
+ },
184
+ "Record<string, any>": {
185
+ "additionalProperties": {},
186
+ "description": "Construct a type with a set of properties K of type T",
187
+ "type": "object"
188
+ },
189
+ "Record<string, string | SecretString | { keyVaultUrl: string; identity: string; }>": {
190
+ "additionalProperties": {
191
+ "anyOf": [
192
+ {
193
+ "type": "string"
194
+ },
195
+ {
196
+ "$ref": "#/definitions/secrets%24%5Bkey%3A%20string%5D%233"
197
+ }
198
+ ],
199
+ "x-webda-secret": true
200
+ },
201
+ "description": "Construct a type with a set of properties K of type T",
202
+ "type": "object"
203
+ },
204
+ "Record<string, string | { secretRef: string; }>": {
205
+ "additionalProperties": {
206
+ "anyOf": [
207
+ {
208
+ "type": "string"
209
+ },
210
+ {
211
+ "$ref": "#/definitions/containerApp%24env%232%24%5Bkey%3A%20string%5D%232"
212
+ }
213
+ ]
214
+ },
215
+ "description": "Construct a type with a set of properties K of type T",
216
+ "type": "object"
217
+ },
218
+ "Record<string, string>": {
219
+ "additionalProperties": {
220
+ "type": "string"
221
+ },
222
+ "description": "Construct a type with a set of properties K of type T",
223
+ "type": "object"
224
+ },
225
+ "RegistryCredentials": {
226
+ "additionalProperties": false,
227
+ "description": "Credentials of a registry, as configured",
228
+ "properties": {
229
+ "identityToken": {
230
+ "description": "Identity token (OAuth2 refresh token) as stored by `docker login` for some registries\n\nCan be encrypted with `webda config encrypt`",
231
+ "type": "string",
232
+ "x-webda-secret": true
233
+ },
234
+ "password": {
235
+ "description": "Password or access token used with the user name\n\nCan be encrypted with `webda config encrypt`",
236
+ "type": "string",
237
+ "x-webda-secret": true
238
+ },
239
+ "token": {
240
+ "description": "Registry bearer token sent as is, without token exchange\n\nCan be encrypted with `webda config encrypt`",
241
+ "type": "string",
242
+ "x-webda-secret": true
243
+ },
244
+ "username": {
245
+ "description": "User name",
246
+ "type": "string"
247
+ }
248
+ },
249
+ "type": "object"
250
+ },
251
+ "containerApp": {
252
+ "additionalProperties": false,
253
+ "properties": {
254
+ "cpu": {
255
+ "type": "number"
256
+ },
257
+ "env": {
258
+ "$ref": "#/definitions/Record%3Cstring%2C%20string%20%7C%20%7B%20secretRef%3A%20string%3B%20%7D%3E"
259
+ },
260
+ "ingress": {
261
+ "anyOf": [
262
+ {
263
+ "const": false,
264
+ "type": "boolean"
265
+ },
266
+ {
267
+ "$ref": "#/definitions/containerApp%24ingress%233"
268
+ }
269
+ ]
270
+ },
271
+ "maxReplicas": {
272
+ "type": "number"
273
+ },
274
+ "memory": {
275
+ "type": "string"
276
+ },
277
+ "minReplicas": {
278
+ "type": "number"
279
+ },
280
+ "name": {
281
+ "type": "string"
282
+ },
283
+ "probes": {
284
+ "items": {
285
+ "$ref": "#/definitions/Record%3Cstring%2C%20any%3E"
286
+ },
287
+ "type": "array"
288
+ },
289
+ "scaleRules": {
290
+ "items": {
291
+ "$ref": "#/definitions/Record%3Cstring%2C%20any%3E"
292
+ },
293
+ "type": "array"
294
+ }
295
+ },
296
+ "type": "object"
297
+ },
298
+ "containerApp$env#2$[key: string]#2": {
299
+ "additionalProperties": false,
300
+ "properties": {
301
+ "secretRef": {
302
+ "type": "string"
303
+ }
304
+ },
305
+ "required": [
306
+ "secretRef"
307
+ ],
308
+ "type": "object"
309
+ },
310
+ "containerApp$ingress#3": {
311
+ "additionalProperties": false,
312
+ "properties": {
313
+ "external": {
314
+ "default": false,
315
+ "type": "boolean"
316
+ },
317
+ "targetPort": {
318
+ "type": "number"
319
+ },
320
+ "transport": {
321
+ "type": "string"
322
+ }
323
+ },
324
+ "type": "object"
325
+ },
326
+ "customDomains[]": {
327
+ "additionalProperties": false,
328
+ "properties": {
329
+ "bindingType": {
330
+ "type": "string"
331
+ },
332
+ "certificateId": {
333
+ "type": "string"
334
+ },
335
+ "name": {
336
+ "type": "string"
337
+ },
338
+ "validationMethod": {
339
+ "enum": [
340
+ "CNAME",
341
+ "HTTP"
342
+ ],
343
+ "type": "string"
344
+ }
345
+ },
346
+ "required": [
347
+ "name"
348
+ ],
349
+ "type": "object"
350
+ },
351
+ "environment": {
352
+ "additionalProperties": false,
353
+ "properties": {
354
+ "id": {
355
+ "type": "string"
356
+ },
357
+ "name": {
358
+ "type": "string"
359
+ }
360
+ },
361
+ "type": "object"
362
+ },
363
+ "logAnalytics#2": {
364
+ "additionalProperties": false,
365
+ "properties": {
366
+ "name": {
367
+ "type": "string"
368
+ },
369
+ "retentionInDays": {
370
+ "type": "number"
371
+ }
372
+ },
373
+ "type": "object"
374
+ },
375
+ "package$modules#2": {
376
+ "additionalProperties": false,
377
+ "properties": {
378
+ "excludes": {
379
+ "items": {
380
+ "type": "string"
381
+ },
382
+ "type": "array"
383
+ },
384
+ "includes": {
385
+ "items": {
386
+ "type": "string"
387
+ },
388
+ "type": "array"
389
+ }
390
+ },
391
+ "type": "object"
392
+ },
393
+ "secrets$[key: string]#3": {
394
+ "additionalProperties": false,
395
+ "properties": {
396
+ "identity": {
397
+ "type": "string"
398
+ },
399
+ "keyVaultUrl": {
400
+ "type": "string"
401
+ }
402
+ },
403
+ "required": [
404
+ "identity",
405
+ "keyVaultUrl"
406
+ ],
407
+ "type": "object"
408
+ }
409
+ },
410
+ "description": "Azure Container Apps unit parameters. Image tags and Azure resource tags are separate.",
411
+ "properties": {
412
+ "baseImage": {
413
+ "default": "node:22-slim",
414
+ "description": "Base image, `scratch` for none",
415
+ "type": "string"
416
+ },
417
+ "clientId": {
418
+ "description": "Service principal or user-assigned managed identity client id; defaults to AZURE_CLIENT_ID.",
419
+ "type": "string"
420
+ },
421
+ "clientSecret": {
422
+ "description": "Service principal secret; defaults to AZURE_CLIENT_SECRET. Prefer managed/workload identity.",
423
+ "type": "string",
424
+ "x-webda-secret": true
425
+ },
426
+ "cmd": {
427
+ "default": [
428
+ "serve",
429
+ "--bind",
430
+ "0.0.0.0"
431
+ ],
432
+ "description": "Command of the image, the arguments of the entrypoint",
433
+ "items": {
434
+ "type": "string"
435
+ },
436
+ "type": "array"
437
+ },
438
+ "containerApp": {
439
+ "$ref": "#/definitions/containerApp"
440
+ },
441
+ "createResourceGroup": {
442
+ "default": false,
443
+ "type": "boolean"
444
+ },
445
+ "credentials": {
446
+ "$ref": "#/definitions/Record%3Cstring%2C%20RegistryCredentials%3E",
447
+ "default": "{}\n\nUse templates to read them from the environment: `{ \"ghcr.io\": { \"username\": \"${env.GHCR_USER}\", \"password\": \"${env.GHCR_TOKEN}\" } }`\n\n`password`, `identityToken` and `token` can be encrypted with `webda config encrypt`",
448
+ "description": "Credentials per registry host, they take precedence over `~/.docker/config.json`"
449
+ },
450
+ "crons": {
451
+ "default": true,
452
+ "type": "boolean"
453
+ },
454
+ "customDomains": {
455
+ "items": {
456
+ "$ref": "#/definitions/customDomains%5B%5D"
457
+ },
458
+ "type": "array"
459
+ },
460
+ "customResources": {
461
+ "anyOf": [
462
+ {
463
+ "items": {
464
+ "$ref": "#/definitions/Record%3Cstring%2C%20any%3E"
465
+ },
466
+ "type": "array"
467
+ },
468
+ {
469
+ "$ref": "#/definitions/Record%3Cstring%2C%20Record%3Cstring%2C%20any%3E%3E"
470
+ }
471
+ ]
472
+ },
473
+ "deploymentName": {
474
+ "type": "string"
475
+ },
476
+ "endpoint": {
477
+ "description": "Service-specific endpoint override, for example Azurite. This is not an identity authority URL.",
478
+ "type": "string"
479
+ },
480
+ "entrypoint": {
481
+ "default": [
482
+ "node",
483
+ "<workdir>/node_modules/@webda/core/lib/bin/cli.js"
484
+ ],
485
+ "description": "Entrypoint of the image",
486
+ "items": {
487
+ "type": "string"
488
+ },
489
+ "type": "array"
490
+ },
491
+ "env": {
492
+ "$ref": "#/definitions/Record%3Cstring%2C%20string%3E",
493
+ "default": {
494
+ "NODE_ENV": "production"
495
+ },
496
+ "description": "Environment variables"
497
+ },
498
+ "environment": {
499
+ "$ref": "#/definitions/environment"
500
+ },
501
+ "exposedPorts": {
502
+ "default": [
503
+ "18080/tcp"
504
+ ],
505
+ "description": "Exposed ports",
506
+ "items": {
507
+ "type": "string"
508
+ },
509
+ "type": "array"
510
+ },
511
+ "image": {
512
+ "description": "Repository to push to, without tag: `ghcr.io/my-org/my-app`\n\nRequired to push.",
513
+ "type": "string"
514
+ },
515
+ "insecureRegistries": {
516
+ "default": [],
517
+ "description": "Registries reached over plain http, `localhost` and `127.0.0.1` always are",
518
+ "items": {
519
+ "type": "string"
520
+ },
521
+ "type": "array"
522
+ },
523
+ "labels": {
524
+ "$ref": "#/definitions/Record%3Cstring%2C%20string%3E",
525
+ "default": {},
526
+ "description": "Labels, added to the default OCI ones (version, revision, source, title)"
527
+ },
528
+ "location": {
529
+ "default": "westeurope",
530
+ "type": "string"
531
+ },
532
+ "logAnalytics": {
533
+ "anyOf": [
534
+ {
535
+ "const": false,
536
+ "type": "boolean"
537
+ },
538
+ {
539
+ "$ref": "#/definitions/logAnalytics%232"
540
+ }
541
+ ]
542
+ },
543
+ "mtime": {
544
+ "default": "the SOURCE_DATE_EPOCH environment variable, or 0",
545
+ "description": "Modification time of the files and creation time of the image, in seconds",
546
+ "type": "number"
547
+ },
548
+ "output": {
549
+ "default": ".webda/oci/${deployer.name}",
550
+ "description": "Output of `container build`: an OCI layout folder, or a tar archive when ending with `.tar`\n\nRelative to the application folder. The folder keeps the downloaded base layers between builds.",
551
+ "type": "string"
552
+ },
553
+ "package": {
554
+ "$ref": "#/definitions/PackageOptions",
555
+ "default": {},
556
+ "description": "Options of the application packaging"
557
+ },
558
+ "platforms": {
559
+ "default": [
560
+ "linux/amd64"
561
+ ],
562
+ "description": "Platforms to build, several platforms produce a multi-platform index",
563
+ "items": {
564
+ "type": "string"
565
+ },
566
+ "type": "array"
567
+ },
568
+ "registry": {
569
+ "type": "string"
570
+ },
571
+ "registryAuth": {
572
+ "default": "aad",
573
+ "enum": [
574
+ "aad",
575
+ "identity",
576
+ "none"
577
+ ],
578
+ "type": "string"
579
+ },
580
+ "resourceGroup": {
581
+ "type": "string"
582
+ },
583
+ "resourceTags": {
584
+ "$ref": "#/definitions/Record%3Cstring%2C%20string%3E"
585
+ },
586
+ "secrets": {
587
+ "$ref": "#/definitions/Record%3Cstring%2C%20string%20%7C%20SecretString%20%7C%20%7B%20keyVaultUrl%3A%20string%3B%20identity%3A%20string%3B%20%7D%3E"
588
+ },
589
+ "subscriptionId": {
590
+ "description": "Subscription containing the resources; defaults to AZURE_SUBSCRIPTION_ID.",
591
+ "type": "string"
592
+ },
593
+ "tags": {
594
+ "default": [
595
+ "${git.version}"
596
+ ],
597
+ "description": "Tags of the image\n\nInvalid characters are replaced by `-`, so the snapshot version `1.2.4+20261004120000`\nbecomes `1.2.4-20261004120000`.",
598
+ "items": {
599
+ "type": "string"
600
+ },
601
+ "type": "array"
602
+ },
603
+ "templateOutput": {
604
+ "type": "string"
605
+ },
606
+ "tenantId": {
607
+ "description": "Microsoft Entra tenant; defaults to AZURE_TENANT_ID.",
608
+ "type": "string"
609
+ },
610
+ "type": {
611
+ "description": "Type of the service",
612
+ "type": "string"
613
+ },
614
+ "user": {
615
+ "description": "User the container runs as, the base image one by default",
616
+ "type": "string"
617
+ },
618
+ "workdir": {
619
+ "default": "/app",
620
+ "description": "Folder of the application in the image",
621
+ "type": "string"
622
+ },
623
+ "openapi": {
624
+ "type": "object",
625
+ "additionalProperties": true
626
+ }
627
+ },
628
+ "required": [
629
+ "resourceGroup",
630
+ "subscriptionId",
631
+ "type"
632
+ ],
633
+ "type": "object",
634
+ "title": "AzureContainerAppsDeployer"
635
+ },
636
+ "Configuration": "lib/deployers/containerapps.service:AzureContainerAppsDeployerParameters",
637
+ "capabilities": [
638
+ "deployer"
639
+ ],
640
+ "commands": {
641
+ "azure template": {
642
+ "description": "Generate the Container Apps ARM template",
643
+ "method": "generate",
644
+ "args": {
645
+ "output": {
646
+ "type": "string"
647
+ }
648
+ }
649
+ },
650
+ "container push": {
651
+ "description": "Build and push the image using Azure registry authentication",
652
+ "method": "push",
653
+ "args": {}
654
+ },
655
+ "deploy": {
656
+ "description": "Build, publish and deploy the application to Azure Container Apps",
657
+ "method": "deploy",
658
+ "args": {}
659
+ }
660
+ }
661
+ },
662
+ "Webda/AzureFunctionServer": {
663
+ "Import": "lib/services/functionserver.service:AzureFunctionServer",
664
+ "Schema": {
665
+ "$schema": "http://json-schema.org/draft-07/schema#",
666
+ "additionalProperties": false,
667
+ "description": "Azure Functions HTTP adapter settings.",
668
+ "properties": {
669
+ "requestIdHeader": {
670
+ "default": "x-request-id",
671
+ "type": "string"
672
+ },
673
+ "type": {
674
+ "description": "Type of the service",
675
+ "type": "string"
676
+ },
677
+ "openapi": {
678
+ "type": "object",
679
+ "additionalProperties": true
680
+ }
681
+ },
682
+ "required": [
683
+ "type"
684
+ ],
685
+ "type": "object",
686
+ "title": "AzureFunctionServer"
687
+ },
688
+ "Configuration": "lib/services/functionserver.service:AzureFunctionServerParameters"
689
+ },
690
+ "Webda/AzureFunctionsDeployer": {
691
+ "Import": "lib/deployers/functions.service:AzureFunctionsDeployer",
692
+ "Schema": {
693
+ "$schema": "http://json-schema.org/draft-07/schema#",
694
+ "additionalProperties": false,
695
+ "definitions": {
696
+ "PackageOptions": {
697
+ "additionalProperties": false,
698
+ "description": "Options of {@link packageApplication}",
699
+ "properties": {
700
+ "excludePatterns": {
701
+ "default": [
702
+ "\\.d\\.ts$"
703
+ ],
704
+ "description": "Regular expressions on the source path of the files to skip",
705
+ "items": {
706
+ "type": "string"
707
+ },
708
+ "type": "array"
709
+ },
710
+ "excludeServices": {
711
+ "description": "Services to remove from the packaged configuration, like the ones injected by the CLI to run a command",
712
+ "items": {
713
+ "type": "string"
714
+ },
715
+ "type": "array"
716
+ },
717
+ "ignores": {
718
+ "description": "Additional top-level entries of the application to skip",
719
+ "items": {
720
+ "type": "string"
721
+ },
722
+ "type": "array"
723
+ },
724
+ "modules": {
725
+ "$ref": "#/definitions/package%24modules%232",
726
+ "description": "Dependencies to add or remove from the application production dependencies"
727
+ }
728
+ },
729
+ "type": "object"
730
+ },
731
+ "Record<string, Record<string, any>>": {
732
+ "additionalProperties": {
733
+ "$ref": "#/definitions/Record%3Cstring%2C%20any%3E"
734
+ },
735
+ "description": "Construct a type with a set of properties K of type T",
736
+ "type": "object"
737
+ },
738
+ "Record<string, RegistryCredentials>": {
739
+ "additionalProperties": {
740
+ "$ref": "#/definitions/RegistryCredentials"
741
+ },
742
+ "description": "Construct a type with a set of properties K of type T",
743
+ "type": "object"
744
+ },
745
+ "Record<string, any>": {
746
+ "additionalProperties": {},
747
+ "description": "Construct a type with a set of properties K of type T",
748
+ "type": "object"
749
+ },
750
+ "Record<string, string | SecretString>": {
751
+ "additionalProperties": {
752
+ "type": "string",
753
+ "x-webda-secret": true
754
+ },
755
+ "description": "Construct a type with a set of properties K of type T",
756
+ "type": "object"
757
+ },
758
+ "Record<string, string>": {
759
+ "additionalProperties": {
760
+ "type": "string"
761
+ },
762
+ "description": "Construct a type with a set of properties K of type T",
763
+ "type": "object"
764
+ },
765
+ "RegistryCredentials": {
766
+ "additionalProperties": false,
767
+ "description": "Credentials of a registry, as configured",
768
+ "properties": {
769
+ "identityToken": {
770
+ "description": "Identity token (OAuth2 refresh token) as stored by `docker login` for some registries\n\nCan be encrypted with `webda config encrypt`",
771
+ "type": "string",
772
+ "x-webda-secret": true
773
+ },
774
+ "password": {
775
+ "description": "Password or access token used with the user name\n\nCan be encrypted with `webda config encrypt`",
776
+ "type": "string",
777
+ "x-webda-secret": true
778
+ },
779
+ "token": {
780
+ "description": "Registry bearer token sent as is, without token exchange\n\nCan be encrypted with `webda config encrypt`",
781
+ "type": "string",
782
+ "x-webda-secret": true
783
+ },
784
+ "username": {
785
+ "description": "User name",
786
+ "type": "string"
787
+ }
788
+ },
789
+ "type": "object"
790
+ },
791
+ "package$modules#2": {
792
+ "additionalProperties": false,
793
+ "properties": {
794
+ "excludes": {
795
+ "items": {
796
+ "type": "string"
797
+ },
798
+ "type": "array"
799
+ },
800
+ "includes": {
801
+ "items": {
802
+ "type": "string"
803
+ },
804
+ "type": "array"
805
+ }
806
+ },
807
+ "type": "object"
808
+ },
809
+ "triggers#2[]#1": {
810
+ "additionalProperties": false,
811
+ "properties": {
812
+ "connection": {
813
+ "type": "string"
814
+ },
815
+ "name": {
816
+ "type": "string"
817
+ },
818
+ "queueName": {
819
+ "type": "string"
820
+ },
821
+ "type": {
822
+ "const": "servicebus",
823
+ "type": "string"
824
+ }
825
+ },
826
+ "required": [
827
+ "connection",
828
+ "name",
829
+ "queueName",
830
+ "type"
831
+ ],
832
+ "type": "object"
833
+ },
834
+ "triggers#2[]#2": {
835
+ "additionalProperties": false,
836
+ "properties": {
837
+ "connection": {
838
+ "type": "string"
839
+ },
840
+ "name": {
841
+ "type": "string"
842
+ },
843
+ "path": {
844
+ "type": "string"
845
+ },
846
+ "type": {
847
+ "const": "blob",
848
+ "type": "string"
849
+ }
850
+ },
851
+ "required": [
852
+ "connection",
853
+ "name",
854
+ "path",
855
+ "type"
856
+ ],
857
+ "type": "object"
858
+ },
859
+ "triggers#2[]#3": {
860
+ "additionalProperties": false,
861
+ "properties": {
862
+ "name": {
863
+ "type": "string"
864
+ },
865
+ "schedule": {
866
+ "type": "string"
867
+ },
868
+ "type": {
869
+ "const": "timer",
870
+ "type": "string"
871
+ }
872
+ },
873
+ "required": [
874
+ "name",
875
+ "schedule",
876
+ "type"
877
+ ],
878
+ "type": "object"
879
+ }
880
+ },
881
+ "description": "Azure Functions Flex Consumption unit settings.",
882
+ "properties": {
883
+ "appSettings": {
884
+ "$ref": "#/definitions/Record%3Cstring%2C%20string%20%7C%20SecretString%3E"
885
+ },
886
+ "baseImage": {
887
+ "default": "node:22-slim",
888
+ "description": "Base image, `scratch` for none",
889
+ "type": "string"
890
+ },
891
+ "clientId": {
892
+ "description": "Service principal or user-assigned managed identity client id; defaults to AZURE_CLIENT_ID.",
893
+ "type": "string"
894
+ },
895
+ "clientSecret": {
896
+ "description": "Service principal secret; defaults to AZURE_CLIENT_SECRET. Prefer managed/workload identity.",
897
+ "type": "string",
898
+ "x-webda-secret": true
899
+ },
900
+ "cmd": {
901
+ "default": [
902
+ "serve",
903
+ "--bind",
904
+ "0.0.0.0"
905
+ ],
906
+ "description": "Command of the image, the arguments of the entrypoint",
907
+ "items": {
908
+ "type": "string"
909
+ },
910
+ "type": "array"
911
+ },
912
+ "createResourceGroup": {
913
+ "default": false,
914
+ "type": "boolean"
915
+ },
916
+ "credentials": {
917
+ "$ref": "#/definitions/Record%3Cstring%2C%20RegistryCredentials%3E",
918
+ "default": "{}\n\nUse templates to read them from the environment: `{ \"ghcr.io\": { \"username\": \"${env.GHCR_USER}\", \"password\": \"${env.GHCR_TOKEN}\" } }`\n\n`password`, `identityToken` and `token` can be encrypted with `webda config encrypt`",
919
+ "description": "Credentials per registry host, they take precedence over `~/.docker/config.json`"
920
+ },
921
+ "customResources": {
922
+ "anyOf": [
923
+ {
924
+ "items": {
925
+ "$ref": "#/definitions/Record%3Cstring%2C%20any%3E"
926
+ },
927
+ "type": "array"
928
+ },
929
+ {
930
+ "$ref": "#/definitions/Record%3Cstring%2C%20Record%3Cstring%2C%20any%3E%3E"
931
+ }
932
+ ]
933
+ },
934
+ "deploymentName": {
935
+ "type": "string"
936
+ },
937
+ "deploymentTimeout": {
938
+ "type": "number"
939
+ },
940
+ "endpoint": {
941
+ "description": "Service-specific endpoint override, for example Azurite. This is not an identity authority URL.",
942
+ "type": "string"
943
+ },
944
+ "entrypoint": {
945
+ "default": [
946
+ "node",
947
+ "<workdir>/node_modules/@webda/core/lib/bin/cli.js"
948
+ ],
949
+ "description": "Entrypoint of the image",
950
+ "items": {
951
+ "type": "string"
952
+ },
953
+ "type": "array"
954
+ },
955
+ "env": {
956
+ "$ref": "#/definitions/Record%3Cstring%2C%20string%3E",
957
+ "default": {
958
+ "NODE_ENV": "production"
959
+ },
960
+ "description": "Environment variables"
961
+ },
962
+ "exposedPorts": {
963
+ "default": [
964
+ "18080/tcp"
965
+ ],
966
+ "description": "Exposed ports",
967
+ "items": {
968
+ "type": "string"
969
+ },
970
+ "type": "array"
971
+ },
972
+ "functionApp": {
973
+ "type": "string"
974
+ },
975
+ "image": {
976
+ "description": "Repository to push to, without tag: `ghcr.io/my-org/my-app`\n\nRequired to push.",
977
+ "type": "string"
978
+ },
979
+ "insecureRegistries": {
980
+ "default": [],
981
+ "description": "Registries reached over plain http, `localhost` and `127.0.0.1` always are",
982
+ "items": {
983
+ "type": "string"
984
+ },
985
+ "type": "array"
986
+ },
987
+ "labels": {
988
+ "$ref": "#/definitions/Record%3Cstring%2C%20string%3E",
989
+ "default": {},
990
+ "description": "Labels, added to the default OCI ones (version, revision, source, title)"
991
+ },
992
+ "location": {
993
+ "default": "westeurope",
994
+ "type": "string"
995
+ },
996
+ "maximumInstanceCount": {
997
+ "type": "number"
998
+ },
999
+ "memory": {
1000
+ "type": "number"
1001
+ },
1002
+ "mtime": {
1003
+ "default": "the SOURCE_DATE_EPOCH environment variable, or 0",
1004
+ "description": "Modification time of the files and creation time of the image, in seconds",
1005
+ "type": "number"
1006
+ },
1007
+ "output": {
1008
+ "default": ".webda/oci/${deployer.name}",
1009
+ "description": "Output of `container build`: an OCI layout folder, or a tar archive when ending with `.tar`\n\nRelative to the application folder. The folder keeps the downloaded base layers between builds.",
1010
+ "type": "string"
1011
+ },
1012
+ "package": {
1013
+ "$ref": "#/definitions/PackageOptions",
1014
+ "default": {},
1015
+ "description": "Options of the application packaging"
1016
+ },
1017
+ "plan": {
1018
+ "type": "string"
1019
+ },
1020
+ "platforms": {
1021
+ "default": [
1022
+ "linux/amd64"
1023
+ ],
1024
+ "description": "Platforms to build, several platforms produce a multi-platform index",
1025
+ "items": {
1026
+ "type": "string"
1027
+ },
1028
+ "type": "array"
1029
+ },
1030
+ "resourceGroup": {
1031
+ "type": "string"
1032
+ },
1033
+ "resourceTags": {
1034
+ "$ref": "#/definitions/Record%3Cstring%2C%20string%3E"
1035
+ },
1036
+ "storageAccount": {
1037
+ "type": "string"
1038
+ },
1039
+ "subscriptionId": {
1040
+ "description": "Subscription containing the resources; defaults to AZURE_SUBSCRIPTION_ID.",
1041
+ "type": "string"
1042
+ },
1043
+ "tags": {
1044
+ "default": [
1045
+ "${git.version}"
1046
+ ],
1047
+ "description": "Tags of the image\n\nInvalid characters are replaced by `-`, so the snapshot version `1.2.4+20261004120000`\nbecomes `1.2.4-20261004120000`.",
1048
+ "items": {
1049
+ "type": "string"
1050
+ },
1051
+ "type": "array"
1052
+ },
1053
+ "templateOutput": {
1054
+ "type": "string"
1055
+ },
1056
+ "tenantId": {
1057
+ "description": "Microsoft Entra tenant; defaults to AZURE_TENANT_ID.",
1058
+ "type": "string"
1059
+ },
1060
+ "triggers": {
1061
+ "items": {
1062
+ "anyOf": [
1063
+ {
1064
+ "$ref": "#/definitions/triggers%232%5B%5D%231"
1065
+ },
1066
+ {
1067
+ "$ref": "#/definitions/triggers%232%5B%5D%232"
1068
+ },
1069
+ {
1070
+ "$ref": "#/definitions/triggers%232%5B%5D%233"
1071
+ }
1072
+ ]
1073
+ },
1074
+ "type": "array"
1075
+ },
1076
+ "type": {
1077
+ "description": "Type of the service",
1078
+ "type": "string"
1079
+ },
1080
+ "user": {
1081
+ "description": "User the container runs as, the base image one by default",
1082
+ "type": "string"
1083
+ },
1084
+ "workdir": {
1085
+ "default": "/app",
1086
+ "description": "Folder of the application in the image",
1087
+ "type": "string"
1088
+ },
1089
+ "zipPath": {
1090
+ "default": "dist/azure-functions.zip",
1091
+ "type": "string"
1092
+ },
1093
+ "openapi": {
1094
+ "type": "object",
1095
+ "additionalProperties": true
1096
+ }
1097
+ },
1098
+ "required": [
1099
+ "functionApp",
1100
+ "resourceGroup",
1101
+ "storageAccount",
1102
+ "subscriptionId",
1103
+ "type"
1104
+ ],
1105
+ "type": "object",
1106
+ "title": "AzureFunctionsDeployer"
1107
+ },
1108
+ "Configuration": "lib/deployers/functions.service:AzureFunctionsDeployerParameters",
1109
+ "capabilities": [
1110
+ "deployer"
1111
+ ],
1112
+ "commands": {
1113
+ "azure template": {
1114
+ "description": "Generate the Functions ARM template",
1115
+ "method": "generate",
1116
+ "args": {
1117
+ "output": {
1118
+ "type": "string"
1119
+ }
1120
+ }
1121
+ },
1122
+ "azure package": {
1123
+ "description": "Package the application for Azure Functions",
1124
+ "method": "packageApplication",
1125
+ "args": {}
1126
+ },
1127
+ "deploy": {
1128
+ "description": "Package and deploy to Azure Functions Flex Consumption",
1129
+ "method": "deploy",
1130
+ "args": {}
1131
+ }
1132
+ }
1133
+ },
1134
+ "Webda/AzureFunctionsPackager": {
1135
+ "Import": "lib/deployers/functionspackager.service:AzureFunctionsPackager",
1136
+ "Schema": {
1137
+ "$schema": "http://json-schema.org/draft-07/schema#",
1138
+ "additionalProperties": false,
1139
+ "definitions": {
1140
+ "PackageOptions": {
1141
+ "additionalProperties": false,
1142
+ "description": "Options of {@link packageApplication}",
1143
+ "properties": {
1144
+ "excludePatterns": {
1145
+ "default": [
1146
+ "\\.d\\.ts$"
1147
+ ],
1148
+ "description": "Regular expressions on the source path of the files to skip",
1149
+ "items": {
1150
+ "type": "string"
1151
+ },
1152
+ "type": "array"
1153
+ },
1154
+ "excludeServices": {
1155
+ "description": "Services to remove from the packaged configuration, like the ones injected by the CLI to run a command",
1156
+ "items": {
1157
+ "type": "string"
1158
+ },
1159
+ "type": "array"
1160
+ },
1161
+ "ignores": {
1162
+ "description": "Additional top-level entries of the application to skip",
1163
+ "items": {
1164
+ "type": "string"
1165
+ },
1166
+ "type": "array"
1167
+ },
1168
+ "modules": {
1169
+ "$ref": "#/definitions/package%232%24modules%232",
1170
+ "description": "Dependencies to add or remove from the application production dependencies"
1171
+ }
1172
+ },
1173
+ "type": "object"
1174
+ },
1175
+ "package#2$modules#2": {
1176
+ "additionalProperties": false,
1177
+ "properties": {
1178
+ "excludes": {
1179
+ "items": {
1180
+ "type": "string"
1181
+ },
1182
+ "type": "array"
1183
+ },
1184
+ "includes": {
1185
+ "items": {
1186
+ "type": "string"
1187
+ },
1188
+ "type": "array"
1189
+ }
1190
+ },
1191
+ "type": "object"
1192
+ },
1193
+ "triggers#2[]#1": {
1194
+ "additionalProperties": false,
1195
+ "properties": {
1196
+ "connection": {
1197
+ "type": "string"
1198
+ },
1199
+ "name": {
1200
+ "type": "string"
1201
+ },
1202
+ "queueName": {
1203
+ "type": "string"
1204
+ },
1205
+ "type": {
1206
+ "const": "servicebus",
1207
+ "type": "string"
1208
+ }
1209
+ },
1210
+ "required": [
1211
+ "connection",
1212
+ "name",
1213
+ "queueName",
1214
+ "type"
1215
+ ],
1216
+ "type": "object"
1217
+ },
1218
+ "triggers#2[]#2": {
1219
+ "additionalProperties": false,
1220
+ "properties": {
1221
+ "connection": {
1222
+ "type": "string"
1223
+ },
1224
+ "name": {
1225
+ "type": "string"
1226
+ },
1227
+ "path": {
1228
+ "type": "string"
1229
+ },
1230
+ "type": {
1231
+ "const": "blob",
1232
+ "type": "string"
1233
+ }
1234
+ },
1235
+ "required": [
1236
+ "connection",
1237
+ "name",
1238
+ "path",
1239
+ "type"
1240
+ ],
1241
+ "type": "object"
1242
+ },
1243
+ "triggers#2[]#3": {
1244
+ "additionalProperties": false,
1245
+ "properties": {
1246
+ "name": {
1247
+ "type": "string"
1248
+ },
1249
+ "schedule": {
1250
+ "type": "string"
1251
+ },
1252
+ "type": {
1253
+ "const": "timer",
1254
+ "type": "string"
1255
+ }
1256
+ },
1257
+ "required": [
1258
+ "name",
1259
+ "schedule",
1260
+ "type"
1261
+ ],
1262
+ "type": "object"
1263
+ }
1264
+ },
1265
+ "properties": {
1266
+ "package": {
1267
+ "$ref": "#/definitions/PackageOptions"
1268
+ },
1269
+ "triggers": {
1270
+ "items": {
1271
+ "anyOf": [
1272
+ {
1273
+ "$ref": "#/definitions/triggers%232%5B%5D%231"
1274
+ },
1275
+ {
1276
+ "$ref": "#/definitions/triggers%232%5B%5D%232"
1277
+ },
1278
+ {
1279
+ "$ref": "#/definitions/triggers%232%5B%5D%233"
1280
+ }
1281
+ ]
1282
+ },
1283
+ "type": "array"
1284
+ },
1285
+ "type": {
1286
+ "description": "Type of the service",
1287
+ "type": "string"
1288
+ },
1289
+ "zipPath": {
1290
+ "default": "dist/azure-functions.zip",
1291
+ "type": "string"
1292
+ },
1293
+ "openapi": {
1294
+ "type": "object",
1295
+ "additionalProperties": true
1296
+ }
1297
+ },
1298
+ "required": [
1299
+ "type"
1300
+ ],
1301
+ "type": "object",
1302
+ "title": "AzureFunctionsPackager"
1303
+ },
1304
+ "Configuration": "lib/deployers/functionspackager.service:AzureFunctionsPackagerParameters",
1305
+ "capabilities": [
1306
+ "deployer"
1307
+ ],
1308
+ "commands": {
1309
+ "azure package": {
1310
+ "description": "Package the application for Azure Functions",
1311
+ "method": "package",
1312
+ "args": {}
1313
+ }
1314
+ }
1315
+ },
1316
+ "Webda/AzureKeyVault": {
1317
+ "Import": "lib/services/keyvault.service:AzureKeyVault",
1318
+ "Schema": {
1319
+ "$schema": "http://json-schema.org/draft-07/schema#",
1320
+ "additionalProperties": false,
1321
+ "description": "Settings for the Key Vault service and configuration encrypter.",
1322
+ "properties": {
1323
+ "clientId": {
1324
+ "description": "Service principal or user-assigned managed identity client id; defaults to AZURE_CLIENT_ID.",
1325
+ "type": "string"
1326
+ },
1327
+ "clientSecret": {
1328
+ "description": "Service principal secret; defaults to AZURE_CLIENT_SECRET. Prefer managed/workload identity.",
1329
+ "type": "string",
1330
+ "x-webda-secret": true
1331
+ },
1332
+ "endpoint": {
1333
+ "description": "Service-specific endpoint override, for example Azurite. This is not an identity authority URL.",
1334
+ "type": "string"
1335
+ },
1336
+ "keyId": {
1337
+ "type": "string"
1338
+ },
1339
+ "subscriptionId": {
1340
+ "description": "Subscription containing the resources; defaults to AZURE_SUBSCRIPTION_ID.",
1341
+ "type": "string"
1342
+ },
1343
+ "tenantId": {
1344
+ "description": "Microsoft Entra tenant; defaults to AZURE_TENANT_ID.",
1345
+ "type": "string"
1346
+ },
1347
+ "type": {
1348
+ "description": "Type of the service",
1349
+ "type": "string"
1350
+ },
1351
+ "vaultUrl": {
1352
+ "type": "string"
1353
+ },
1354
+ "openapi": {
1355
+ "type": "object",
1356
+ "additionalProperties": true
1357
+ }
1358
+ },
1359
+ "required": [
1360
+ "type",
1361
+ "vaultUrl"
1362
+ ],
1363
+ "type": "object",
1364
+ "title": "AzureKeyVault"
1365
+ },
1366
+ "Configuration": "lib/services/keyvault.service:AzureKeyVaultParameters"
1367
+ },
1368
+ "Webda/AzureMonitorLogger": {
1369
+ "Import": "lib/services/monitorlogger.service:AzureMonitorLogger",
1370
+ "Schema": {
1371
+ "$schema": "http://json-schema.org/draft-07/schema#",
1372
+ "additionalProperties": false,
1373
+ "description": "Azure Monitor Logs Ingestion settings.",
1374
+ "properties": {
1375
+ "batchSize": {
1376
+ "type": "number"
1377
+ },
1378
+ "clientId": {
1379
+ "description": "Service principal or user-assigned managed identity client id; defaults to AZURE_CLIENT_ID.",
1380
+ "type": "string"
1381
+ },
1382
+ "clientSecret": {
1383
+ "description": "Service principal secret; defaults to AZURE_CLIENT_SECRET. Prefer managed/workload identity.",
1384
+ "type": "string",
1385
+ "x-webda-secret": true
1386
+ },
1387
+ "endpoint": {
1388
+ "description": "Service-specific endpoint override, for example Azurite. This is not an identity authority URL.",
1389
+ "type": "string"
1390
+ },
1391
+ "flushInterval": {
1392
+ "type": "number"
1393
+ },
1394
+ "logLevel": {
1395
+ "default": "INFO",
1396
+ "description": "LogLevel as intersection to compare with integer values",
1397
+ "enum": [
1398
+ "ERROR",
1399
+ "WARN",
1400
+ "INFO",
1401
+ "DEBUG",
1402
+ "TRACE"
1403
+ ],
1404
+ "type": "string"
1405
+ },
1406
+ "maxBufferedLogs": {
1407
+ "type": "number"
1408
+ },
1409
+ "ruleId": {
1410
+ "type": "string"
1411
+ },
1412
+ "streamName": {
1413
+ "type": "string"
1414
+ },
1415
+ "subscriptionId": {
1416
+ "description": "Subscription containing the resources; defaults to AZURE_SUBSCRIPTION_ID.",
1417
+ "type": "string"
1418
+ },
1419
+ "tenantId": {
1420
+ "description": "Microsoft Entra tenant; defaults to AZURE_TENANT_ID.",
1421
+ "type": "string"
1422
+ },
1423
+ "type": {
1424
+ "description": "Type of the service",
1425
+ "type": "string"
1426
+ },
1427
+ "openapi": {
1428
+ "type": "object",
1429
+ "additionalProperties": true
1430
+ }
1431
+ },
1432
+ "required": [
1433
+ "endpoint",
1434
+ "ruleId",
1435
+ "streamName",
1436
+ "type"
1437
+ ],
1438
+ "type": "object",
1439
+ "title": "AzureMonitorLogger"
1440
+ },
1441
+ "Configuration": "lib/services/monitorlogger.service:AzureMonitorLoggerParameters"
1442
+ },
1443
+ "Webda/CosmosStore": {
1444
+ "Import": "lib/services/cosmos.service:CosmosStore",
1445
+ "Schema": {
1446
+ "$schema": "http://json-schema.org/draft-07/schema#",
1447
+ "additionalProperties": false,
1448
+ "definitions": {
1449
+ "typeCheck#2": {
1450
+ "additionalProperties": false,
1451
+ "description": "Startup check of the stored types: one WARN listing the legacy, untyped and unknown types found",
1452
+ "properties": {
1453
+ "enabled": {
1454
+ "default": true,
1455
+ "type": "boolean"
1456
+ },
1457
+ "maxRows": {
1458
+ "default": 10000,
1459
+ "description": "Rows scanned at most by stores without a native count; beyond, the counts are \"at least\"",
1460
+ "type": "number"
1461
+ }
1462
+ },
1463
+ "type": "object"
1464
+ }
1465
+ },
1466
+ "description": "Cosmos DB NoSQL settings. All models in the store share a typed container.",
1467
+ "properties": {
1468
+ "aggregationFallback": {
1469
+ "default": "warn",
1470
+ "description": "What to do when an aggregation on this store cannot run natively and must\nstream every matching object through memory",
1471
+ "enum": [
1472
+ "allow",
1473
+ "warn",
1474
+ "deny"
1475
+ ],
1476
+ "type": "string"
1477
+ },
1478
+ "clientId": {
1479
+ "description": "Service principal or user-assigned managed identity client id; defaults to AZURE_CLIENT_ID.",
1480
+ "type": "string"
1481
+ },
1482
+ "clientSecret": {
1483
+ "description": "Service principal secret; defaults to AZURE_CLIENT_SECRET. Prefer managed/workload identity.",
1484
+ "type": "string",
1485
+ "x-webda-secret": true
1486
+ },
1487
+ "container": {
1488
+ "type": "string"
1489
+ },
1490
+ "createIfNotExists": {
1491
+ "default": false,
1492
+ "type": "boolean"
1493
+ },
1494
+ "database": {
1495
+ "type": "string"
1496
+ },
1497
+ "endpoint": {
1498
+ "description": "Service-specific endpoint override, for example Azurite. This is not an identity authority URL.",
1499
+ "type": "string"
1500
+ },
1501
+ "key": {
1502
+ "type": "string",
1503
+ "x-webda-secret": true
1504
+ },
1505
+ "maxGroups": {
1506
+ "default": 10000,
1507
+ "description": "Maximum number of groups an aggregation may produce without LIMIT (or in memory)",
1508
+ "minimum": 1,
1509
+ "type": "number"
1510
+ },
1511
+ "models": {
1512
+ "default": [
1513
+ "Webda/RegistryEntry"
1514
+ ],
1515
+ "description": "Models managed by this Store.",
1516
+ "items": {
1517
+ "type": "string"
1518
+ },
1519
+ "type": "array"
1520
+ },
1521
+ "noCache": {
1522
+ "default": false,
1523
+ "description": "Disable default memory cache",
1524
+ "type": "boolean"
1525
+ },
1526
+ "partitionKey": {
1527
+ "default": "/id",
1528
+ "type": "string"
1529
+ },
1530
+ "slowQueryLogLevel": {
1531
+ "default": "WARN",
1532
+ "description": "Log level used for slow queries",
1533
+ "enum": [
1534
+ "ERROR",
1535
+ "WARN",
1536
+ "INFO",
1537
+ "DEBUG",
1538
+ "TRACE"
1539
+ ],
1540
+ "type": "string"
1541
+ },
1542
+ "slowQueryMaxLength": {
1543
+ "default": 1024,
1544
+ "description": "Maximum length of the query string written to logs / events (longer queries are truncated)",
1545
+ "type": "number"
1546
+ },
1547
+ "slowQueryThreshold": {
1548
+ "default": 30000,
1549
+ "description": "Duration in ms above which a query is considered slow.\nSet to 0 to disable slow query detection.",
1550
+ "type": "number"
1551
+ },
1552
+ "strict": {
1553
+ "default": false,
1554
+ "description": "Allow to load object that does not have the type data\n\nIf set to true, then the Store will only managed the defined _model and no\nmodel extending this one",
1555
+ "type": "boolean"
1556
+ },
1557
+ "subscriptionId": {
1558
+ "description": "Subscription containing the resources; defaults to AZURE_SUBSCRIPTION_ID.",
1559
+ "type": "string"
1560
+ },
1561
+ "tenantId": {
1562
+ "description": "Microsoft Entra tenant; defaults to AZURE_TENANT_ID.",
1563
+ "type": "string"
1564
+ },
1565
+ "throughput": {
1566
+ "type": "number"
1567
+ },
1568
+ "type": {
1569
+ "description": "Type of the service",
1570
+ "type": "string"
1571
+ },
1572
+ "typeCheck": {
1573
+ "$ref": "#/definitions/typeCheck%232",
1574
+ "description": "Startup check of the stored types: one WARN listing the legacy, untyped and unknown types found"
1575
+ },
1576
+ "openapi": {
1577
+ "type": "object",
1578
+ "additionalProperties": true
1579
+ }
1580
+ },
1581
+ "required": [
1582
+ "container",
1583
+ "database",
1584
+ "endpoint",
1585
+ "type"
1586
+ ],
1587
+ "type": "object",
1588
+ "title": "CosmosStore"
1589
+ },
1590
+ "Configuration": "lib/services/cosmos.service:CosmosStoreParameters"
1591
+ },
1592
+ "Webda/ServiceBusPubSub": {
1593
+ "Import": "lib/services/servicebus.service:ServiceBusPubSub",
1594
+ "Schema": {
1595
+ "$schema": "http://json-schema.org/draft-07/schema#",
1596
+ "additionalProperties": false,
1597
+ "description": "Service Bus pub/sub settings. Omit subscription to create one temporary subscription per consumer.",
1598
+ "properties": {
1599
+ "clientId": {
1600
+ "description": "Service principal or user-assigned managed identity client id; defaults to AZURE_CLIENT_ID.",
1601
+ "type": "string"
1602
+ },
1603
+ "clientSecret": {
1604
+ "description": "Service principal secret; defaults to AZURE_CLIENT_SECRET. Prefer managed/workload identity.",
1605
+ "type": "string",
1606
+ "x-webda-secret": true
1607
+ },
1608
+ "connectionString": {
1609
+ "type": "string",
1610
+ "x-webda-secret": true
1611
+ },
1612
+ "createIfNotExists": {
1613
+ "default": false,
1614
+ "type": "boolean"
1615
+ },
1616
+ "endpoint": {
1617
+ "description": "Service-specific endpoint override, for example Azurite. This is not an identity authority URL.",
1618
+ "type": "string"
1619
+ },
1620
+ "namespace": {
1621
+ "type": "string"
1622
+ },
1623
+ "subscription": {
1624
+ "type": "string"
1625
+ },
1626
+ "subscriptionId": {
1627
+ "description": "Subscription containing the resources; defaults to AZURE_SUBSCRIPTION_ID.",
1628
+ "type": "string"
1629
+ },
1630
+ "tenantId": {
1631
+ "description": "Microsoft Entra tenant; defaults to AZURE_TENANT_ID.",
1632
+ "type": "string"
1633
+ },
1634
+ "topic": {
1635
+ "type": "string"
1636
+ },
1637
+ "type": {
1638
+ "description": "Type of the service",
1639
+ "type": "string"
1640
+ },
1641
+ "openapi": {
1642
+ "type": "object",
1643
+ "additionalProperties": true
1644
+ }
1645
+ },
1646
+ "required": [
1647
+ "namespace",
1648
+ "topic",
1649
+ "type"
1650
+ ],
1651
+ "type": "object",
1652
+ "title": "ServiceBusPubSub"
1653
+ },
1654
+ "Configuration": "lib/services/servicebus.service:ServiceBusPubSubParameters"
1655
+ },
1656
+ "Webda/ServiceBusQueue": {
1657
+ "Import": "lib/services/servicebus.service:ServiceBusQueue",
1658
+ "Schema": {
1659
+ "$schema": "http://json-schema.org/draft-07/schema#",
1660
+ "additionalProperties": false,
1661
+ "definitions": {
1662
+ "WaitDelayerDefinition": {
1663
+ "additionalProperties": false,
1664
+ "description": "Configuration object for selecting and parameterizing a `WaitDelayer` from the registry.",
1665
+ "properties": {
1666
+ "interval": {
1667
+ "description": "Base interval in milliseconds passed to the delayer factory.",
1668
+ "type": "number"
1669
+ },
1670
+ "type": {
1671
+ "description": "Key identifying the factory in `WaitDelayerFactories.registry` (e.g. `\"linear\"`, `\"exponential\"`).",
1672
+ "type": "string"
1673
+ }
1674
+ },
1675
+ "required": [
1676
+ "interval",
1677
+ "type"
1678
+ ],
1679
+ "type": "object"
1680
+ }
1681
+ },
1682
+ "description": "Service Bus work queue settings.",
1683
+ "properties": {
1684
+ "clientId": {
1685
+ "description": "Service principal or user-assigned managed identity client id; defaults to AZURE_CLIENT_ID.",
1686
+ "type": "string"
1687
+ },
1688
+ "clientSecret": {
1689
+ "description": "Service principal secret; defaults to AZURE_CLIENT_SECRET. Prefer managed/workload identity.",
1690
+ "type": "string",
1691
+ "x-webda-secret": true
1692
+ },
1693
+ "connectionString": {
1694
+ "type": "string",
1695
+ "x-webda-secret": true
1696
+ },
1697
+ "createIfNotExists": {
1698
+ "default": false,
1699
+ "type": "boolean"
1700
+ },
1701
+ "endpoint": {
1702
+ "description": "Service-specific endpoint override, for example Azurite. This is not an identity authority URL.",
1703
+ "type": "string"
1704
+ },
1705
+ "idleDelayer": {
1706
+ "$ref": "#/definitions/WaitDelayerDefinition",
1707
+ "default": {
1708
+ "interval": 50,
1709
+ "type": "exponential"
1710
+ },
1711
+ "description": "Delayer between two receives of the main consumer while the queue returns no message\n\nQueues answering immediately when empty (PostgresQueue, AMQPQueue...) would otherwise be polled in a tight\nloop. The delay grows with the consecutive empty receives, up to `maxIdleDelay`; the time spent in the receive\nis deducted, so long-polling queues (SQSQueue, FileQueue, MemoryQueue with a timeout) are not slowed down."
1712
+ },
1713
+ "maxConsumers": {
1714
+ "default": 10,
1715
+ "description": "Max number of queue consumers\nQueue will auto increase to this max number if queue is loaded\nand it will decrease to just one consumer if no messages are available",
1716
+ "type": "number"
1717
+ },
1718
+ "maxIdleDelay": {
1719
+ "default": 250,
1720
+ "description": "Maximum delay between two receives while the queue stays empty, in milliseconds\n\nIt bounds the extra latency of the first message after an idle period, and the polling rate of an idle\nconsumer (4 receives per second at 250ms).",
1721
+ "type": "number"
1722
+ },
1723
+ "maxMessages": {
1724
+ "type": "number"
1725
+ },
1726
+ "maxPendingMessages": {
1727
+ "type": "number"
1728
+ },
1729
+ "maxWaitTimeInMs": {
1730
+ "type": "number"
1731
+ },
1732
+ "namespace": {
1733
+ "type": "string"
1734
+ },
1735
+ "queue": {
1736
+ "type": "string"
1737
+ },
1738
+ "subscriptionId": {
1739
+ "description": "Subscription containing the resources; defaults to AZURE_SUBSCRIPTION_ID.",
1740
+ "type": "string"
1741
+ },
1742
+ "tenantId": {
1743
+ "description": "Microsoft Entra tenant; defaults to AZURE_TENANT_ID.",
1744
+ "type": "string"
1745
+ },
1746
+ "type": {
1747
+ "description": "Type of the service",
1748
+ "type": "string"
1749
+ },
1750
+ "workerDelayer": {
1751
+ "$ref": "#/definitions/WaitDelayerDefinition",
1752
+ "description": "Delayer between two failed attempts to process messages"
1753
+ },
1754
+ "workerParallelism": {
1755
+ "default": true,
1756
+ "description": "Define if worker should process multi message received in //",
1757
+ "type": "boolean"
1758
+ },
1759
+ "openapi": {
1760
+ "type": "object",
1761
+ "additionalProperties": true
1762
+ }
1763
+ },
1764
+ "required": [
1765
+ "namespace",
1766
+ "queue",
1767
+ "type"
1768
+ ],
1769
+ "type": "object",
1770
+ "title": "ServiceBusQueue"
1771
+ },
1772
+ "Configuration": "lib/services/servicebus.service:ServiceBusQueueParameters"
1773
+ }
1774
+ },
1775
+ "models": {},
1776
+ "schemas": {
1777
+ "Webda/BinaryFile": {
1778
+ "$schema": "http://json-schema.org/draft-07/schema#",
1779
+ "WebdaSchema": true,
1780
+ "additionalProperties": false,
1781
+ "description": "Represent a file to store",
1782
+ "properties": {
1783
+ "hash": {
1784
+ "description": "Will be computed by the service\n\nhash of the content",
1785
+ "type": "string"
1786
+ },
1787
+ "metadata": {
1788
+ "description": "Metadatas stored along with the binary"
1789
+ },
1790
+ "mimetype": {
1791
+ "description": "Mimetype of the binary",
1792
+ "type": "string"
1793
+ },
1794
+ "name": {
1795
+ "description": "Current name",
1796
+ "type": "string"
1797
+ },
1798
+ "originalname": {
1799
+ "description": "Original name",
1800
+ "type": "string"
1801
+ },
1802
+ "size": {
1803
+ "description": "Size of the binary",
1804
+ "type": "number"
1805
+ }
1806
+ },
1807
+ "required": [
1808
+ "mimetype",
1809
+ "name",
1810
+ "size"
1811
+ ],
1812
+ "type": "object",
1813
+ "title": "BinaryFile"
1814
+ }
1815
+ },
1816
+ "behaviors": {}
1817
+ }