@cat-factory/node-server 0.92.13 → 0.92.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.
- package/dist/readiness.d.ts +35 -0
- package/dist/readiness.d.ts.map +1 -0
- package/dist/readiness.js +66 -0
- package/dist/readiness.js.map +1 -0
- package/dist/server.d.ts +11 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +38 -2
- package/dist/server.js.map +1 -1
- package/package.json +18 -18
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface ReadinessCheck {
|
|
2
|
+
ok: boolean;
|
|
3
|
+
/**
|
|
4
|
+
* The failure detail when `ok` is false. `/ready` is PUBLIC (unauthenticated, like `/health`), so
|
|
5
|
+
* this string is readable by any client — keep it to a short diagnostic (`pg-boss not running`,
|
|
6
|
+
* `timed out after 2000ms`) and NEVER put a connection string, host, or credential in it.
|
|
7
|
+
*/
|
|
8
|
+
error?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ReadinessReport {
|
|
11
|
+
ready: boolean;
|
|
12
|
+
/** Per-dependency results, keyed by name (`database`, `pgBoss`, or `shutdown` while draining). */
|
|
13
|
+
checks: Record<string, ReadinessCheck>;
|
|
14
|
+
}
|
|
15
|
+
export type ReadinessProbe = () => Promise<ReadinessReport>;
|
|
16
|
+
export interface ReadinessProbeDeps {
|
|
17
|
+
/** Round-trips the app's Postgres pool (a bare `SELECT 1`) — resolves on success, throws on failure. */
|
|
18
|
+
ping: () => Promise<void>;
|
|
19
|
+
/** Whether pg-boss is started and has not emitted `stopped` (a flag the boot sequence owns). */
|
|
20
|
+
pgBossHealthy: () => boolean;
|
|
21
|
+
/** True once graceful shutdown has begun, so the probe drains immediately. Optional (default: not draining). */
|
|
22
|
+
isDraining?: () => boolean;
|
|
23
|
+
/** Bounds the DB probe so a wedged pool can't hang the health check. Default 2000ms. */
|
|
24
|
+
timeoutMs?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Compute the readiness verdict. Draining short-circuits (a SIGTERM'd node reports not-ready
|
|
28
|
+
* immediately so the LB stops routing new traffic while in-flight requests finish — the
|
|
29
|
+
* downstream probes are irrelevant to that decision). Otherwise both the Postgres pool and
|
|
30
|
+
* pg-boss must be healthy for `ready: true`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function checkReadiness(deps: ReadinessProbeDeps): Promise<ReadinessReport>;
|
|
33
|
+
/** Bind {@link checkReadiness} to a fixed set of probes — the shape `createApp` mounts on `/ready`. */
|
|
34
|
+
export declare function makeReadinessProbe(deps: ReadinessProbeDeps): ReadinessProbe;
|
|
35
|
+
//# sourceMappingURL=readiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAA;IACX;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAA;IACd,kGAAkG;IAClG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CACvC;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;AAE3D,MAAM,WAAW,kBAAkB;IACjC,wGAAwG;IACxG,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,gGAAgG;IAChG,aAAa,EAAE,MAAM,OAAO,CAAA;IAC5B,gHAAgH;IAChH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAA;IAC1B,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA0BD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAavF;AAED,uGAAuG;AACvG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAE3E"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// Readiness probing for the Node facade's `/ready` endpoint.
|
|
2
|
+
//
|
|
3
|
+
// `/health` (in server.ts) is a cheap LIVENESS signal — the process is up and the event loop
|
|
4
|
+
// turns. It answers 200 regardless of downstream health, exactly as a liveness probe should:
|
|
5
|
+
// a liveness failure means "restart me", and a dead Postgres pool is not fixed by a restart.
|
|
6
|
+
//
|
|
7
|
+
// `/ready` is the READINESS signal a load balancer / orchestrator drains on: it round-trips the
|
|
8
|
+
// app's Postgres pool and confirms pg-boss is running, so a replica whose pool has died or whose
|
|
9
|
+
// durable-execution worker has stopped reports NOT ready and is taken out of rotation without
|
|
10
|
+
// killing it. It also flips to not-ready the instant graceful shutdown begins, so new traffic
|
|
11
|
+
// stops arriving while in-flight requests drain.
|
|
12
|
+
//
|
|
13
|
+
// This is legitimately Node-facade-specific: the Worker has no long-lived process to probe (each
|
|
14
|
+
// request is a fresh isolate), so it has no readiness concept. Local mothership mode has no local
|
|
15
|
+
// Postgres/pg-boss either (org state is served remotely), so it wires no probe and `/ready` simply
|
|
16
|
+
// mirrors `/health`.
|
|
17
|
+
function message(err) {
|
|
18
|
+
return err instanceof Error ? err.message : String(err);
|
|
19
|
+
}
|
|
20
|
+
/** Reject if `promise` hasn't settled within `ms` — a wedged pool must not hang `/ready`. */
|
|
21
|
+
async function withTimeout(promise, ms) {
|
|
22
|
+
let timer;
|
|
23
|
+
const timeout = new Promise((_resolve, reject) => {
|
|
24
|
+
timer = setTimeout(() => reject(new Error(`timed out after ${ms}ms`)), ms);
|
|
25
|
+
// The probe fires every few seconds; its timeout must never keep the process alive on its own.
|
|
26
|
+
timer.unref?.();
|
|
27
|
+
});
|
|
28
|
+
// When the timeout wins the race, `promise` (a wedged `SELECT 1`) is still pending and may reject
|
|
29
|
+
// LATER — exactly the degraded-pool path this probe exists to detect. Nothing awaits it by then,
|
|
30
|
+
// so attach a no-op handler to swallow that late rejection and avoid an unhandledRejection. This
|
|
31
|
+
// does not hide a pre-timeout failure: the race still observes `promise` rejecting and rejects.
|
|
32
|
+
promise.catch(() => { });
|
|
33
|
+
try {
|
|
34
|
+
await Promise.race([promise, timeout]);
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
if (timer)
|
|
38
|
+
clearTimeout(timer);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Compute the readiness verdict. Draining short-circuits (a SIGTERM'd node reports not-ready
|
|
43
|
+
* immediately so the LB stops routing new traffic while in-flight requests finish — the
|
|
44
|
+
* downstream probes are irrelevant to that decision). Otherwise both the Postgres pool and
|
|
45
|
+
* pg-boss must be healthy for `ready: true`.
|
|
46
|
+
*/
|
|
47
|
+
export async function checkReadiness(deps) {
|
|
48
|
+
if (deps.isDraining?.()) {
|
|
49
|
+
return { ready: false, checks: { shutdown: { ok: false, error: 'draining' } } };
|
|
50
|
+
}
|
|
51
|
+
const checks = {};
|
|
52
|
+
try {
|
|
53
|
+
await withTimeout(deps.ping(), deps.timeoutMs ?? 2_000);
|
|
54
|
+
checks.database = { ok: true };
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
checks.database = { ok: false, error: message(err) };
|
|
58
|
+
}
|
|
59
|
+
checks.pgBoss = deps.pgBossHealthy() ? { ok: true } : { ok: false, error: 'pg-boss not running' };
|
|
60
|
+
return { ready: checks.database.ok && checks.pgBoss.ok, checks };
|
|
61
|
+
}
|
|
62
|
+
/** Bind {@link checkReadiness} to a fixed set of probes — the shape `createApp` mounts on `/ready`. */
|
|
63
|
+
export function makeReadinessProbe(deps) {
|
|
64
|
+
return () => checkReadiness(deps);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=readiness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,6FAA6F;AAC7F,6FAA6F;AAC7F,6FAA6F;AAC7F,EAAE;AACF,gGAAgG;AAChG,iGAAiG;AACjG,8FAA8F;AAC9F,8FAA8F;AAC9F,iDAAiD;AACjD,EAAE;AACF,iGAAiG;AACjG,kGAAkG;AAClG,mGAAmG;AACnG,qBAAqB;AA+BrB,SAAS,OAAO,CAAC,GAAY;IAC3B,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACzD,CAAC;AAED,6FAA6F;AAC7F,KAAK,UAAU,WAAW,CAAC,OAAsB,EAAE,EAAU;IAC3D,IAAI,KAAgD,CAAA;IACpD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QACrD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC1E,+FAA+F;QAC/F,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;IACjB,CAAC,CAAC,CAAA;IACF,kGAAkG;IAClG,iGAAiG;IACjG,iGAAiG;IACjG,gGAAgG;IAChG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACvB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IACxC,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAwB;IAC3D,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;IACjF,CAAC;IACD,MAAM,MAAM,GAAmC,EAAE,CAAA;IACjD,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAA;QACvD,MAAM,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAA;IACtD,CAAC;IACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAA;IACjG,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAA;AAClE,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,kBAAkB,CAAC,IAAwB;IACzD,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -3,11 +3,21 @@ import { type AppEnv, type ConfigProblem, type ServerContainer } from '@cat-fact
|
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
4
|
import { type AppCachesProfile } from '@cat-factory/caching';
|
|
5
5
|
import { type NodeContainerOptions } from './container.js';
|
|
6
|
+
import { type ReadinessProbe } from './readiness.js';
|
|
6
7
|
import { NodeRealtimeHub, attachRealtime } from './realtime.js';
|
|
7
8
|
export interface CreateServerOptions extends NodeContainerOptions {
|
|
8
9
|
}
|
|
10
|
+
export interface CreateAppOptions {
|
|
11
|
+
/**
|
|
12
|
+
* A readiness probe mounted on the public `GET /ready`. Wired by {@link start} from the live
|
|
13
|
+
* Postgres pool + pg-boss so a broken replica drains out of rotation. Omitted (embedded
|
|
14
|
+
* `createServer`, local mothership mode) ⇒ `/ready` mirrors `/health` — there is no local
|
|
15
|
+
* durable-execution substrate to probe. See {@link ./readiness.js}.
|
|
16
|
+
*/
|
|
17
|
+
readiness?: ReadinessProbe;
|
|
18
|
+
}
|
|
9
19
|
/** Build the Hono app around a ready container (shared by `createServer` + `start`). */
|
|
10
|
-
export declare function createApp(container: ServerContainer, env?: NodeJS.ProcessEnv): Hono<AppEnv>;
|
|
20
|
+
export declare function createApp(container: ServerContainer, env?: NodeJS.ProcessEnv, opts?: CreateAppOptions): Hono<AppEnv>;
|
|
11
21
|
/**
|
|
12
22
|
* Build the app from container options (convenience, e.g. embedding / tests).
|
|
13
23
|
*
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,aAAa,EAClB,KAAK,eAAe,EAWrB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,KAAK,gBAAgB,EAAmB,MAAM,sBAAsB,CAAA;AAE7E,OAAO,EAAE,KAAK,oBAAoB,EAAsB,MAAM,gBAAgB,CAAA;AAc9E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAiB/D,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;CAAG;AAEpE,wFAAwF;AACxF,wBAAgB,SAAS,CACvB,SAAS,EAAE,eAAe,EAC1B,GAAG,GAAE,MAAM,CAAC,UAAwB,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,aAAa,EAClB,KAAK,eAAe,EAWrB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,KAAK,gBAAgB,EAAmB,MAAM,sBAAsB,CAAA;AAE7E,OAAO,EAAE,KAAK,oBAAoB,EAAsB,MAAM,gBAAgB,CAAA;AAc9E,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAiB/D,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;CAAG;AAEpE,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B;AAED,wFAAwF;AACxF,wBAAgB,SAAS,CACvB,SAAS,EAAE,eAAe,EAC1B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,gBAAqB,GAC1B,IAAI,CAAC,MAAM,CAAC,CAyCd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,CAEvE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACjB,WAAW,EAAE,eAAe,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;IAAC,YAAY,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;CAAE,CASxF;AAcD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EAAE,EACzB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,UAAU,CAAC,OAAO,KAAK,CAAC,CAU1B;AAED;;;;GAIG;AACH,wBAAsB,KAAK,CACzB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,eAAe,CAAA;IACnE;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAA;IAC7D;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,oBAAoB,CAAC,0BAA0B,CAAC,CAAA;IAC3E;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACzC;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,CAAA;CAClE,GACL,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAenC"}
|
package/dist/server.js
CHANGED
|
@@ -21,6 +21,7 @@ import { resolveSweepInterval, startInitiativeLoopSweeper } from './initiativeLo
|
|
|
21
21
|
import { startKaizenSweeper } from './kaizen.js';
|
|
22
22
|
import { startNotificationEscalationSweeper } from './notifications.js';
|
|
23
23
|
import { buildRealtimePropagator } from './propagator.js';
|
|
24
|
+
import { makeReadinessProbe } from './readiness.js';
|
|
24
25
|
import { NodeRealtimeHub, attachRealtime } from './realtime.js';
|
|
25
26
|
import { DrizzleGitHubInstallationRepository } from './repositories/containerExecution.js';
|
|
26
27
|
import { createDrizzleRepositories } from './repositories/drizzle.js';
|
|
@@ -31,7 +32,7 @@ import { DrizzleNotificationRepository } from './repositories/notifications.js';
|
|
|
31
32
|
import { startArtifactRetentionSweeper, startRetentionSweeper } from './retention.js';
|
|
32
33
|
import { SystemClock } from './runtime.js';
|
|
33
34
|
/** Build the Hono app around a ready container (shared by `createServer` + `start`). */
|
|
34
|
-
export function createApp(container, env = process.env) {
|
|
35
|
+
export function createApp(container, env = process.env, opts = {}) {
|
|
35
36
|
const app = new Hono();
|
|
36
37
|
app.use('*', cors({
|
|
37
38
|
origin: (origin) => resolveCorsOrigin(origin, env.CORS_ALLOWED_ORIGINS, corsReflectsWhenUnset(env.ENVIRONMENT)),
|
|
@@ -44,7 +45,18 @@ export function createApp(container, env = process.env) {
|
|
|
44
45
|
c.set('container', container);
|
|
45
46
|
await next();
|
|
46
47
|
});
|
|
48
|
+
// Liveness: the process is up. Always 200 — a restart can't fix a dead downstream, and this is
|
|
49
|
+
// what the orchestrator restarts on. Readiness (pool + pg-boss) is `/ready` below.
|
|
47
50
|
app.get('/health', (c) => c.json({ status: 'ok' }));
|
|
51
|
+
// Readiness: drained on when the pool dies, pg-boss stops, or shutdown begins. Public (before the
|
|
52
|
+
// auth gate) so a load balancer can probe it unauthenticated, like `/health`. With no probe wired
|
|
53
|
+
// (embedded/mothership) it reports ready — there is no local substrate to drain on.
|
|
54
|
+
app.get('/ready', async (c) => {
|
|
55
|
+
if (!opts.readiness)
|
|
56
|
+
return c.json({ status: 'ready', checks: {} });
|
|
57
|
+
const report = await opts.readiness();
|
|
58
|
+
return c.json({ status: report.ready ? 'ready' : 'not_ready', checks: report.checks }, report.ready ? 200 : 503);
|
|
59
|
+
});
|
|
48
60
|
// Default-deny session gate + per-workspace authz, shared verbatim with the Worker
|
|
49
61
|
// (one implementation in @cat-factory/server so the runtimes can't drift).
|
|
50
62
|
mountAuthGate(app);
|
|
@@ -165,6 +177,18 @@ async function bootServer(options, env) {
|
|
|
165
177
|
// a recovery hint when the DB is wedged.
|
|
166
178
|
await migrate(db, pool, { schema: dbSchema, migrationsSchema });
|
|
167
179
|
await boss.start();
|
|
180
|
+
// pg-boss lifecycle flags for the `/ready` probe: it's running once `start()` resolves and stops
|
|
181
|
+
// being ready when it emits `stopped` (graceful shutdown) or `draining` flips at SIGTERM. The
|
|
182
|
+
// pool's own health is probed live per request (a `SELECT 1`), so it needs no flag.
|
|
183
|
+
// NOTE: this tracks the GRACEFUL `stopped` transition only — a boss that crashes/wedges without
|
|
184
|
+
// emitting `stopped` still reads healthy here. That's an accepted residual gap: such an outage is
|
|
185
|
+
// almost always a shared-database failure the live `SELECT 1` probe catches, and flipping the
|
|
186
|
+
// flag off every transient `error` event would drain the replica on recoverable blips.
|
|
187
|
+
let bossRunning = true;
|
|
188
|
+
boss.on('stopped', () => {
|
|
189
|
+
bossRunning = false;
|
|
190
|
+
});
|
|
191
|
+
let draining = false;
|
|
168
192
|
// Build the repositories once and share them with both the container and the
|
|
169
193
|
// retention sweeper (so the sweeper prunes the very stores the app writes to).
|
|
170
194
|
const clock = new SystemClock();
|
|
@@ -236,7 +260,16 @@ async function bootServer(options, env) {
|
|
|
236
260
|
await startGitHubSyncWorker(boss, container, logger, {
|
|
237
261
|
concurrency: runtime.concurrency,
|
|
238
262
|
});
|
|
239
|
-
|
|
263
|
+
// Readiness probe for `/ready`: a live Postgres round-trip + the pg-boss flag, draining the
|
|
264
|
+
// instant shutdown begins so a load balancer stops routing here while in-flight requests finish.
|
|
265
|
+
const readiness = makeReadinessProbe({
|
|
266
|
+
ping: async () => {
|
|
267
|
+
await pool.query('SELECT 1');
|
|
268
|
+
},
|
|
269
|
+
pgBossHealthy: () => bossRunning,
|
|
270
|
+
isDraining: () => draining,
|
|
271
|
+
});
|
|
272
|
+
const app = createApp(container, env, { readiness });
|
|
240
273
|
const { server, stopRealtime } = serveAppWithRealtime({
|
|
241
274
|
app,
|
|
242
275
|
realtimeHub,
|
|
@@ -306,6 +339,9 @@ async function bootServer(options, env) {
|
|
|
306
339
|
if (shuttingDown)
|
|
307
340
|
return;
|
|
308
341
|
shuttingDown = true;
|
|
342
|
+
// Flip `/ready` to not-ready FIRST so a load balancer drains this replica out of rotation
|
|
343
|
+
// before we start tearing down — new requests go elsewhere while in-flight ones finish.
|
|
344
|
+
draining = true;
|
|
309
345
|
logger.info({ signal }, 'shutting down cat-factory node server');
|
|
310
346
|
stopSweeper();
|
|
311
347
|
stopRetention();
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/node-server",
|
|
3
|
-
"version": "0.92.
|
|
3
|
+
"version": "0.92.14",
|
|
4
4
|
"description": "Node.js runtime facade for the Agent Architecture Board: serves the shared @cat-factory/server Hono app via @hono/node-server, wiring Node implementations of the runtime ports (persistence, gateways, model provisioning).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -33,23 +33,23 @@
|
|
|
33
33
|
"pg-boss": "^12.25.1",
|
|
34
34
|
"toad-scheduler": "^4.1.0",
|
|
35
35
|
"ws": "^8.21.0",
|
|
36
|
-
"@cat-factory/agents": "0.54.
|
|
37
|
-
"@cat-factory/caching": "0.6.
|
|
38
|
-
"@cat-factory/consensus": "0.10.
|
|
36
|
+
"@cat-factory/agents": "0.54.2",
|
|
37
|
+
"@cat-factory/caching": "0.6.37",
|
|
38
|
+
"@cat-factory/consensus": "0.10.38",
|
|
39
39
|
"@cat-factory/contracts": "0.127.0",
|
|
40
|
-
"@cat-factory/eks": "0.1.
|
|
41
|
-
"@cat-factory/gates": "0.5.
|
|
42
|
-
"@cat-factory/gitlab": "0.7.
|
|
43
|
-
"@cat-factory/integrations": "0.81.
|
|
44
|
-
"@cat-factory/kernel": "0.121.
|
|
45
|
-
"@cat-factory/observability-langfuse": "0.7.
|
|
46
|
-
"@cat-factory/orchestration": "0.106.
|
|
47
|
-
"@cat-factory/
|
|
48
|
-
"@cat-factory/provider-
|
|
49
|
-
"@cat-factory/provider-
|
|
50
|
-
"@cat-factory/
|
|
51
|
-
"@cat-factory/
|
|
52
|
-
"@cat-factory/
|
|
40
|
+
"@cat-factory/eks": "0.1.61",
|
|
41
|
+
"@cat-factory/gates": "0.5.22",
|
|
42
|
+
"@cat-factory/gitlab": "0.7.60",
|
|
43
|
+
"@cat-factory/integrations": "0.81.9",
|
|
44
|
+
"@cat-factory/kernel": "0.121.4",
|
|
45
|
+
"@cat-factory/observability-langfuse": "0.7.192",
|
|
46
|
+
"@cat-factory/orchestration": "0.106.3",
|
|
47
|
+
"@cat-factory/provider-bedrock": "0.7.208",
|
|
48
|
+
"@cat-factory/provider-cloudflare": "0.7.209",
|
|
49
|
+
"@cat-factory/provider-s3": "0.2.142",
|
|
50
|
+
"@cat-factory/server": "0.112.4",
|
|
51
|
+
"@cat-factory/spend": "0.12.18",
|
|
52
|
+
"@cat-factory/prompt-fragments": "0.13.13"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@types/node": "^26.1.0",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"drizzle-kit": "1.0.0-rc.4",
|
|
59
59
|
"typescript": "7.0.1-rc",
|
|
60
60
|
"vitest": "^4.1.9",
|
|
61
|
-
"@cat-factory/conformance": "0.10.
|
|
61
|
+
"@cat-factory/conformance": "0.10.103"
|
|
62
62
|
},
|
|
63
63
|
"optionalDependencies": {
|
|
64
64
|
"ioredis": "^5.11.1"
|