@platformatic/next 3.59.0 → 3.60.0

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 (3) hide show
  1. package/config.d.ts +61 -1
  2. package/package.json +6 -6
  3. package/schema.json +157 -2
package/config.d.ts CHANGED
@@ -262,7 +262,40 @@ export interface PlatformaticNextJsConfig {
262
262
  bufferPoolSize?: number | string;
263
263
  defaultHighWaterMark?: number | string;
264
264
  };
265
- healthProbes?: boolean | string;
265
+ healthProbes?:
266
+ | boolean
267
+ | string
268
+ | {
269
+ enabled?: boolean | string;
270
+ hostname?: string;
271
+ port?: number | string;
272
+ readiness?:
273
+ | boolean
274
+ | {
275
+ endpoint?: string;
276
+ success?: {
277
+ statusCode?: number;
278
+ body?: string;
279
+ };
280
+ fail?: {
281
+ statusCode?: number;
282
+ body?: string;
283
+ };
284
+ };
285
+ liveness?:
286
+ | boolean
287
+ | {
288
+ endpoint?: string;
289
+ success?: {
290
+ statusCode?: number;
291
+ body?: string;
292
+ };
293
+ fail?: {
294
+ statusCode?: number;
295
+ body?: string;
296
+ };
297
+ };
298
+ };
266
299
  undici?: {
267
300
  agentOptions?: {
268
301
  [k: string]: unknown;
@@ -421,6 +454,10 @@ export interface PlatformaticNextJsConfig {
421
454
  body?: string;
422
455
  };
423
456
  };
457
+ /**
458
+ * @deprecated
459
+ * Deprecated. Health probe timeout configuration is no longer used.
460
+ */
424
461
  healthChecksTimeouts?: number | string;
425
462
  plugins?: string[];
426
463
  timeout?: number | string;
@@ -455,6 +492,29 @@ export interface PlatformaticNextJsConfig {
455
492
  */
456
493
  serviceVersion?: string;
457
494
  };
495
+ /**
496
+ * Configuration for forwarding user OpenTelemetry metrics to an OTLP endpoint
497
+ */
498
+ opentelemetry?: {
499
+ /**
500
+ * Enable or disable OpenTelemetry metrics forwarding
501
+ */
502
+ enabled?: boolean | string;
503
+ /**
504
+ * OTLP metrics endpoint URL (e.g., http://collector:4318/v1/metrics)
505
+ */
506
+ endpoint: string;
507
+ /**
508
+ * Interval in milliseconds between metric forwards
509
+ */
510
+ interval?: number | string;
511
+ /**
512
+ * Additional HTTP headers for authentication
513
+ */
514
+ headers?: {
515
+ [k: string]: string;
516
+ };
517
+ };
458
518
  /**
459
519
  * Custom labels to add to HTTP metrics (http_request_all_duration_seconds). Each label extracts its value from an HTTP request header.
460
520
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platformatic/next",
3
- "version": "3.59.0",
3
+ "version": "3.60.0",
4
4
  "description": "Platformatic Next.js Capability",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -25,9 +25,9 @@
25
25
  "light-my-request": "^6.0.0",
26
26
  "msgpackr": "^1.11.2",
27
27
  "semver": "^7.6.3",
28
- "@platformatic/basic": "3.59.0",
29
- "@platformatic/foundation": "3.59.0",
30
- "@platformatic/globals": "3.59.0"
28
+ "@platformatic/foundation": "3.60.0",
29
+ "@platformatic/basic": "3.60.0",
30
+ "@platformatic/globals": "3.60.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@fastify/reply-from": "^12.0.0",
@@ -44,8 +44,8 @@
44
44
  "next": "^16.1.0",
45
45
  "typescript": "^5.5.4",
46
46
  "ws": "^8.18.0",
47
- "@platformatic/gateway": "3.59.0",
48
- "@platformatic/service": "3.59.0"
47
+ "@platformatic/service": "3.60.0",
48
+ "@platformatic/gateway": "3.60.0"
49
49
  },
50
50
  "engines": {
51
51
  "node": ">=22.19.0"
package/schema.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://schemas.platformatic.dev/@platformatic/next/3.59.0.json",
2
+ "$id": "https://schemas.platformatic.dev/@platformatic/next/3.60.0.json",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Platformatic Next.js Config",
5
5
  "type": "object",
@@ -1396,6 +1396,115 @@
1396
1396
  },
1397
1397
  {
1398
1398
  "type": "string"
1399
+ },
1400
+ {
1401
+ "type": "object",
1402
+ "properties": {
1403
+ "enabled": {
1404
+ "anyOf": [
1405
+ {
1406
+ "type": "boolean"
1407
+ },
1408
+ {
1409
+ "type": "string"
1410
+ }
1411
+ ]
1412
+ },
1413
+ "hostname": {
1414
+ "type": "string"
1415
+ },
1416
+ "port": {
1417
+ "anyOf": [
1418
+ {
1419
+ "type": "integer"
1420
+ },
1421
+ {
1422
+ "type": "string"
1423
+ }
1424
+ ]
1425
+ },
1426
+ "readiness": {
1427
+ "anyOf": [
1428
+ {
1429
+ "type": "boolean"
1430
+ },
1431
+ {
1432
+ "type": "object",
1433
+ "properties": {
1434
+ "endpoint": {
1435
+ "type": "string"
1436
+ },
1437
+ "success": {
1438
+ "type": "object",
1439
+ "properties": {
1440
+ "statusCode": {
1441
+ "type": "number"
1442
+ },
1443
+ "body": {
1444
+ "type": "string"
1445
+ }
1446
+ },
1447
+ "additionalProperties": false
1448
+ },
1449
+ "fail": {
1450
+ "type": "object",
1451
+ "properties": {
1452
+ "statusCode": {
1453
+ "type": "number"
1454
+ },
1455
+ "body": {
1456
+ "type": "string"
1457
+ }
1458
+ },
1459
+ "additionalProperties": false
1460
+ }
1461
+ },
1462
+ "additionalProperties": false
1463
+ }
1464
+ ]
1465
+ },
1466
+ "liveness": {
1467
+ "anyOf": [
1468
+ {
1469
+ "type": "boolean"
1470
+ },
1471
+ {
1472
+ "type": "object",
1473
+ "properties": {
1474
+ "endpoint": {
1475
+ "type": "string"
1476
+ },
1477
+ "success": {
1478
+ "type": "object",
1479
+ "properties": {
1480
+ "statusCode": {
1481
+ "type": "number"
1482
+ },
1483
+ "body": {
1484
+ "type": "string"
1485
+ }
1486
+ },
1487
+ "additionalProperties": false
1488
+ },
1489
+ "fail": {
1490
+ "type": "object",
1491
+ "properties": {
1492
+ "statusCode": {
1493
+ "type": "number"
1494
+ },
1495
+ "body": {
1496
+ "type": "string"
1497
+ }
1498
+ },
1499
+ "additionalProperties": false
1500
+ }
1501
+ },
1502
+ "additionalProperties": false
1503
+ }
1504
+ ]
1505
+ }
1506
+ },
1507
+ "additionalProperties": false
1399
1508
  }
1400
1509
  ],
1401
1510
  "default": true
@@ -1872,7 +1981,9 @@
1872
1981
  "type": "string"
1873
1982
  }
1874
1983
  ],
1875
- "default": 5000
1984
+ "default": 5000,
1985
+ "deprecated": true,
1986
+ "description": "Deprecated. Health probe timeout configuration is no longer used."
1876
1987
  },
1877
1988
  "plugins": {
1878
1989
  "type": "array",
@@ -1948,6 +2059,50 @@
1948
2059
  ],
1949
2060
  "additionalProperties": false
1950
2061
  },
2062
+ "opentelemetry": {
2063
+ "type": "object",
2064
+ "description": "Configuration for forwarding user OpenTelemetry metrics to an OTLP endpoint",
2065
+ "properties": {
2066
+ "enabled": {
2067
+ "anyOf": [
2068
+ {
2069
+ "type": "boolean"
2070
+ },
2071
+ {
2072
+ "type": "string"
2073
+ }
2074
+ ],
2075
+ "description": "Enable or disable OpenTelemetry metrics forwarding"
2076
+ },
2077
+ "endpoint": {
2078
+ "type": "string",
2079
+ "description": "OTLP metrics endpoint URL (e.g., http://collector:4318/v1/metrics)"
2080
+ },
2081
+ "interval": {
2082
+ "anyOf": [
2083
+ {
2084
+ "type": "integer"
2085
+ },
2086
+ {
2087
+ "type": "string"
2088
+ }
2089
+ ],
2090
+ "default": 60000,
2091
+ "description": "Interval in milliseconds between metric forwards"
2092
+ },
2093
+ "headers": {
2094
+ "type": "object",
2095
+ "additionalProperties": {
2096
+ "type": "string"
2097
+ },
2098
+ "description": "Additional HTTP headers for authentication"
2099
+ }
2100
+ },
2101
+ "required": [
2102
+ "endpoint"
2103
+ ],
2104
+ "additionalProperties": false
2105
+ },
1951
2106
  "httpCustomLabels": {
1952
2107
  "type": "array",
1953
2108
  "description": "Custom labels to add to HTTP metrics (http_request_all_duration_seconds). Each label extracts its value from an HTTP request header.",