@platformatic/runtime 2.0.0-alpha.15 → 2.0.0-alpha.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/schema.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://schemas.platformatic.dev/@platformatic/runtime/2.0.0-alpha.15.json",
2
+ "$id": "https://schemas.platformatic.dev/@platformatic/runtime/2.0.0-alpha.17.json",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "type": "object",
5
5
  "properties": {
@@ -10,6 +10,9 @@
10
10
  "type": "string",
11
11
  "resolvePath": true
12
12
  },
13
+ "entrypoint": {
14
+ "type": "string"
15
+ },
13
16
  "autoload": {
14
17
  "type": "object",
15
18
  "additionalProperties": false,
@@ -51,360 +54,184 @@
51
54
  }
52
55
  }
53
56
  },
54
- "telemetry": {
55
- "$id": "/OpenTelemetry",
56
- "type": "object",
57
- "properties": {
58
- "serviceName": {
59
- "type": "string",
60
- "description": "The name of the service. Defaults to the folder name if not specified."
61
- },
62
- "version": {
63
- "type": "string",
64
- "description": "The version of the service (optional)"
65
- },
66
- "skip": {
67
- "type": "array",
68
- "description": "An array of paths to skip when creating spans. Useful for health checks and other endpoints that do not need to be traced.",
69
- "items": {
70
- "type": "object",
71
- "properties": {
72
- "path": {
73
- "type": "string",
74
- "description": "The path to skip. Can be a string or a regex."
75
- },
76
- "method": {
77
- "description": "HTTP method to skip",
78
- "type": "string",
79
- "enum": [
80
- "GET",
81
- "POST",
82
- "PUT",
83
- "DELETE",
84
- "PATCH",
85
- "HEAD",
86
- "OPTIONS"
87
- ]
88
- }
89
- }
57
+ "services": {
58
+ "type": "array",
59
+ "items": {
60
+ "type": "object",
61
+ "anyOf": [
62
+ {
63
+ "required": [
64
+ "id",
65
+ "path"
66
+ ]
67
+ },
68
+ {
69
+ "required": [
70
+ "id",
71
+ "url"
72
+ ]
73
+ }
74
+ ],
75
+ "properties": {
76
+ "id": {
77
+ "type": "string"
78
+ },
79
+ "path": {
80
+ "type": "string",
81
+ "resolvePath": true
82
+ },
83
+ "config": {
84
+ "type": "string"
85
+ },
86
+ "url": {
87
+ "type": "string"
88
+ },
89
+ "useHttp": {
90
+ "type": "boolean"
90
91
  }
91
- },
92
- "exporter": {
93
- "anyOf": [
94
- {
95
- "type": "array",
96
- "items": {
97
- "type": "object",
98
- "properties": {
99
- "type": {
100
- "type": "string",
101
- "enum": [
102
- "console",
103
- "otlp",
104
- "zipkin",
105
- "memory"
106
- ],
107
- "default": "console"
108
- },
109
- "options": {
110
- "type": "object",
111
- "description": "Options for the exporter. These are passed directly to the exporter.",
112
- "properties": {
113
- "url": {
114
- "type": "string",
115
- "description": "The URL to send the traces to. Not used for console or memory exporters."
116
- },
117
- "headers": {
118
- "type": "object",
119
- "description": "Headers to send to the exporter. Not used for console or memory exporters."
120
- }
121
- }
122
- },
123
- "additionalProperties": false
124
- }
125
- }
126
- },
127
- {
128
- "type": "object",
129
- "properties": {
130
- "type": {
131
- "type": "string",
132
- "enum": [
133
- "console",
134
- "otlp",
135
- "zipkin",
136
- "memory"
137
- ],
138
- "default": "console"
139
- },
140
- "options": {
141
- "type": "object",
142
- "description": "Options for the exporter. These are passed directly to the exporter.",
143
- "properties": {
144
- "url": {
145
- "type": "string",
146
- "description": "The URL to send the traces to. Not used for console or memory exporters."
147
- },
148
- "headers": {
149
- "type": "object",
150
- "description": "Headers to send to the exporter. Not used for console or memory exporters."
151
- }
152
- }
153
- },
154
- "additionalProperties": false
155
- }
156
- }
157
- ]
158
92
  }
159
- },
160
- "required": [
161
- "serviceName"
162
- ],
163
- "additionalProperties": false
93
+ }
164
94
  },
165
- "server": {
95
+ "web": {
96
+ "type": "array",
97
+ "items": {
98
+ "type": "object",
99
+ "anyOf": [
100
+ {
101
+ "required": [
102
+ "id",
103
+ "path"
104
+ ]
105
+ },
106
+ {
107
+ "required": [
108
+ "id",
109
+ "url"
110
+ ]
111
+ }
112
+ ],
113
+ "properties": {
114
+ "id": {
115
+ "type": "string"
116
+ },
117
+ "path": {
118
+ "type": "string",
119
+ "resolvePath": true
120
+ },
121
+ "config": {
122
+ "type": "string"
123
+ },
124
+ "url": {
125
+ "type": "string"
126
+ },
127
+ "useHttp": {
128
+ "type": "boolean"
129
+ }
130
+ }
131
+ }
132
+ },
133
+ "logger": {
166
134
  "type": "object",
167
135
  "properties": {
168
- "hostname": {
169
- "type": "string"
170
- },
171
- "port": {
172
- "anyOf": [
136
+ "level": {
137
+ "type": "string",
138
+ "default": "info",
139
+ "oneOf": [
173
140
  {
174
- "type": "integer"
141
+ "enum": [
142
+ "fatal",
143
+ "error",
144
+ "warn",
145
+ "info",
146
+ "debug",
147
+ "trace",
148
+ "silent"
149
+ ]
175
150
  },
176
151
  {
177
- "type": "string"
152
+ "pattern": "^\\{.+\\}$"
178
153
  }
179
154
  ]
180
155
  },
181
- "pluginTimeout": {
182
- "type": "integer"
183
- },
184
- "healthCheck": {
156
+ "transport": {
185
157
  "anyOf": [
186
- {
187
- "type": "boolean"
188
- },
189
158
  {
190
159
  "type": "object",
191
160
  "properties": {
192
- "enabled": {
193
- "type": "boolean"
161
+ "target": {
162
+ "type": "string",
163
+ "resolveModule": true
194
164
  },
195
- "interval": {
196
- "type": "integer"
165
+ "options": {
166
+ "type": "object"
197
167
  }
198
168
  },
199
- "additionalProperties": true
200
- }
201
- ]
202
- },
203
- "ignoreTrailingSlash": {
204
- "type": "boolean"
205
- },
206
- "ignoreDuplicateSlashes": {
207
- "type": "boolean"
208
- },
209
- "connectionTimeout": {
210
- "type": "integer"
211
- },
212
- "keepAliveTimeout": {
213
- "type": "integer",
214
- "default": 5000
215
- },
216
- "maxRequestsPerSocket": {
217
- "type": "integer"
218
- },
219
- "forceCloseConnections": {
220
- "anyOf": [
221
- {
222
- "type": "boolean"
223
- },
224
- {
225
- "type": "string",
226
- "pattern": "^idle$"
227
- }
228
- ]
229
- },
230
- "requestTimeout": {
231
- "type": "integer"
232
- },
233
- "bodyLimit": {
234
- "type": "integer"
235
- },
236
- "maxParamLength": {
237
- "type": "integer"
238
- },
239
- "disableRequestLogging": {
240
- "type": "boolean"
241
- },
242
- "exposeHeadRoutes": {
243
- "type": "boolean"
244
- },
245
- "logger": {
246
- "anyOf": [
247
- {
248
- "type": "boolean"
169
+ "additionalProperties": false
249
170
  },
250
171
  {
251
172
  "type": "object",
252
173
  "properties": {
253
- "level": {
254
- "type": "string"
255
- },
256
- "transport": {
257
- "anyOf": [
258
- {
259
- "type": "object",
260
- "properties": {
261
- "target": {
262
- "type": "string",
263
- "resolveModule": true
264
- },
265
- "options": {
266
- "type": "object"
267
- }
174
+ "targets": {
175
+ "type": "array",
176
+ "items": {
177
+ "type": "object",
178
+ "properties": {
179
+ "target": {
180
+ "type": "string",
181
+ "resolveModule": true
268
182
  },
269
- "additionalProperties": false
270
- },
271
- {
272
- "type": "object",
273
- "properties": {
274
- "targets": {
275
- "type": "array",
276
- "items": {
277
- "type": "object",
278
- "properties": {
279
- "target": {
280
- "type": "string",
281
- "resolveModule": true
282
- },
283
- "options": {
284
- "type": "object"
285
- },
286
- "level": {
287
- "type": "string"
288
- },
289
- "additionalProperties": false
290
- }
291
- }
292
- },
293
- "options": {
294
- "type": "object"
295
- }
183
+ "options": {
184
+ "type": "object"
185
+ },
186
+ "level": {
187
+ "type": "string"
296
188
  },
297
189
  "additionalProperties": false
298
190
  }
299
- ]
191
+ }
300
192
  },
301
- "pipeline": {
302
- "type": "object",
303
- "properties": {
304
- "target": {
305
- "type": "string",
306
- "resolveModule": true
307
- },
308
- "options": {
309
- "type": "object"
310
- }
311
- },
312
- "additionalProperties": false
193
+ "options": {
194
+ "type": "object"
313
195
  }
314
196
  },
315
- "additionalProperties": true
197
+ "additionalProperties": false
316
198
  }
317
199
  ]
318
200
  },
319
- "loggerInstance": {
320
- "type": "object"
321
- },
322
- "serializerOpts": {
201
+ "pipeline": {
323
202
  "type": "object",
324
203
  "properties": {
325
- "schema": {
326
- "type": "object"
327
- },
328
- "ajv": {
329
- "type": "object"
330
- },
331
- "rounding": {
332
- "type": "string",
333
- "enum": [
334
- "floor",
335
- "ceil",
336
- "round",
337
- "trunc"
338
- ],
339
- "default": "trunc"
340
- },
341
- "debugMode": {
342
- "type": "boolean"
343
- },
344
- "mode": {
345
- "type": "string",
346
- "enum": [
347
- "debug",
348
- "standalone"
349
- ]
350
- },
351
- "largeArraySize": {
352
- "anyOf": [
353
- {
354
- "type": "integer"
355
- },
356
- {
357
- "type": "string"
358
- }
359
- ],
360
- "default": 20000
361
- },
362
- "largeArrayMechanism": {
204
+ "target": {
363
205
  "type": "string",
364
- "enum": [
365
- "default",
366
- "json-stringify"
367
- ],
368
- "default": "default"
369
- }
370
- }
371
- },
372
- "caseSensitive": {
373
- "type": "boolean"
374
- },
375
- "requestIdHeader": {
376
- "anyOf": [
377
- {
378
- "type": "string"
206
+ "resolveModule": true
379
207
  },
380
- {
381
- "type": "boolean",
382
- "const": false
208
+ "options": {
209
+ "type": "object"
383
210
  }
384
- ]
385
- },
386
- "requestIdLogLabel": {
387
- "type": "string"
388
- },
389
- "jsonShorthand": {
390
- "type": "boolean"
211
+ },
212
+ "additionalProperties": false
213
+ }
214
+ },
215
+ "required": [
216
+ "level"
217
+ ],
218
+ "default": {},
219
+ "additionalProperties": true
220
+ },
221
+ "server": {
222
+ "type": "object",
223
+ "properties": {
224
+ "hostname": {
225
+ "type": "string",
226
+ "default": "127.0.0.1"
391
227
  },
392
- "trustProxy": {
228
+ "port": {
393
229
  "anyOf": [
394
230
  {
395
- "type": "boolean"
231
+ "type": "integer"
396
232
  },
397
233
  {
398
234
  "type": "string"
399
- },
400
- {
401
- "type": "array",
402
- "items": {
403
- "type": "string"
404
- }
405
- },
406
- {
407
- "type": "integer"
408
235
  }
409
236
  ]
410
237
  },
@@ -414,9 +241,6 @@
414
241
  "https": {
415
242
  "type": "object",
416
243
  "properties": {
417
- "allowHTTP1": {
418
- "type": "boolean"
419
- },
420
244
  "key": {
421
245
  "anyOf": [
422
246
  {
@@ -466,55 +290,8 @@
466
290
  "type": "string",
467
291
  "resolvePath": true
468
292
  }
469
- },
470
- "additionalProperties": false
471
- },
472
- {
473
- "type": "array",
474
- "items": {
475
- "anyOf": [
476
- {
477
- "type": "string"
478
- },
479
- {
480
- "type": "object",
481
- "properties": {
482
- "path": {
483
- "type": "string",
484
- "resolvePath": true
485
- }
486
- },
487
- "additionalProperties": false
488
- }
489
- ]
490
- }
491
- }
492
- ]
493
- },
494
- "requestCert": {
495
- "type": "boolean"
496
- },
497
- "rejectUnauthorized": {
498
- "type": "boolean"
499
- }
500
- },
501
- "additionalProperties": false,
502
- "required": [
503
- "key",
504
- "cert"
505
- ]
506
- },
507
- "cors": {
508
- "type": "object",
509
- "$comment": "See https://github.com/fastify/fastify-cors",
510
- "properties": {
511
- "origin": {
512
- "anyOf": [
513
- {
514
- "type": "boolean"
515
- },
516
- {
517
- "type": "string"
293
+ },
294
+ "additionalProperties": false
518
295
  },
519
296
  {
520
297
  "type": "array",
@@ -526,116 +303,40 @@
526
303
  {
527
304
  "type": "object",
528
305
  "properties": {
529
- "regexp": {
530
- "type": "string"
306
+ "path": {
307
+ "type": "string",
308
+ "resolvePath": true
531
309
  }
532
310
  },
533
- "required": [
534
- "regexp"
535
- ]
311
+ "additionalProperties": false
536
312
  }
537
313
  ]
538
314
  }
539
- },
540
- {
541
- "type": "object",
542
- "properties": {
543
- "regexp": {
544
- "type": "string"
545
- }
546
- },
547
- "required": [
548
- "regexp"
549
- ]
550
- }
551
- ]
552
- },
553
- "methods": {
554
- "type": "array",
555
- "items": {
556
- "type": "string"
557
- }
558
- },
559
- "allowedHeaders": {
560
- "type": "string",
561
- "description": "Comma separated string of allowed headers."
562
- },
563
- "exposedHeaders": {
564
- "anyOf": [
565
- {
566
- "type": "array",
567
- "items": {
568
- "type": "string"
569
- }
570
- },
571
- {
572
- "type": "string",
573
- "description": "Comma separated string of exposed headers."
574
315
  }
575
316
  ]
576
- },
577
- "credentials": {
578
- "type": "boolean"
579
- },
580
- "maxAge": {
581
- "type": "integer"
582
- },
583
- "preflightContinue": {
584
- "type": "boolean",
585
- "default": false
586
- },
587
- "optionsSuccessStatus": {
588
- "type": "integer",
589
- "default": 204
590
- },
591
- "preflight": {
592
- "type": "boolean",
593
- "default": true
594
- },
595
- "strictPreflight": {
596
- "type": "boolean",
597
- "default": true
598
- },
599
- "hideOptionsRoute": {
600
- "type": "boolean",
601
- "default": true
602
317
  }
603
318
  },
604
- "additionalProperties": false
319
+ "additionalProperties": false,
320
+ "required": [
321
+ "key",
322
+ "cert"
323
+ ]
605
324
  }
606
325
  },
607
326
  "additionalProperties": false
608
327
  },
609
- "entrypoint": {
610
- "type": "string"
611
- },
612
- "watch": {
328
+ "restartOnError": {
329
+ "default": true,
613
330
  "anyOf": [
614
331
  {
615
332
  "type": "boolean"
616
333
  },
617
334
  {
618
- "type": "string"
335
+ "type": "number",
336
+ "minimum": 100
619
337
  }
620
338
  ]
621
339
  },
622
- "inspectorOptions": {
623
- "type": "object",
624
- "properties": {
625
- "host": {
626
- "type": "string"
627
- },
628
- "port": {
629
- "type": "number"
630
- },
631
- "breakFirstLine": {
632
- "type": "boolean"
633
- },
634
- "watchDisabled": {
635
- "type": "boolean"
636
- }
637
- }
638
- },
639
340
  "undici": {
640
341
  "type": "object",
641
342
  "properties": {
@@ -678,6 +379,16 @@
678
379
  }
679
380
  }
680
381
  },
382
+ "watch": {
383
+ "anyOf": [
384
+ {
385
+ "type": "boolean"
386
+ },
387
+ {
388
+ "type": "string"
389
+ }
390
+ ]
391
+ },
681
392
  "managementApi": {
682
393
  "anyOf": [
683
394
  {
@@ -690,11 +401,15 @@
690
401
  "type": "object",
691
402
  "properties": {
692
403
  "logs": {
693
- "maxSize": {
694
- "type": "number",
695
- "minimum": 5,
696
- "default": 200
697
- }
404
+ "type": "object",
405
+ "properties": {
406
+ "maxSize": {
407
+ "type": "number",
408
+ "minimum": 5,
409
+ "default": 200
410
+ }
411
+ },
412
+ "additionalProperties": false
698
413
  }
699
414
  },
700
415
  "additionalProperties": false
@@ -753,53 +468,131 @@
753
468
  }
754
469
  ]
755
470
  },
756
- "restartOnError": {
757
- "default": true,
758
- "anyOf": [
759
- {
760
- "type": "boolean"
471
+ "telemetry": {
472
+ "$id": "/OpenTelemetry",
473
+ "type": "object",
474
+ "properties": {
475
+ "serviceName": {
476
+ "type": "string",
477
+ "description": "The name of the service. Defaults to the folder name if not specified."
761
478
  },
762
- {
763
- "type": "number",
764
- "minimum": 100
479
+ "version": {
480
+ "type": "string",
481
+ "description": "The version of the service (optional)"
482
+ },
483
+ "skip": {
484
+ "type": "array",
485
+ "description": "An array of paths to skip when creating spans. Useful for health checks and other endpoints that do not need to be traced.",
486
+ "items": {
487
+ "type": "object",
488
+ "properties": {
489
+ "path": {
490
+ "type": "string",
491
+ "description": "The path to skip. Can be a string or a regex."
492
+ },
493
+ "method": {
494
+ "description": "HTTP method to skip",
495
+ "type": "string",
496
+ "enum": [
497
+ "GET",
498
+ "POST",
499
+ "PUT",
500
+ "DELETE",
501
+ "PATCH",
502
+ "HEAD",
503
+ "OPTIONS"
504
+ ]
505
+ }
506
+ }
507
+ }
508
+ },
509
+ "exporter": {
510
+ "anyOf": [
511
+ {
512
+ "type": "array",
513
+ "items": {
514
+ "type": "object",
515
+ "properties": {
516
+ "type": {
517
+ "type": "string",
518
+ "enum": [
519
+ "console",
520
+ "otlp",
521
+ "zipkin",
522
+ "memory"
523
+ ],
524
+ "default": "console"
525
+ },
526
+ "options": {
527
+ "type": "object",
528
+ "description": "Options for the exporter. These are passed directly to the exporter.",
529
+ "properties": {
530
+ "url": {
531
+ "type": "string",
532
+ "description": "The URL to send the traces to. Not used for console or memory exporters."
533
+ },
534
+ "headers": {
535
+ "type": "object",
536
+ "description": "Headers to send to the exporter. Not used for console or memory exporters."
537
+ }
538
+ }
539
+ },
540
+ "additionalProperties": false
541
+ }
542
+ }
543
+ },
544
+ {
545
+ "type": "object",
546
+ "properties": {
547
+ "type": {
548
+ "type": "string",
549
+ "enum": [
550
+ "console",
551
+ "otlp",
552
+ "zipkin",
553
+ "memory"
554
+ ],
555
+ "default": "console"
556
+ },
557
+ "options": {
558
+ "type": "object",
559
+ "description": "Options for the exporter. These are passed directly to the exporter.",
560
+ "properties": {
561
+ "url": {
562
+ "type": "string",
563
+ "description": "The URL to send the traces to. Not used for console or memory exporters."
564
+ },
565
+ "headers": {
566
+ "type": "object",
567
+ "description": "Headers to send to the exporter. Not used for console or memory exporters."
568
+ }
569
+ }
570
+ },
571
+ "additionalProperties": false
572
+ }
573
+ }
574
+ ]
765
575
  }
766
- ]
576
+ },
577
+ "required": [
578
+ "serviceName"
579
+ ],
580
+ "additionalProperties": false
767
581
  },
768
- "services": {
769
- "type": "array",
770
- "items": {
771
- "type": "object",
772
- "anyOf": [
773
- {
774
- "required": [
775
- "id",
776
- "path"
777
- ]
778
- },
779
- {
780
- "required": [
781
- "id",
782
- "url"
783
- ]
784
- }
785
- ],
786
- "properties": {
787
- "id": {
788
- "type": "string"
789
- },
790
- "path": {
791
- "type": "string",
792
- "resolvePath": true
793
- },
794
- "config": {
795
- "type": "string"
796
- },
797
- "url": {
798
- "type": "string"
799
- },
800
- "useHttp": {
801
- "type": "boolean"
802
- }
582
+ "inspectorOptions": {
583
+ "type": "object",
584
+ "properties": {
585
+ "host": {
586
+ "type": "string"
587
+ },
588
+ "port": {
589
+ "type": "number"
590
+ },
591
+ "breakFirstLine": {
592
+ "type": "boolean"
593
+ },
594
+ "watchDisabled": {
595
+ "type": "boolean"
803
596
  }
804
597
  }
805
598
  }
@@ -816,6 +609,12 @@
816
609
  "services",
817
610
  "entrypoint"
818
611
  ]
612
+ },
613
+ {
614
+ "required": [
615
+ "web",
616
+ "entrypoint"
617
+ ]
819
618
  }
820
619
  ],
821
620
  "additionalProperties": false,