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

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