@open-rlb/nestjs-amqp 2.0.13 → 2.1.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 (79) hide show
  1. package/amqp-lib/amqp/connection.d.ts +5 -0
  2. package/amqp-lib/amqp/connection.js +78 -21
  3. package/amqp-lib/amqp/connection.js.map +1 -1
  4. package/amqp-lib/amqp/retry-policy.d.ts +25 -0
  5. package/amqp-lib/amqp/retry-policy.js +101 -0
  6. package/amqp-lib/amqp/retry-policy.js.map +1 -0
  7. package/amqp-lib/config/rabbitmq.config.d.ts +2 -0
  8. package/amqp-lib/index.d.ts +1 -0
  9. package/amqp-lib/index.js +1 -0
  10. package/amqp-lib/index.js.map +1 -1
  11. package/amqp-lib/models/errors.model.d.ts +4 -0
  12. package/amqp-lib/models/errors.model.js +9 -1
  13. package/amqp-lib/models/errors.model.js.map +1 -1
  14. package/amqp-lib/models/rabbitmq-handler.model.d.ts +2 -0
  15. package/modules/acl/acl.module.js +3 -1
  16. package/modules/acl/acl.module.js.map +1 -1
  17. package/modules/acl/cache/acl-cache.service.d.ts +5 -1
  18. package/modules/acl/cache/acl-cache.service.js +23 -3
  19. package/modules/acl/cache/acl-cache.service.js.map +1 -1
  20. package/modules/acl/config/acl.config.d.ts +8 -0
  21. package/modules/acl/const.d.ts +2 -0
  22. package/modules/acl/const.js +3 -1
  23. package/modules/acl/const.js.map +1 -1
  24. package/modules/acl/index.d.ts +1 -0
  25. package/modules/acl/index.js +1 -0
  26. package/modules/acl/index.js.map +1 -1
  27. package/modules/acl/services/acl-invalidation.service.d.ts +18 -0
  28. package/modules/acl/services/acl-invalidation.service.js +81 -0
  29. package/modules/acl/services/acl-invalidation.service.js.map +1 -0
  30. package/modules/acl/services/acl-management.service.d.ts +7 -1
  31. package/modules/acl/services/acl-management.service.js +31 -15
  32. package/modules/acl/services/acl-management.service.js.map +1 -1
  33. package/modules/acl/services/acl.service.d.ts +9 -1
  34. package/modules/acl/services/acl.service.js +42 -12
  35. package/modules/acl/services/acl.service.js.map +1 -1
  36. package/modules/broker/broker.module.d.ts +2 -0
  37. package/modules/broker/broker.module.js +23 -2
  38. package/modules/broker/broker.module.js.map +1 -1
  39. package/modules/broker/config/topics.config.d.ts +2 -0
  40. package/modules/broker/decorators/broker-action.decorator.d.ts +3 -1
  41. package/modules/broker/decorators/broker-action.decorator.js +2 -1
  42. package/modules/broker/decorators/broker-action.decorator.js.map +1 -1
  43. package/modules/broker/services/broker.service.js +39 -16
  44. package/modules/broker/services/broker.service.js.map +1 -1
  45. package/modules/broker/services/metadata-scanner.service.js +45 -32
  46. package/modules/broker/services/metadata-scanner.service.js.map +1 -1
  47. package/modules/gateway-admin/config/gateway-admin.config.d.ts +1 -0
  48. package/modules/gateway-admin/const.d.ts +2 -0
  49. package/modules/gateway-admin/const.js +3 -1
  50. package/modules/gateway-admin/const.js.map +1 -1
  51. package/modules/gateway-admin/index.d.ts +1 -0
  52. package/modules/gateway-admin/index.js +1 -0
  53. package/modules/gateway-admin/index.js.map +1 -1
  54. package/modules/gateway-admin/repository/http-path.repository.js.map +1 -1
  55. package/modules/gateway-admin/scheduler-lock.d.ts +8 -0
  56. package/modules/gateway-admin/scheduler-lock.js +8 -0
  57. package/modules/gateway-admin/scheduler-lock.js.map +1 -0
  58. package/modules/gateway-admin/services/gateway-metrics-rollup.service.d.ts +8 -1
  59. package/modules/gateway-admin/services/gateway-metrics-rollup.service.js +59 -4
  60. package/modules/gateway-admin/services/gateway-metrics-rollup.service.js.map +1 -1
  61. package/modules/gateway-admin/services/gateway-metrics.service.d.ts +4 -1
  62. package/modules/gateway-admin/services/gateway-metrics.service.js +19 -6
  63. package/modules/gateway-admin/services/gateway-metrics.service.js.map +1 -1
  64. package/modules/gateway-admin/services/gateway-retention.service.d.ts +4 -1
  65. package/modules/gateway-admin/services/gateway-retention.service.js +33 -3
  66. package/modules/gateway-admin/services/gateway-retention.service.js.map +1 -1
  67. package/modules/gateway-admin/services/route-sync.service.js +25 -5
  68. package/modules/gateway-admin/services/route-sync.service.js.map +1 -1
  69. package/modules/proxy/config/path-definition.config.d.ts +7 -0
  70. package/modules/proxy/services/http-handler.service.d.ts +3 -0
  71. package/modules/proxy/services/http-handler.service.js +54 -6
  72. package/modules/proxy/services/http-handler.service.js.map +1 -1
  73. package/modules/proxy/services/websocket.service.js +28 -2
  74. package/modules/proxy/services/websocket.service.js.map +1 -1
  75. package/package.json +1 -1
  76. package/schematics/nest-add/files/skills/rlb-amqp/references/config-schema.md +20 -3
  77. package/schematics/nest-add/files/skills/rlb-amqp/references/gotchas.md +19 -3
  78. package/schematics/nest-add/files/skills/rlb-amqp-acl/SKILL.md +35 -10
  79. package/schematics/nest-add/files/skills/rlb-amqp-gateway-admin/SKILL.md +27 -1
@@ -1 +1 @@
1
- {"version":3,"file":"http-handler.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/http-handler.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-handler.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/http-handler.service.ts"],"names":[],"mappings":"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"}
@@ -180,6 +180,8 @@ let WebSocketService = WebSocketService_1 = class WebSocketService {
180
180
  if (this.subscriptions[client.id][eventDef.name])
181
181
  return;
182
182
  const scopeValue = eventDef.scopeClaim ? claims?.[eventDef.scopeClaim] : undefined;
183
+ const maxBuffered = this.gatewayConfig.ws?.maxBufferedBytes ?? 1048576;
184
+ let saturated = false;
183
185
  this.subscriptions[client.id][eventDef.name] = this.subjects[eventDef.name]
184
186
  .pipe((0, rxjs_1.filter)((o) => this.matches(o, select, eventDef, scopeValue)))
185
187
  .subscribe((o) => {
@@ -187,6 +189,19 @@ let WebSocketService = WebSocketService_1 = class WebSocketService {
187
189
  this.closeExpired(client);
188
190
  return;
189
191
  }
192
+ if (client.readyState !== ws_1.WebSocket.OPEN)
193
+ return;
194
+ if (client.bufferedAmount > maxBuffered) {
195
+ if (!saturated) {
196
+ saturated = true;
197
+ this.logger.warn(`[WS] client ${client.id} saturated on event '${eventDef.name}' (${client.bufferedAmount}B buffered > ${maxBuffered}B): dropping messages until it drains`);
198
+ }
199
+ return;
200
+ }
201
+ if (saturated) {
202
+ saturated = false;
203
+ this.logger.log(`[WS] client ${client.id} drained: resuming delivery for event '${eventDef.name}'`);
204
+ }
190
205
  client.send(JSON.stringify({
191
206
  topic: `on${eventDef.name.charAt(0).toUpperCase() + eventDef.name.slice(1)}`,
192
207
  data: o.payload || o,
@@ -248,8 +263,19 @@ let WebSocketService = WebSocketService_1 = class WebSocketService {
248
263
  this.logger.log('Initializing WebSocket service');
249
264
  const extEvents = [];
250
265
  if (this.gatewayConfig.loadConfig?.events) {
251
- const o = await this.broker.requestData(this.gatewayConfig.loadConfig.events.topic, this.gatewayConfig.loadConfig.events.action, {});
252
- extEvents.push(...o);
266
+ const src = this.gatewayConfig.loadConfig.events;
267
+ try {
268
+ const o = await this.broker.requestData(src.topic, src.action, {});
269
+ if (Array.isArray(o)) {
270
+ extEvents.push(...o);
271
+ }
272
+ else {
273
+ this.logger.warn(`[WS] events source ${src.topic}/${src.action} returned a non-array reply; ignoring it.`);
274
+ }
275
+ }
276
+ catch (error) {
277
+ this.logger.warn(`[WS] failed to pull remote events (${src.topic}/${src.action}): ${error?.message}. Keeping YAML events only — remote events will be missing until restart.`);
278
+ }
253
279
  }
254
280
  this.wsEvents = [...this.gatewayConfig?.events || [], ...extEvents];
255
281
  this.wsEvents.forEach(e => e.name = e.name.trim());
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/websocket.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/websocket.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-rlb/nestjs-amqp",
3
- "version": "2.0.13",
3
+ "version": "2.1.0",
4
4
  "description": "",
5
5
  "author": "Giuseppe Riolo <riolo.giuseppe@gmail.com>",
6
6
  "private": false,
@@ -39,7 +39,14 @@ broker:
39
39
  uri: "amqp://user:pass@host:5672/vhost" # string | string[] (failover); vhost after last "/"
40
40
  prefetchCount: 10 # default channel prefetch
41
41
  defaultRpcTimeout: 10000 # ms (call arg → topic → this → 10000)
42
- defaultSubscribeErrorBehavior: ack # ack | nack | requeue (lib default REQUEUE)
42
+ retry: # bounded retry on handler failure (replaces legacy infinite requeue)
43
+ maxAttempts: 5 # total attempts incl. first delivery (default 5)
44
+ delayMs: 5000 # wait between attempts via TTL wait-queue <queue>.retry.<delayMs> (default 0)
45
+ onExhausted: dead-letter # dead-letter | drop (default: dead-letter if deadLetter set, else drop)
46
+ deadLetter:
47
+ exchange: rlb-dlx # MUST be declared in broker.exchanges (not auto-asserted)
48
+ routingKey: my-key # optional; default = the message's original routing key
49
+ defaultSubscribeErrorBehavior: ack # LEGACY ack | nack | requeue; only when `retry` unset. Built-in default (nothing set): 5 attempts → drop
43
50
  defaultPublishErrorBehavior: reject
44
51
 
45
52
  routeDiscovery: # PUBLISHER-side route auto-discovery (microservice only)
@@ -53,7 +60,7 @@ broker:
53
60
  reconnectTimeInSeconds: 60
54
61
  connectionOptions:
55
62
  clientProperties:
56
- connection_name: my-service-1 # DISTINCT per instance for broadcast + WebSocket
63
+ connection_name: my-service # LOGICAL name the lib auto-appends -<hostname>-<pid> per instance
57
64
  credentials:
58
65
  mechanism: PLAIN # PLAIN | EXTERNAL | AMQPLAIN (case-insensitive)
59
66
  username: guest
@@ -76,6 +83,11 @@ broker:
76
83
  routingKey: rlb-acl # string | string[]; REQUIRED if exchange type == topic
77
84
  createQueueIfNotExists: true
78
85
  options: { durable: true, exclusive: false, autoDelete: false }
86
+ # Growth bounds (RECOMMENDED on work queues; unbounded queues trip RabbitMQ's
87
+ # mem/disk alarms which BLOCK all publishers): messageTtl (ms), maxLength (msgs),
88
+ # expires (queue TTL when unused, ms). ⚠️ changing options on an EXISTING queue
89
+ # → 406 PRECONDITION_FAILED loop; delete the queue first or use a broker policy.
90
+ # options: { durable: true, messageTtl: 3600000, maxLength: 100000 }
79
91
  consumerTag: my-tag # optional, unique per channel
80
92
 
81
93
  replyQueues: # map exchange → reply queue (RPC responses)
@@ -105,7 +117,11 @@ topics:
105
117
  queue: rlb-acl # for rpc/handle: must exist in broker.queues[]
106
118
  exchange: rlb # exchange name
107
119
  routingKey: rlb-acl # broadcast / topic exchanges
108
- errorBehavior: ack # per-topic override of defaultSubscribeErrorBehavior (default REQUEUE)
120
+ errorBehavior: ack # LEGACY per-topic override (ack|nack|requeue); prefer `retry`
121
+ retry: # per-topic retry policy; overrides broker.retry (see broker block)
122
+ maxAttempts: 3
123
+ delayMs: 1000
124
+ onExhausted: drop
109
125
  mandatory: false # publish with AMQP `mandatory` (unroutable → returned)
110
126
  persistent: false # publish delivery-mode 2 (survives restart if queue durable)
111
127
  toObservable: false # handle only: route to BrokerService.events$ instead of a handler
@@ -189,6 +205,7 @@ gateway:
189
205
  maxSubscriptionsPerClient: 50
190
206
  heartbeatIntervalMs: 30000 # default 30000; also drops dead/expired-token sockets
191
207
  maxMessageBytes: 16384 # default 16384; oversized client frames dropped
208
+ maxBufferedBytes: 1048576 # default 1 MiB; slow client above this → its messages dropped until it drains
192
209
  allowedOrigins: [https://app.example.com] # omit → all Origins accepted (logged)
193
210
  # auth/roles/scope are declared PER-EVENT on events[], not here
194
211
 
@@ -47,11 +47,24 @@ Ported from `docs/gotchas.md` (re-verified against post-2.0.5 code).
47
47
  ## connection_name (broadcast / WebSocket / route-discovery)
48
48
  11. **`broadcast` + WebSocket require `connection_name`** (`clientProperties.connection_name`,
49
49
  or `broker.routeDiscovery.serviceName` which fills it when unset), else throw at boot.
50
- 12. **Every instance needs a DISTINCT `connection_name`.** Sharing it makes RabbitMQ treat the
51
- per-instance queues as one consumer group and **round-robin** broadcast/WS messages reloads
52
- land on "every other" instance, WS clients miss events delivered to the other one.
50
+ 12. **`connection_name` is a LOGICAL name: the library auto-appends `-<hostname>-<pid>` per
51
+ instance** (hostname is unique per container/pod; under Docker pid is always 1). Replicas can
52
+ share one config. Historical context: with a literally shared name RabbitMQ round-robined
53
+ broadcast/WS messages between instances. Auto-created broadcast queues are `autoDelete`.
54
+
55
+ ## Queues / overload
56
+ Unbounded work queues trip RabbitMQ's mem/disk alarms → ALL publishers blocked. Set
57
+ `messageTtl`/`maxLength` in `queues[].options` (⚠️ changing options on an EXISTING queue →
58
+ 406 loop; delete it first or use a broker policy). Put `gw-metrics-track` on the optional
59
+ dedicated `rlb-gateway-metrics` topic (+ own bounded queue, `gateway.metrics.topic` → it):
60
+ on the shared admin queue a slow metrics DB starves `gw-health`/`gw-reload`/admin RPCs.
53
61
 
54
62
  ## RPC / timeout / errors
63
+ Handler failures follow a BOUNDED retry policy (`broker.retry` / `topics[].retry`:
64
+ `maxAttempts`, `delayMs`, `onExhausted: dead-letter|drop`; built-in default 5 attempts → drop) —
65
+ the old infinite nack-requeue default is gone. Exhausted RPC messages reply `RetryExhaustedError`
66
+ (gateway → 502); deserialization/pipe-validation failures skip retries. `deadLetter.exchange`
67
+ must be declared in `broker.exchanges`. Explicit legacy `errorBehavior` still wins over defaults.
55
68
  13. **Wrong `replyQueues` key → silent timeout.** `requestData` resolves `replyTo` from
56
69
  `broker.replyQueues[exchange]`; absent → RabbitMQ direct-reply-to. Wrong exchange key → no
57
70
  reply routed back → the call just times out.
@@ -155,6 +168,9 @@ Ported from `docs/gotchas.md` (re-verified against post-2.0.5 code).
155
168
  delivered afterward. Long-lived clients need token refresh + reconnect.
156
169
  37. **Set `gateway.ws.allowedOrigins`** to reject cross-site handshakes; omitted → all Origins
157
170
  accepted (logged at boot). `maxMessageBytes` (default 16384) drops oversized client frames.
171
+ `maxBufferedBytes` (default 1 MiB) is the outbound backpressure cap: a slow client above it
172
+ has its messages dropped until it drains. A down `loadConfig.events` source no longer crashes
173
+ the gateway at boot: it degrades to YAML-only events (remote ones missing until restart).
158
174
 
159
175
  ## Publish / events
160
176
  38. **`publishMessage` is `async` — `await` it** for the publisher-confirm guarantee and to catch
@@ -54,11 +54,21 @@ One record per `(userId, companyId, resourceId)`. Both ops **require `userId` +
54
54
  - `companyId` (replaced `resourceBusinessId`) is **load-bearing**: it is part of the grant
55
55
  identity AND part of authorization (a grant matches only when its `companyId` equals the
56
56
  request's). It also groups `acl-list-resources-by-user` output.
57
- - **Caller gating:** `acl-grant`/`acl-revoke` require the caller (forwarded
58
- `X-GTW-AUTH-USERID`) to hold the `role-management` action on the TARGET
59
- `(companyId, resourceId)`, else **403**. The gate action defaults to `role-management`,
60
- overridable via `AclModuleOptions.roleManagementAction`. Bootstrap by seeding the first
61
- `role-management` grant directly in the DB (no caller can grant it otherwise).
57
+ - **Caller gating (two ways to pass):** `acl-grant`/`acl-revoke` authorize the caller
58
+ (forwarded `X-GTW-AUTH-USERID`) if EITHER:
59
+ 1. it holds the `role-management` action on the TARGET `(companyId, resourceId)` — the
60
+ per-resource path (default action, override via `AclModuleOptions.roleManagementAction`); OR
61
+ 2. it holds the SYSTEM action `role-system`, checked **resource-agnostically** (any grant,
62
+ typically a global one with no company/resource) — this **bypasses** the per-resource check
63
+ and lets the caller grant/revoke on ANY resource (override via
64
+ `AclModuleOptions.roleSystemAction`).
65
+ Neither → **403**. The per-resource check runs first (a normal manager costs one cached lookup);
66
+ the `role-system` bypass is only evaluated when it fails.
67
+ - **Use `role-system` to bootstrap a new resource's first owner:** a freshly created resource has
68
+ no grants, so nobody holds `role-management` on it — a system admin with `role-system` grants the
69
+ first `role-manager` (owner). Grant `role-system` only to trusted admins (agnostic = global power).
70
+ Bootstrap the very first `role-system`/`role-management` grant directly in the DB (no caller can
71
+ grant it otherwise).
62
72
 
63
73
  ## Checks — single primitive, GET → 200 with `true`/`false`
64
74
 
@@ -95,10 +105,25 @@ AclModule.forRoot(
95
105
  { provide: AclGrantRepository, useClass: MyAclGrantRepository },
96
106
  { provide: RLB_ACL_CACHE_STORE, useClass: MyRedisAclCacheStore }, // OPTIONAL L2 (omit → RAM-only)
97
107
  ],
98
- { cache: { ramTtlMs: 30_000, l2TtlSec: 600 } }, // L1 RAM (default 30000) / L2 (default 600s)
108
+ {
109
+ cache: { ramTtlMs: 30_000, l2TtlSec: 600, maxRamEntries: 50_000 }, // L1 RAM / L2 (s) / hard cap
110
+ // roleManagementAction: 'role-management', // per-resource grant/revoke gate (default)
111
+ // roleSystemAction: 'role-system', // agnostic bypass action (default)
112
+ checkTimeoutMs: 5_000, // deadline on the miss DB read → 503 (0 = disable)
113
+ invalidation: { exchange: 'acl-invalidate' }, // MULTI-INSTANCE: fanout broadcast so peers flush
114
+ }, // L1 at once (else stale ≤ ramTtlMs after mutate)
99
115
  );
100
116
  ```
101
117
 
118
+ Options quick-ref (`AclModuleOptions`):
119
+ - `roleManagementAction` (default `role-management`) — per-resource grant/revoke gate.
120
+ - `roleSystemAction` (default `role-system`) — agnostic bypass on grant/revoke (see gating above).
121
+ - `checkTimeoutMs` (default `5000`) — deadline on the cache-miss DB resolution; on timeout the check
122
+ throws → gateway **503** (fail-closed). `0`/negative disables it. Cache hits never hit the DB.
123
+ - `invalidation.exchange` — cross-instance L1 invalidation over an AMQP fanout. **Required in
124
+ multi-instance** or peers serve stale allow/deny for up to `cache.ramTtlMs` after a grant/revoke.
125
+ Declare the exchange in `broker.exchanges`.
126
+
102
127
  Gateway side — let route `actions: [...]` gates run **in-process** (no broker hop) by
103
128
  binding the gateway token to the same `AclService` (implements
104
129
  `IAclRoleService.checkAction(userId, ctx, action)`):
@@ -150,8 +175,8 @@ the fixed library string.
150
175
  | acl-role-upsert | PUT | /acl/roles | body | acl-role-update |
151
176
  | acl-role-delete | DELETE | /acl/roles | body | acl-role-delete |
152
177
  | acl-role-search | GET | /acl/roles/search | query | acl-role-search (`?q=&page=&limit=` → `PaginationModel<AclRole>`) |
153
- | acl-grant | POST | /acl/grants | body | acl-grant (gated: caller needs `role-management`) |
154
- | acl-revoke | DELETE | /acl/grants | body | acl-revoke (gated: caller needs `role-management`) |
178
+ | acl-grant | POST | /acl/grants | body | acl-grant (gated: caller needs `role-management` on target **or** `role-system`) |
179
+ | acl-revoke | DELETE | /acl/grants | body | acl-revoke (gated: caller needs `role-management` on target **or** `role-system`) |
155
180
  | acl-grant-search | GET | /acl/grants/search | query | acl-grant-search — access search (`?q=&page=&limit=` → `PaginationModel<AclGrant>`) |
156
181
  | acl-check | GET | /acl/check | query | acl-check-action |
157
182
  | acl-list-resources-by-user | GET | /acl/resources | query | acl-list-resources-by-user (+ `auth:`) |
@@ -198,6 +223,6 @@ gateway:
198
223
  - action-gated routes (`actions: [...]`) → `RLB_GTW_ACL_ROLE_SERVICE` bound to an
199
224
  `IAclRoleService` (`AclService`, `checkAction`). Auth-provider needs `uidClaim`
200
225
  (+ `headerPrefix`).
201
- - `acl-grant`/`acl-revoke` are gated — seed the first `role-management` grant directly in
202
- the DB or every caller gets `403`.
226
+ - `acl-grant`/`acl-revoke` are gated — caller needs `role-management` on the target **or** the
227
+ agnostic `role-system`; seed the first such grant directly in the DB or every caller gets `403`.
203
228
  - a check returning `false` is a **200**, not an error.
@@ -53,13 +53,39 @@ from config (see Route auto-discovery). Exports `GatewayPathService`,
53
53
  `prune`/`prunePoints`) and the hourly rollups (`rollupRetentionDays`, via `pruneRollups`). An hourly
54
54
  `GatewayMetricsRollupService` downsamples the previous hour's raw points into persisted
55
55
  `HttpMetricRollup` rows (`recordRollups`) so long-term trends survive raw-point pruning;
56
- `gw-metrics-rollups` reads them back via `rollupSeries`.
56
+ `gw-metrics-rollups` reads them back via `rollupSeries`. The rollup also runs a **boot catch-up**
57
+ (last 3 completed hours) on bootstrap, so short-lived / autoscaled instances (< 1 h) still produce
58
+ rollups before raw points are pruned.
59
+
60
+ **More options:**
61
+ - `metricsQueryMaxPoints` (default `500000`; `0`/negative disables) — hard cap on the raw points a
62
+ single `gw-metrics-series` / `gw-metrics-summary` loads into memory before app-side aggregation;
63
+ when hit, the newest N are used and a warning is logged. Prevents an OOM on a wide `from/to` window.
64
+ - **Multi-instance:** provide a `GatewaySchedulerLock` (token `RLB_GW_SCHED_LOCK`, e.g. Mongo TTL or
65
+ Redis `SET NX PX`) so the rollup/retention jobs run on ONE instance per tick. Without it every
66
+ instance runs them — idempotent (rollups upsert-by-bucket, prunes are deletes) but wasteful.
57
67
 
58
68
  **New repo contract methods consumers must implement:** every `*Repository.search(q?, page?, limit?)`
59
69
  now returns `Promise<PaginationModel<T>>` (not a bare array); `RouteSyncLogRepository.query(filter,
60
70
  page?, limit?)` backs `gw-route-log-search`; `RouteSyncLogRepository.prune` + `HttpMetricRepository.prunePoints`
61
71
  back retention.
62
72
 
73
+ **Required DB indexes (the abstract repos ASSUME them; the concrete store must declare them —
74
+ without them every query/prune is a collection scan):**
75
+ - `http-metric`: **unique** `(method, route)` — the `increment` upsert key. NOT `+name`: name is
76
+ updated, not part of the identity; adding it would split the counter.
77
+ - `http-metric-point`: `(method, route, ts)` for `points()` (filters method+route, newest-first) +
78
+ a standalone `(ts)` — or a TTL index — for `prunePoints`.
79
+ - `http-metric-rollup`: **unique** `(bucketStart, granularityMs, method, route)` — the `recordRollups`
80
+ upsert key; its `bucketStart` prefix also serves `rollupSeries` + `pruneRollups`.
81
+ - `http-path`: `routeKey`, `owner`, and `auth` (the last backs gateway-auth's `filter({ auth })`
82
+ delete guard) + **unique** `name`.
83
+ - `auth-provider`: **unique** `name` (sole identity — no `_id`).
84
+ - `route-sync-log`: `(service, ts)` + `(routeKey, ts)` for `query()`, and `(ts)` (or TTL) for `prune`.
85
+
86
+ The `gateway-db` sample (`sample/config-sample/gateway-db/.../database/schema/`) carries the reference
87
+ Mongo declarations.
88
+
63
89
  ## Broker topic + queue (required)
64
90
 
65
91
  ```yaml