@cat-factory/local-server 0.15.0 → 0.16.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.
- package/dist/LocalContainerRunnerTransport.d.ts +97 -9
- package/dist/LocalContainerRunnerTransport.d.ts.map +1 -1
- package/dist/LocalContainerRunnerTransport.js +355 -93
- package/dist/LocalContainerRunnerTransport.js.map +1 -1
- package/dist/LocalProcessRunnerTransport.d.ts +63 -0
- package/dist/LocalProcessRunnerTransport.d.ts.map +1 -0
- package/dist/LocalProcessRunnerTransport.js +188 -0
- package/dist/LocalProcessRunnerTransport.js.map +1 -0
- package/dist/NativeRoutingRunnerTransport.d.ts +20 -0
- package/dist/NativeRoutingRunnerTransport.d.ts.map +1 -0
- package/dist/NativeRoutingRunnerTransport.js +50 -0
- package/dist/NativeRoutingRunnerTransport.js.map +1 -0
- package/dist/container.d.ts +13 -0
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +165 -22
- package/dist/container.js.map +1 -1
- package/dist/harnessHttp.d.ts +58 -0
- package/dist/harnessHttp.d.ts.map +1 -0
- package/dist/harnessHttp.js +95 -0
- package/dist/harnessHttp.js.map +1 -0
- package/dist/runtimes/appleContainerRuntime.d.ts +3 -0
- package/dist/runtimes/appleContainerRuntime.d.ts.map +1 -1
- package/dist/runtimes/appleContainerRuntime.js +8 -1
- package/dist/runtimes/appleContainerRuntime.js.map +1 -1
- package/dist/runtimes/containerRuntime.d.ts +30 -1
- package/dist/runtimes/containerRuntime.d.ts.map +1 -1
- package/dist/runtimes/containerRuntime.js +5 -0
- package/dist/runtimes/containerRuntime.js.map +1 -1
- package/dist/runtimes/dockerRuntime.d.ts +4 -0
- package/dist/runtimes/dockerRuntime.d.ts.map +1 -1
- package/dist/runtimes/dockerRuntime.js +21 -2
- package/dist/runtimes/dockerRuntime.js.map +1 -1
- package/dist/runtimes/index.d.ts.map +1 -1
- package/dist/runtimes/index.js +1 -0
- package/dist/runtimes/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -14
- package/dist/server.js.map +1 -1
- package/package.json +9 -8
package/dist/container.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mCAAmC,EACnC,qCAAqC,EACrC,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { RunnerJobView } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* The failed-poll error the engine classifies as a container eviction (matched by
|
|
4
|
+
* orchestration `isContainerEvictionError`, also used by the bootstrap flow). A
|
|
5
|
+
* vanished/exited harness maps to it so the run stops and the stale-run sweeper can
|
|
6
|
+
* re-drive it — mirroring the Worker transport's 404 mapping.
|
|
7
|
+
*/
|
|
8
|
+
export declare const EVICTION_ERROR = "Job not found (container evicted or crashed)";
|
|
9
|
+
/** The shared-secret header sent on every harness call. */
|
|
10
|
+
export declare const SECRET_HEADER = "x-harness-secret";
|
|
11
|
+
/** Where a harness instance is reachable. */
|
|
12
|
+
export interface HarnessEndpoint {
|
|
13
|
+
host: string;
|
|
14
|
+
port: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const harnessUrl: (endpoint: HarnessEndpoint, path: string) => string;
|
|
17
|
+
export declare const delay: (ms: number) => Promise<void>;
|
|
18
|
+
/** A bounded, never-throwing read of a response body for an error message. */
|
|
19
|
+
export declare function safeText(res: Response): Promise<string>;
|
|
20
|
+
/** POST a job body to the harness `/jobs`, throwing a `<label>`-prefixed error on non-OK. */
|
|
21
|
+
export declare function postHarnessJob(opts: {
|
|
22
|
+
fetchImpl: typeof fetch;
|
|
23
|
+
endpoint: HarnessEndpoint;
|
|
24
|
+
secret: string;
|
|
25
|
+
body: Record<string, unknown>;
|
|
26
|
+
timeoutMs: number;
|
|
27
|
+
label: string;
|
|
28
|
+
}): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* GET a harness job view by id. A 404 (job unknown/reaped, or the harness was recreated)
|
|
31
|
+
* maps to an eviction view; a connection error consults `isDead` — true ⇒ eviction (the
|
|
32
|
+
* backend is gone), false ⇒ rethrow the transient error so the caller retries. Any other
|
|
33
|
+
* non-OK status throws a `<label>`-prefixed error. `isDead` is also where the caller
|
|
34
|
+
* performs its own cleanup (drop a dead pool member / clear a stale cache entry).
|
|
35
|
+
*/
|
|
36
|
+
export declare function pollHarnessJob(opts: {
|
|
37
|
+
fetchImpl: typeof fetch;
|
|
38
|
+
endpoint: HarnessEndpoint;
|
|
39
|
+
jobId: string;
|
|
40
|
+
secret: string;
|
|
41
|
+
timeoutMs: number;
|
|
42
|
+
label: string;
|
|
43
|
+
isDead: () => boolean | Promise<boolean>;
|
|
44
|
+
}): Promise<RunnerJobView>;
|
|
45
|
+
/** A single quick `/health` probe (no retry); false on any error/non-OK. */
|
|
46
|
+
export declare function harnessHealthy(fetchImpl: typeof fetch, endpoint: HarnessEndpoint, requestTimeoutMs: number): Promise<boolean>;
|
|
47
|
+
/** Poll `/health` until OK or the deadline, throwing on timeout (or if `isDead` fires). */
|
|
48
|
+
export declare function waitForHarnessHealth(opts: {
|
|
49
|
+
fetchImpl: typeof fetch;
|
|
50
|
+
endpoint: HarnessEndpoint;
|
|
51
|
+
readyTimeoutMs: number;
|
|
52
|
+
requestTimeoutMs: number;
|
|
53
|
+
intervalMs?: number;
|
|
54
|
+
isDead?: () => boolean;
|
|
55
|
+
deadError?: string;
|
|
56
|
+
timeoutError: string;
|
|
57
|
+
}): Promise<void>;
|
|
58
|
+
//# sourceMappingURL=harnessHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harnessHttp.d.ts","sourceRoot":"","sources":["../src/harnessHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAUxD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,iDAAiD,CAAA;AAE5E,2DAA2D;AAC3D,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAE/C,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,UAAU,aAAc,eAAe,QAAQ,MAAM,KAAG,MAClB,CAAA;AAEnD,eAAO,MAAM,KAAK,OAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CACU,CAAA;AAEzD,8EAA8E;AAC9E,wBAAsB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAM7D;AAED,6FAA6F;AAC7F,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,SAAS,EAAE,OAAO,KAAK,CAAA;IACvB,QAAQ,EAAE,eAAe,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,SAAS,EAAE,OAAO,KAAK,CAAA;IACvB,QAAQ,EAAE,eAAe,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACzC,GAAG,OAAO,CAAC,aAAa,CAAC,CAoBzB;AAED,4EAA4E;AAC5E,wBAAsB,cAAc,CAClC,SAAS,EAAE,OAAO,KAAK,EACvB,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED,2FAA2F;AAC3F,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,SAAS,EAAE,OAAO,KAAK,CAAA;IACvB,QAAQ,EAAE,eAAe,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// Shared HTTP plumbing for talking to an executor-harness instance over its `/jobs` +
|
|
2
|
+
// `/health` API. Both local runner transports — the per-run/pooled CONTAINER transport
|
|
3
|
+
// (LocalContainerRunnerTransport) and the native HOST-PROCESS transport
|
|
4
|
+
// (LocalProcessRunnerTransport) — speak the identical protocol, so it lives here ONCE
|
|
5
|
+
// rather than being copied between them: a protocol change (a header, the request shape,
|
|
6
|
+
// or the eviction-marker string orchestration's `isContainerEvictionError` matches) is
|
|
7
|
+
// then made in a single place instead of silently drifting per transport.
|
|
8
|
+
/**
|
|
9
|
+
* The failed-poll error the engine classifies as a container eviction (matched by
|
|
10
|
+
* orchestration `isContainerEvictionError`, also used by the bootstrap flow). A
|
|
11
|
+
* vanished/exited harness maps to it so the run stops and the stale-run sweeper can
|
|
12
|
+
* re-drive it — mirroring the Worker transport's 404 mapping.
|
|
13
|
+
*/
|
|
14
|
+
export const EVICTION_ERROR = 'Job not found (container evicted or crashed)';
|
|
15
|
+
/** The shared-secret header sent on every harness call. */
|
|
16
|
+
export const SECRET_HEADER = 'x-harness-secret';
|
|
17
|
+
export const harnessUrl = (endpoint, path) => `http://${endpoint.host}:${endpoint.port}${path}`;
|
|
18
|
+
export const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
19
|
+
/** A bounded, never-throwing read of a response body for an error message. */
|
|
20
|
+
export async function safeText(res) {
|
|
21
|
+
try {
|
|
22
|
+
return (await res.text()).slice(0, 500);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return '(no body)';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** POST a job body to the harness `/jobs`, throwing a `<label>`-prefixed error on non-OK. */
|
|
29
|
+
export async function postHarnessJob(opts) {
|
|
30
|
+
const res = await opts.fetchImpl(harnessUrl(opts.endpoint, '/jobs'), {
|
|
31
|
+
method: 'POST',
|
|
32
|
+
headers: { 'content-type': 'application/json', [SECRET_HEADER]: opts.secret },
|
|
33
|
+
body: JSON.stringify(opts.body),
|
|
34
|
+
signal: AbortSignal.timeout(opts.timeoutMs),
|
|
35
|
+
});
|
|
36
|
+
if (!res.ok) {
|
|
37
|
+
throw new Error(`${opts.label} dispatch failed (HTTP ${res.status}): ${await safeText(res)}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* GET a harness job view by id. A 404 (job unknown/reaped, or the harness was recreated)
|
|
42
|
+
* maps to an eviction view; a connection error consults `isDead` — true ⇒ eviction (the
|
|
43
|
+
* backend is gone), false ⇒ rethrow the transient error so the caller retries. Any other
|
|
44
|
+
* non-OK status throws a `<label>`-prefixed error. `isDead` is also where the caller
|
|
45
|
+
* performs its own cleanup (drop a dead pool member / clear a stale cache entry).
|
|
46
|
+
*/
|
|
47
|
+
export async function pollHarnessJob(opts) {
|
|
48
|
+
let res;
|
|
49
|
+
try {
|
|
50
|
+
res = await opts.fetchImpl(harnessUrl(opts.endpoint, `/jobs/${encodeURIComponent(opts.jobId)}`), {
|
|
51
|
+
method: 'GET',
|
|
52
|
+
headers: { [SECRET_HEADER]: opts.secret },
|
|
53
|
+
signal: AbortSignal.timeout(opts.timeoutMs),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
if (await opts.isDead())
|
|
58
|
+
return { state: 'failed', error: EVICTION_ERROR };
|
|
59
|
+
throw err;
|
|
60
|
+
}
|
|
61
|
+
if (res.status === 404)
|
|
62
|
+
return { state: 'failed', error: EVICTION_ERROR };
|
|
63
|
+
if (!res.ok) {
|
|
64
|
+
throw new Error(`${opts.label} job poll failed (HTTP ${res.status}): ${await safeText(res)}`);
|
|
65
|
+
}
|
|
66
|
+
return (await res.json());
|
|
67
|
+
}
|
|
68
|
+
/** A single quick `/health` probe (no retry); false on any error/non-OK. */
|
|
69
|
+
export async function harnessHealthy(fetchImpl, endpoint, requestTimeoutMs) {
|
|
70
|
+
try {
|
|
71
|
+
const res = await fetchImpl(harnessUrl(endpoint, '/health'), {
|
|
72
|
+
method: 'GET',
|
|
73
|
+
signal: AbortSignal.timeout(Math.min(requestTimeoutMs, 5_000)),
|
|
74
|
+
});
|
|
75
|
+
return res.ok;
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/** Poll `/health` until OK or the deadline, throwing on timeout (or if `isDead` fires). */
|
|
82
|
+
export async function waitForHarnessHealth(opts) {
|
|
83
|
+
const deadline = Date.now() + opts.readyTimeoutMs;
|
|
84
|
+
for (;;) {
|
|
85
|
+
if (opts.isDead?.()) {
|
|
86
|
+
throw new Error(opts.deadError ?? 'the harness exited before becoming healthy');
|
|
87
|
+
}
|
|
88
|
+
if (await harnessHealthy(opts.fetchImpl, opts.endpoint, opts.requestTimeoutMs))
|
|
89
|
+
return;
|
|
90
|
+
if (Date.now() >= deadline)
|
|
91
|
+
throw new Error(opts.timeoutError);
|
|
92
|
+
await delay(opts.intervalMs ?? 300);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=harnessHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harnessHttp.js","sourceRoot":"","sources":["../src/harnessHttp.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export declare class AppleContainerRuntimeAdapter implements ContainerRuntimeAda
|
|
|
5
5
|
readonly hostAlias: string;
|
|
6
6
|
readonly capabilities: {
|
|
7
7
|
localDind: boolean;
|
|
8
|
+
pooling: boolean;
|
|
8
9
|
};
|
|
9
10
|
constructor(options: {
|
|
10
11
|
binary?: string;
|
|
@@ -17,5 +18,7 @@ export declare class AppleContainerRuntimeAdapter implements ContainerRuntimeAda
|
|
|
17
18
|
remove(exec: ContainerExec, containerId: string): Promise<void>;
|
|
18
19
|
removeRun(exec: ContainerExec, runId: string): Promise<void>;
|
|
19
20
|
reapExited(exec: ContainerExec): Promise<number>;
|
|
21
|
+
/** Apple `container` doesn't support the warm pool (see capabilities.pooling=false). */
|
|
22
|
+
listPoolMembers(): Promise<string[]>;
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=appleContainerRuntime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appleContainerRuntime.d.ts","sourceRoot":"","sources":["../../src/runtimes/appleContainerRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAE5B,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAA;AA0H9B,qBAAa,4BAA6B,YAAW,uBAAuB;IAC1E,QAAQ,CAAC,EAAE,EAAG,OAAO,CAAS;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"appleContainerRuntime.d.ts","sourceRoot":"","sources":["../../src/runtimes/appleContainerRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAE5B,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAA;AA0H9B,qBAAa,4BAA6B,YAAW,uBAAuB;IAC1E,QAAQ,CAAC,EAAE,EAAG,OAAO,CAAS;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAI1B,QAAQ,CAAC,YAAY;QAAK,SAAS;QAAS,OAAO;MAAS;IAE5D,YAAY,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAG1D;IAEK,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBtE;IAEK,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ1E;IAEK,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAI/F;IAEK,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM1E;IAEK,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;IAEK,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;IAEK,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAYrD;IAED,wFAAwF;IAClF,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEzC;CACF"}
|
|
@@ -118,7 +118,10 @@ export class AppleContainerRuntimeAdapter {
|
|
|
118
118
|
id = 'apple';
|
|
119
119
|
binary;
|
|
120
120
|
hostAlias;
|
|
121
|
-
|
|
121
|
+
// One-VM-per-container with a deterministic-name identity: no Docker-in-Docker, and the
|
|
122
|
+
// warm pool isn't supported (re-leasing a name-keyed VM is messy) — so the transport
|
|
123
|
+
// keeps the per-run path here even when a pool size is configured.
|
|
124
|
+
capabilities = { localDind: false, pooling: false };
|
|
122
125
|
constructor(options) {
|
|
123
126
|
this.binary = options.binary ?? 'container';
|
|
124
127
|
this.hostAlias = options.hostAlias;
|
|
@@ -187,5 +190,9 @@ export class AppleContainerRuntimeAdapter {
|
|
|
187
190
|
}
|
|
188
191
|
return rows.length;
|
|
189
192
|
}
|
|
193
|
+
/** Apple `container` doesn't support the warm pool (see capabilities.pooling=false). */
|
|
194
|
+
async listPoolMembers() {
|
|
195
|
+
return [];
|
|
196
|
+
}
|
|
190
197
|
}
|
|
191
198
|
//# sourceMappingURL=appleContainerRuntime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appleContainerRuntime.js","sourceRoot":"","sources":["../../src/runtimes/appleContainerRuntime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"appleContainerRuntime.js","sourceRoot":"","sources":["../../src/runtimes/appleContainerRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,9 +19,24 @@ export interface RuntimeCapabilities {
|
|
|
19
19
|
* drives the engine's Tester "limited mode".
|
|
20
20
|
*/
|
|
21
21
|
localDind: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether this runtime supports the warm-container POOL: keeping idle harness
|
|
24
|
+
* containers around and re-leasing them to runs (with repo-affinity checkout reuse)
|
|
25
|
+
* instead of cold-starting one per run. True for the Docker-family adapters; false for
|
|
26
|
+
* Apple `container` (one-VM-per-container, where the deterministic-name identity makes
|
|
27
|
+
* re-leasing messy) — there the transport keeps the per-run path even when a pool size
|
|
28
|
+
* is configured.
|
|
29
|
+
*/
|
|
30
|
+
pooling: boolean;
|
|
22
31
|
}
|
|
23
|
-
/** A per-run
|
|
32
|
+
/** A container to start — per-run, or a reusable POOL member when `pool` is set. */
|
|
24
33
|
export interface RunContainerSpec {
|
|
34
|
+
/**
|
|
35
|
+
* For a per-run container this is the run id (the container key + label). For a POOL
|
|
36
|
+
* member it is a synthetic member id used only for the container name — the member is
|
|
37
|
+
* NOT labelled with it (lease state lives in the transport), so a label lookup never
|
|
38
|
+
* finds it; the transport tracks `containerId → {repo, leasedTo}` in-process instead.
|
|
39
|
+
*/
|
|
25
40
|
runId: string;
|
|
26
41
|
image: string;
|
|
27
42
|
sharedSecret: string;
|
|
@@ -36,6 +51,12 @@ export interface RunContainerSpec {
|
|
|
36
51
|
memory: string;
|
|
37
52
|
cpus: string;
|
|
38
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* Start this as a warm-POOL member: label it `cat-factory.pool=1` (not the run id) so
|
|
56
|
+
* it can be re-leased to any run and enumerated by {@link ContainerRuntimeAdapter.listPoolMembers}.
|
|
57
|
+
* Absent ⇒ the classic per-run container (labelled by run id).
|
|
58
|
+
*/
|
|
59
|
+
pool?: boolean;
|
|
39
60
|
}
|
|
40
61
|
/**
|
|
41
62
|
* A container runtime as the transport sees it. Each method takes the injected
|
|
@@ -63,6 +84,12 @@ export interface ContainerRuntimeAdapter {
|
|
|
63
84
|
removeRun(exec: ContainerExec, runId: string): Promise<void>;
|
|
64
85
|
/** Reap exited managed containers left by crashes; resolves to the count removed. */
|
|
65
86
|
reapExited(exec: ContainerExec): Promise<number>;
|
|
87
|
+
/**
|
|
88
|
+
* The container ids of every managed POOL member (running or exited) this runtime
|
|
89
|
+
* holds. Used at boot to drain pool members orphaned by a previous process. Returns []
|
|
90
|
+
* on a runtime that doesn't support pooling.
|
|
91
|
+
*/
|
|
92
|
+
listPoolMembers(exec: ContainerExec): Promise<string[]>;
|
|
66
93
|
}
|
|
67
94
|
export type RuntimeId = 'docker' | 'podman' | 'orbstack' | 'colima' | 'apple';
|
|
68
95
|
/** Per-runtime defaults — the single source of truth for binary + networking + capability. */
|
|
@@ -76,6 +103,8 @@ export interface RuntimeProfile {
|
|
|
76
103
|
addHostGateway: boolean;
|
|
77
104
|
/** Whether the Tester's local Docker-in-Docker infra can run on this runtime. */
|
|
78
105
|
localDind: boolean;
|
|
106
|
+
/** Whether the warm-container pool is supported on this runtime. */
|
|
107
|
+
pooling: boolean;
|
|
79
108
|
/** Which adapter implementation backs this runtime. */
|
|
80
109
|
family: 'docker' | 'apple';
|
|
81
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../../src/runtimes/containerRuntime.ts"],"names":[],"mappings":"AAWA,6DAA6D;AAC7D,eAAO,MAAM,YAAY,OAAO,CAAA;AAEhC,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAE3F,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../../src/runtimes/containerRuntime.ts"],"names":[],"mappings":"AAWA,6DAA6D;AAC7D,eAAO,MAAM,YAAY,OAAO,CAAA;AAEhC,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAE3F,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;;;;;;OAOG;IACH,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,oFAAoF;AACpF,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,yFAAyF;IACzF,UAAU,EAAE,OAAO,CAAA;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,8EAA8E;IAC9E,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAA;IAC1C,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B,6EAA6E;IAC7E,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACjE,2DAA2D;IAC3D,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrE,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;IAC1F,kDAAkD;IAClD,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACrE,oDAAoD;IACpD,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,2DAA2D;IAC3D,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,qFAAqF;IACrF,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAChD;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACxD;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE7E,8FAA8F;AAC9F,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,SAAS,CAAA;IACb,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAA;IACjB,gFAAgF;IAChF,cAAc,EAAE,OAAO,CAAA;IACvB,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAA;IAClB,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAA;IAChB,uDAAuD;IACvD,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAA;CAC3B;AAqED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,cAAc,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAIlE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAI/D"}
|
|
@@ -19,6 +19,7 @@ const PROFILES = {
|
|
|
19
19
|
hostAlias: 'host.docker.internal',
|
|
20
20
|
addHostGateway: true,
|
|
21
21
|
localDind: true,
|
|
22
|
+
pooling: true,
|
|
22
23
|
family: 'docker',
|
|
23
24
|
},
|
|
24
25
|
// Podman speaks the same CLI; host.docker.internal:host-gateway works on v4+. Rootless
|
|
@@ -30,6 +31,7 @@ const PROFILES = {
|
|
|
30
31
|
hostAlias: 'host.docker.internal',
|
|
31
32
|
addHostGateway: true,
|
|
32
33
|
localDind: true,
|
|
34
|
+
pooling: true,
|
|
33
35
|
family: 'docker',
|
|
34
36
|
},
|
|
35
37
|
// OrbStack ships a drop-in `docker` CLI and resolves host.docker.internal natively;
|
|
@@ -40,6 +42,7 @@ const PROFILES = {
|
|
|
40
42
|
hostAlias: 'host.docker.internal',
|
|
41
43
|
addHostGateway: true,
|
|
42
44
|
localDind: true,
|
|
45
|
+
pooling: true,
|
|
43
46
|
family: 'docker',
|
|
44
47
|
},
|
|
45
48
|
// Colima runs dockerd in a Lima VM. Ports forward to the host loopback, but
|
|
@@ -53,6 +56,7 @@ const PROFILES = {
|
|
|
53
56
|
hostAlias: 'host.lima.internal',
|
|
54
57
|
addHostGateway: false,
|
|
55
58
|
localDind: true,
|
|
59
|
+
pooling: true,
|
|
56
60
|
family: 'docker',
|
|
57
61
|
},
|
|
58
62
|
// Apple `container` (macOS): one lightweight VM per container, each with its own IP.
|
|
@@ -66,6 +70,7 @@ const PROFILES = {
|
|
|
66
70
|
hostAlias: '192.168.64.1',
|
|
67
71
|
addHostGateway: false,
|
|
68
72
|
localDind: false,
|
|
73
|
+
pooling: false,
|
|
69
74
|
family: 'apple',
|
|
70
75
|
},
|
|
71
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerRuntime.js","sourceRoot":"","sources":["../../src/runtimes/containerRuntime.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,oFAAoF;AACpF,gFAAgF;AAChF,sFAAsF;AACtF,wFAAwF;AACxF,uFAAuF;AACvF,EAAE;AACF,kFAAkF;AAClF,+EAA+E;AAC/E,6DAA6D;AAE7D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"containerRuntime.js","sourceRoot":"","sources":["../../src/runtimes/containerRuntime.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,oFAAoF;AACpF,gFAAgF;AAChF,sFAAsF;AACtF,wFAAwF;AACxF,uFAAuF;AACvF,EAAE;AACF,kFAAkF;AAClF,+EAA+E;AAC/E,6DAA6D;AAE7D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAA;AAgHhC,MAAM,QAAQ,GAAsC;IAClD,gFAAgF;IAChF,gFAAgF;IAChF,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,sBAAsB;QACjC,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,QAAQ;KACjB;IACD,uFAAuF;IACvF,8FAA8F;IAC9F,0EAA0E;IAC1E,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,sBAAsB;QACjC,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,QAAQ;KACjB;IACD,oFAAoF;IACpF,2EAA2E;IAC3E,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,sBAAsB;QACjC,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,QAAQ;KACjB;IACD,4EAA4E;IAC5E,mFAAmF;IACnF,sFAAsF;IACtF,iFAAiF;IACjF,4EAA4E;IAC5E,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,oBAAoB;QAC/B,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,QAAQ;KACjB;IACD,qFAAqF;IACrF,oFAAoF;IACpF,wFAAwF;IACxF,uFAAuF;IACvF,oEAAoE;IACpE,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,cAAc;QACzB,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,OAAO;KAChB;CACF,CAAA;AAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAgB,CAAA;AAExD,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,EAAa;IAC1C,OAAO,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAA;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,MAAM,GAAG,GAAG,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7D,IAAI,GAAG,IAAK,WAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAgB,CAAA;IAC3E,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAA;IACrD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,OAAO,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AACxD,CAAC"}
|
|
@@ -6,6 +6,8 @@ export interface DockerRuntimeAdapterOptions {
|
|
|
6
6
|
/** Add `--add-host=<hostAlias>:host-gateway` so the harness can reach the host. */
|
|
7
7
|
addHostGateway: boolean;
|
|
8
8
|
localDind: boolean;
|
|
9
|
+
/** Whether the warm-container pool is supported (Docker-family: true). */
|
|
10
|
+
pooling: boolean;
|
|
9
11
|
}
|
|
10
12
|
export declare class DockerRuntimeAdapter implements ContainerRuntimeAdapter {
|
|
11
13
|
readonly id: RuntimeId;
|
|
@@ -13,6 +15,7 @@ export declare class DockerRuntimeAdapter implements ContainerRuntimeAdapter {
|
|
|
13
15
|
readonly hostAlias: string;
|
|
14
16
|
readonly capabilities: {
|
|
15
17
|
localDind: boolean;
|
|
18
|
+
pooling: boolean;
|
|
16
19
|
};
|
|
17
20
|
private readonly addHostGateway;
|
|
18
21
|
constructor(options: DockerRuntimeAdapterOptions);
|
|
@@ -23,5 +26,6 @@ export declare class DockerRuntimeAdapter implements ContainerRuntimeAdapter {
|
|
|
23
26
|
remove(exec: ContainerExec, containerId: string): Promise<void>;
|
|
24
27
|
removeRun(exec: ContainerExec, runId: string): Promise<void>;
|
|
25
28
|
reapExited(exec: ContainerExec): Promise<number>;
|
|
29
|
+
listPoolMembers(exec: ContainerExec): Promise<string[]>;
|
|
26
30
|
}
|
|
27
31
|
//# sourceMappingURL=dockerRuntime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dockerRuntime.d.ts","sourceRoot":"","sources":["../../src/runtimes/dockerRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAE5B,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"dockerRuntime.d.ts","sourceRoot":"","sources":["../../src/runtimes/dockerRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAE5B,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAA;AAc9B,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,SAAS,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,cAAc,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,OAAO,CAAA;IAClB,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,qBAAa,oBAAqB,YAAW,uBAAuB;IAClE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,YAAY,OAAO,EAAE,2BAA2B,EAM/C;IAEK,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BtE;IAEK,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU1E;IAEK,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAS/F;IAEK,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1E;IAEK,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;IAEK,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAejE;IAEK,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBrD;IAEK,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAc5D;CACF"}
|
|
@@ -7,6 +7,8 @@ import { HARNESS_PORT, } from './containerRuntime.js';
|
|
|
7
7
|
/** Labels the per-run container by its run id (a run's steps share one container). */
|
|
8
8
|
const LABEL_RUN = 'cat-factory.runId';
|
|
9
9
|
const LABEL_MANAGED = 'cat-factory.managed=local-docker';
|
|
10
|
+
/** Marks a reusable warm-pool member (not bound to any run id; leased in-process). */
|
|
11
|
+
const LABEL_POOL = 'cat-factory.pool=1';
|
|
10
12
|
export class DockerRuntimeAdapter {
|
|
11
13
|
id;
|
|
12
14
|
binary;
|
|
@@ -18,14 +20,16 @@ export class DockerRuntimeAdapter {
|
|
|
18
20
|
this.binary = options.binary;
|
|
19
21
|
this.hostAlias = options.hostAlias;
|
|
20
22
|
this.addHostGateway = options.addHostGateway;
|
|
21
|
-
this.capabilities = { localDind: options.localDind };
|
|
23
|
+
this.capabilities = { localDind: options.localDind, pooling: options.pooling };
|
|
22
24
|
}
|
|
23
25
|
async run(exec, spec) {
|
|
26
|
+
// A pool member is labelled `pool=1` and NOT bound to a run id (the transport leases
|
|
27
|
+
// it in-process); a classic per-run container is labelled by its run id.
|
|
24
28
|
const args = [
|
|
25
29
|
'run',
|
|
26
30
|
'-d',
|
|
27
31
|
'--label',
|
|
28
|
-
`${LABEL_RUN}=${spec.runId}`,
|
|
32
|
+
spec.pool ? LABEL_POOL : `${LABEL_RUN}=${spec.runId}`,
|
|
29
33
|
'--label',
|
|
30
34
|
LABEL_MANAGED,
|
|
31
35
|
'-p',
|
|
@@ -120,5 +124,20 @@ export class DockerRuntimeAdapter {
|
|
|
120
124
|
await exec(['rm', '-f', ...ids]).catch(() => undefined);
|
|
121
125
|
return ids.length;
|
|
122
126
|
}
|
|
127
|
+
async listPoolMembers(exec) {
|
|
128
|
+
const { stdout } = await exec([
|
|
129
|
+
'ps',
|
|
130
|
+
'-aq',
|
|
131
|
+
'--filter',
|
|
132
|
+
`label=${LABEL_MANAGED}`,
|
|
133
|
+
'--filter',
|
|
134
|
+
`label=${LABEL_POOL}`,
|
|
135
|
+
]);
|
|
136
|
+
return stdout
|
|
137
|
+
.trim()
|
|
138
|
+
.split('\n')
|
|
139
|
+
.map((s) => s.trim())
|
|
140
|
+
.filter(Boolean);
|
|
141
|
+
}
|
|
123
142
|
}
|
|
124
143
|
//# sourceMappingURL=dockerRuntime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dockerRuntime.js","sourceRoot":"","sources":["../../src/runtimes/dockerRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,GAGb,MAAM,uBAAuB,CAAA;AAE9B,uFAAuF;AACvF,mFAAmF;AACnF,sFAAsF;AACtF,sFAAsF;AACtF,uFAAuF;AAEvF,sFAAsF;AACtF,MAAM,SAAS,GAAG,mBAAmB,CAAA;AACrC,MAAM,aAAa,GAAG,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"dockerRuntime.js","sourceRoot":"","sources":["../../src/runtimes/dockerRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtimes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAI7B,MAAM,uBAAuB,CAAA;AAI9B,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AAEzE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtimes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAI7B,MAAM,uBAAuB,CAAA;AAI9B,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AAEzE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,uBAAuB,CAsBpF"}
|
package/dist/runtimes/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtimes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AAEzE,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AAEzE;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAsB;IACzD,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,CAAA;IAChE,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAEvC,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,IAAI,4BAA4B,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,gFAAgF;IAChF,kFAAkF;IAClF,MAAM,QAAQ,GAAG,GAAG,CAAC,6BAA6B,EAAE,IAAI,EAAE,CAAA;IAC1D,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAA;IAE/E,OAAO,IAAI,oBAAoB,CAAC;QAC9B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM;QACN,SAAS;QACT,cAAc;QACd,SAAS,EAAE,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtimes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AAEzE,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AAEzE;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAsB;IACzD,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,CAAA;IAChE,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAEvC,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,IAAI,4BAA4B,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,gFAAgF;IAChF,kFAAkF;IAClF,MAAM,QAAQ,GAAG,GAAG,CAAC,6BAA6B,EAAE,IAAI,EAAE,CAAA;IAC1D,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAA;IAE/E,OAAO,IAAI,oBAAoB,CAAC;QAC9B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM;QACN,SAAS;QACT,cAAc;QACd,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAwB9D,wBAAsB,UAAU,CAC9B,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;CACT,GACL,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CA8C5C"}
|
package/dist/server.js
CHANGED
|
@@ -5,7 +5,6 @@ import { logger } from '@cat-factory/server';
|
|
|
5
5
|
import { applyLocalDefaults } from './config.js';
|
|
6
6
|
import { buildLocalContainer } from './container.js';
|
|
7
7
|
import { githubPatCreationUrl } from './github.js';
|
|
8
|
-
import { createLocalContainerTransportFromEnv } from './LocalContainerRunnerTransport.js';
|
|
9
8
|
import { createRuntimeAdapter, resolveRuntimeId } from './runtimes/index.js';
|
|
10
9
|
const execFileAsync = promisify(execFile);
|
|
11
10
|
// Boot the local-mode service. It reuses the Node facade's `start()` — Postgres +
|
|
@@ -35,19 +34,10 @@ export async function startLocal(options = {}) {
|
|
|
35
34
|
// alias the harness will use to reach this service, and probe that the CLI is present.
|
|
36
35
|
// A misconfigured runtime then fails loud at boot rather than on the first dispatch.
|
|
37
36
|
await preflightRuntime(localized);
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
try {
|
|
43
|
-
const reaped = await createLocalContainerTransportFromEnv(localized).reapExited();
|
|
44
|
-
if (reaped > 0)
|
|
45
|
-
logger.info({ reaped }, 'reaped orphaned local job containers');
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
logger.warn({ err: err instanceof Error ? err.message : String(err) }, 'could not reap orphaned local job containers');
|
|
49
|
-
}
|
|
50
|
-
}
|
|
37
|
+
// NB: reaping per-run containers a previous run orphaned (a crash/hard kill leaves exited
|
|
38
|
+
// managed containers behind) + draining pool orphans + pre-warming is done on the SERVING
|
|
39
|
+
// transport, which `buildLocalContainer` builds (with the DB-stored pool config) and warms
|
|
40
|
+
// eagerly at boot when an image is configured — so it is not repeated here.
|
|
51
41
|
// GitHub is reached via a PAT in local mode (there is no GitHub-App connect flow). Without
|
|
52
42
|
// one the board still serves, but every repo-operating agent step — clone, push, open PR,
|
|
53
43
|
// the CI gate, the real merge — fails. Surface it at boot with a click-through URL that
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|