@cat-factory/worker 0.193.0 → 0.194.1
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -4
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/container-assembly.d.ts.map +1 -1
- package/dist/infrastructure/container-assembly.js +2 -1
- package/dist/infrastructure/container-assembly.js.map +1 -1
- package/dist/infrastructure/container-dispatchers.d.ts.map +1 -1
- package/dist/infrastructure/container-dispatchers.js +5 -3
- package/dist/infrastructure/container-dispatchers.js.map +1 -1
- package/dist/infrastructure/container-executor-deps.d.ts.map +1 -1
- package/dist/infrastructure/container-executor-deps.js +13 -2
- package/dist/infrastructure/container-executor-deps.js.map +1 -1
- package/dist/infrastructure/container.d.ts +1 -24
- package/dist/infrastructure/container.d.ts.map +1 -1
- package/dist/infrastructure/container.js +1 -50
- package/dist/infrastructure/container.js.map +1 -1
- package/dist/infrastructure/containers/CloudflareContainerTransport.d.ts +22 -5
- package/dist/infrastructure/containers/CloudflareContainerTransport.d.ts.map +1 -1
- package/dist/infrastructure/containers/CloudflareContainerTransport.js +53 -25
- package/dist/infrastructure/containers/CloudflareContainerTransport.js.map +1 -1
- package/dist/infrastructure/containers/ContainerInstanceRegistry.d.ts +26 -9
- package/dist/infrastructure/containers/ContainerInstanceRegistry.d.ts.map +1 -1
- package/dist/infrastructure/containers/ContainerInstanceRegistry.js +37 -13
- package/dist/infrastructure/containers/ContainerInstanceRegistry.js.map +1 -1
- package/dist/infrastructure/containers/UiTesterContainer.d.ts +4 -0
- package/dist/infrastructure/containers/UiTesterContainer.d.ts.map +1 -0
- package/dist/infrastructure/containers/UiTesterContainer.js +18 -0
- package/dist/infrastructure/containers/UiTesterContainer.js.map +1 -0
- package/dist/infrastructure/containers/deployJobDeps.d.ts +20 -0
- package/dist/infrastructure/containers/deployJobDeps.d.ts.map +1 -0
- package/dist/infrastructure/containers/deployJobDeps.js +38 -0
- package/dist/infrastructure/containers/deployJobDeps.js.map +1 -0
- package/dist/infrastructure/containers/runContainerNamespace.d.ts +38 -0
- package/dist/infrastructure/containers/runContainerNamespace.d.ts.map +1 -0
- package/dist/infrastructure/containers/runContainerNamespace.js +37 -0
- package/dist/infrastructure/containers/runContainerNamespace.js.map +1 -0
- package/dist/infrastructure/dispatchTokenMint.d.ts +17 -0
- package/dist/infrastructure/dispatchTokenMint.d.ts.map +1 -0
- package/dist/infrastructure/dispatchTokenMint.js +23 -0
- package/dist/infrastructure/dispatchTokenMint.js.map +1 -0
- package/dist/infrastructure/env.d.ts +13 -0
- package/dist/infrastructure/env.d.ts.map +1 -1
- package/dist/infrastructure/env.js.map +1 -1
- package/dist/infrastructure/repositories/D1LiveContainerRepository.d.ts +3 -3
- package/dist/infrastructure/repositories/D1LiveContainerRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1LiveContainerRepository.js +12 -7
- package/dist/infrastructure/repositories/D1LiveContainerRepository.js.map +1 -1
- package/migrations/0094_live_container_image.sql +11 -0
- package/package.json +18 -18
|
@@ -25,10 +25,9 @@ import { buildResolveTransport, maybeWrapConsensus, selectAgentExecutor, } from
|
|
|
25
25
|
export { maybeWrapConsensus, selectAgentExecutor };
|
|
26
26
|
import { PACKAGE_REGISTRY_CIPHER_INFO, resolvePackageRegistriesForDispatch, } from '@cat-factory/orchestration';
|
|
27
27
|
import { workerAppCaches } from './appCachesHost';
|
|
28
|
-
import {
|
|
28
|
+
import { FanOutEventPublisher, PatPreferringAppRegistry, buildToolSecretChain, logger, buildInfrastructureCapabilities, GitHubIdentityResolver, resolveUrlSafetyPolicy, } from '@cat-factory/server';
|
|
29
29
|
import { loadConfig } from './config';
|
|
30
30
|
import { envBag, requireDb, requireTelemetryDb } from './env';
|
|
31
|
-
import { CloudflareContainerTransport } from './containers/CloudflareContainerTransport';
|
|
32
31
|
import { HttpRunnerPoolProvider } from './runners/HttpRunnerPoolProvider';
|
|
33
32
|
import { D1RunnerPoolConnectionRepository } from './repositories/D1RunnerPoolConnectionRepository';
|
|
34
33
|
import { DurableObjectEventPublisher } from './events/DurableObjectEventPublisher';
|
|
@@ -477,39 +476,6 @@ export function selectEnvironmentsDeps(env, config, db) {
|
|
|
477
476
|
: {}),
|
|
478
477
|
};
|
|
479
478
|
}
|
|
480
|
-
/**
|
|
481
|
-
* Wire the async, container-backed Kubernetes deploy lifecycle (slice 9's
|
|
482
|
-
* `EnvironmentProvisioningService` seams) onto the Worker facade: a `deployJobClient` that
|
|
483
|
-
* dispatches/polls/releases a `deploy`-kind job on the per-run `DeployContainer` (the separate
|
|
484
|
-
* deploy-harness image — real `kubectl`/`kustomize`/`helm`), plus `resolveDeployCloneTarget` to
|
|
485
|
-
* hand the container concrete manifests-repo clone coords + a short-lived install token.
|
|
486
|
-
*
|
|
487
|
-
* Gated on the environments module, the `DEPLOY_CONTAINER` binding AND the GitHub App
|
|
488
|
-
* (the clone-target seam needs to mint install tokens + resolve a block's repo). Absent any
|
|
489
|
-
* prerequisite ⇒ `{}` — a render-needing config then fails loudly (the synchronous raw-manifest
|
|
490
|
-
* REST path is unaffected), exactly the unwired behaviour slice 9 shipped. Mirrors Node's pool
|
|
491
|
-
* deploy wiring; the deploy container is the Worker's analogue of Node's self-hosted pool.
|
|
492
|
-
*/
|
|
493
|
-
export function selectDeployDeps(env, config, db, clock) {
|
|
494
|
-
if (!config.environments.encryptionKey ||
|
|
495
|
-
!env.DEPLOY_CONTAINER ||
|
|
496
|
-
!config.github.enabled ||
|
|
497
|
-
!env.GITHUB_APP_PRIVATE_KEY) {
|
|
498
|
-
return {};
|
|
499
|
-
}
|
|
500
|
-
// A deploy-DEDICATED transport: the deploy job's `ref.runId` addresses a `DeployContainer`
|
|
501
|
-
// instance in its own DO namespace (no collision with the agent `EXEC_CONTAINER`), and the
|
|
502
|
-
// harness keys the job by `ref.jobId`. No instance registry is wired (the `sleepAfter` idle
|
|
503
|
-
// timer + explicit `release` reclaim it), so cross-namespace reaping stays the exec
|
|
504
|
-
// container's concern. The client is deploy-only, so `poll`/`release` need no per-ref routing.
|
|
505
|
-
const deployTransport = new CloudflareContainerTransport(env.DEPLOY_CONTAINER, undefined, env.HARNESS_SHARED_SECRET?.trim() || undefined);
|
|
506
|
-
const registry = buildAppRegistry(env, config, db, clock);
|
|
507
|
-
return {
|
|
508
|
-
deployJobClient: new RunnerJobClient(async () => deployTransport),
|
|
509
|
-
// Narrowed to the repo being rendered, like every other container dispatch.
|
|
510
|
-
resolveDeployCloneTarget: makeResolveDeployCloneTarget(buildResolveRepoTarget(db), workerDispatchTokenMint(registry)),
|
|
511
|
-
};
|
|
512
|
-
}
|
|
513
479
|
/**
|
|
514
480
|
* Build the self-hosted runner-pool integration's concrete ports when opted in:
|
|
515
481
|
* the D1 connection repository and a dedicated Web Crypto cipher (its own master
|
|
@@ -536,21 +502,6 @@ export function selectRunnersDeps(env, config, db) {
|
|
|
536
502
|
...(urlPolicy ? { runnerUrlSafetyPolicy: urlPolicy } : {}),
|
|
537
503
|
};
|
|
538
504
|
}
|
|
539
|
-
/**
|
|
540
|
-
* The clone/push credential for a Worker container dispatch: the App registry's mint, narrowed by
|
|
541
|
-
* the shared builder to the repos that dispatch resolved. Every Worker site that hands a container
|
|
542
|
-
* a GitHub token goes through this, so none of them can quietly fall back to an installation-wide
|
|
543
|
-
* one. No `resolveRunInitiatorToken`: the step executor composes its own mint with that chain (see
|
|
544
|
-
* `container-executor-deps.ts`), while bootstrap, repair and the deploy clone have no initiator to
|
|
545
|
-
* act as, and saying so once here beats three call sites each omitting it by accident.
|
|
546
|
-
*/
|
|
547
|
-
export function workerDispatchTokenMint(registry) {
|
|
548
|
-
return buildDispatchTokenMint({
|
|
549
|
-
mint: (id, opts) => registry.installationToken(id, opts),
|
|
550
|
-
logger,
|
|
551
|
-
operationalMetrics,
|
|
552
|
-
});
|
|
553
|
-
}
|
|
554
505
|
/**
|
|
555
506
|
* Build the prompt-fragment library's concrete ports when opted in (ADR 0006):
|
|
556
507
|
* the two D1 repositories, the relevance selector (LLM when configured, else the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/infrastructure/container.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/infrastructure/container.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { type RunnerDispatchAck, type RunnerDispatchKind, type RunnerJobRef, type RunnerJobStopOutcome, type RunnerJobView, type RunnerTransport } from '@cat-factory/kernel';
|
|
2
|
-
import type {
|
|
3
|
-
import type { DeployContainer } from './DeployContainer';
|
|
4
|
-
import type { ExecutionContainer } from './ExecutionContainer';
|
|
2
|
+
import type { ResolveRunContainerNamespace, RunContainerNamespace } from './runContainerNamespace';
|
|
5
3
|
import type { ContainerInstanceRegistry } from './ContainerInstanceRegistry';
|
|
4
|
+
/**
|
|
5
|
+
* The resolver a transport DEDICATED to one container class is built with: the deploy adapter's,
|
|
6
|
+
* and every test that drives the transport over a single fake namespace. It ignores the variant
|
|
7
|
+
* because such a transport is chosen by its caller, not by the job.
|
|
8
|
+
*
|
|
9
|
+
* It lives beside the transport rather than beside the resolver TYPE because constructing one is
|
|
10
|
+
* its only purpose.
|
|
11
|
+
*/
|
|
12
|
+
export declare function fixedContainerNamespace(namespace: RunContainerNamespace): ResolveRunContainerNamespace;
|
|
6
13
|
export declare class CloudflareContainerTransport implements RunnerTransport {
|
|
7
|
-
private readonly
|
|
14
|
+
private readonly resolveNamespace;
|
|
8
15
|
/** Live-container inventory + reaper kill path; absent in tests (reaping off). */
|
|
9
16
|
private readonly registry?;
|
|
10
17
|
/**
|
|
@@ -17,7 +24,7 @@ export declare class CloudflareContainerTransport implements RunnerTransport {
|
|
|
17
24
|
private readonly sharedSecret?;
|
|
18
25
|
/** Backend id recorded in run diagnostics (per-run Cloudflare Container). */
|
|
19
26
|
readonly backend = "cloudflare-container";
|
|
20
|
-
constructor(
|
|
27
|
+
constructor(resolveNamespace: ResolveRunContainerNamespace,
|
|
21
28
|
/** Live-container inventory + reaper kill path; absent in tests (reaping off). */
|
|
22
29
|
registry?: ContainerInstanceRegistry | undefined,
|
|
23
30
|
/**
|
|
@@ -30,6 +37,16 @@ export declare class CloudflareContainerTransport implements RunnerTransport {
|
|
|
30
37
|
sharedSecret?: string | undefined);
|
|
31
38
|
/** Header bag for a harness call: the shared secret when configured, else empty. */
|
|
32
39
|
private secretHeader;
|
|
40
|
+
/**
|
|
41
|
+
* The Durable Object id addressing this job's container: the class that serves the ref's image
|
|
42
|
+
* variant, named by `containerKeyForRef`.
|
|
43
|
+
*
|
|
44
|
+
* Both halves of that come off the REF, which is why the variant rides there rather than only
|
|
45
|
+
* on the dispatch options: `poll`, `release` and `stopJob` get no options, and a run whose
|
|
46
|
+
* `tester-ui` step sits in its own container would otherwise be polled at the container its
|
|
47
|
+
* coder step is running in, reading as an evicted job while the browser one worked on.
|
|
48
|
+
*/
|
|
49
|
+
private stubFor;
|
|
33
50
|
dispatch(ref: RunnerJobRef, spec: Record<string, unknown>, kind?: RunnerDispatchKind): Promise<RunnerDispatchAck | undefined>;
|
|
34
51
|
/**
|
|
35
52
|
* The failed view for a container that has gone away, spending whatever the container recorded
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloudflareContainerTransport.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/containers/CloudflareContainerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"CloudflareContainerTransport.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/containers/CloudflareContainerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,eAAe,EAErB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAOlG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AA0G5E;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,qBAAqB,GAC/B,4BAA4B,CAE9B;AAED,qBAAa,4BAA6B,YAAW,eAAe;IAShE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAlBhC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,0BAAyB;IAEzC,YAKmB,gBAAgB,EAAE,4BAA4B;IAC/D,kFAAkF;IACjE,QAAQ,CAAC,EAAE,yBAAyB,YAAA;IACrD;;;;;;OAMG;IACc,YAAY,CAAC,EAAE,MAAM,YAAA,EACpC;IAEJ,oFAAoF;IACpF,OAAO,CAAC,YAAY;IAIpB;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO;IAkBT,QAAQ,CACZ,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,GAAE,kBAA4B,GACjC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAiCxC;IAED;;;;;;;;;;;;OAYG;YACW,UAAU;IAWlB,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAwCpD;IAED;;;;;OAKG;IACG,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9C;IAED;;;;;;;;;;OAUG;IACG,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqB9D;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { composePostMortem, CONTAINER_EVICTION_ERROR, HARNESS_SHUTDOWN_ERROR, harnessDispatchError, readRunnerDispatchAck, } from '@cat-factory/kernel';
|
|
1
|
+
import { composePostMortem, CONTAINER_EVICTION_ERROR, HARNESS_SHUTDOWN_ERROR, harnessDispatchError, readRunnerDispatchAck, containerKeyForRef, } from '@cat-factory/kernel';
|
|
2
2
|
import { describeContainerExit, isRolloutSignal, } from './stopCause';
|
|
3
3
|
// The human-readable message for a failed poll the transport maps to a container eviction. The
|
|
4
4
|
// eviction verdict the engine acts on rides the STRUCTURED `RunnerJobView.evicted` field
|
|
@@ -98,19 +98,29 @@ const STOP_TIMEOUT_MS = 30_000;
|
|
|
98
98
|
// (matches the harness server + the local Docker transport). Sent on every harness
|
|
99
99
|
// call so a container that requires the secret accepts the Worker's dispatch/poll.
|
|
100
100
|
const HARNESS_SECRET_HEADER = 'x-harness-secret';
|
|
101
|
+
/**
|
|
102
|
+
* The resolver a transport DEDICATED to one container class is built with: the deploy adapter's,
|
|
103
|
+
* and every test that drives the transport over a single fake namespace. It ignores the variant
|
|
104
|
+
* because such a transport is chosen by its caller, not by the job.
|
|
105
|
+
*
|
|
106
|
+
* It lives beside the transport rather than beside the resolver TYPE because constructing one is
|
|
107
|
+
* its only purpose.
|
|
108
|
+
*/
|
|
109
|
+
export function fixedContainerNamespace(namespace) {
|
|
110
|
+
return () => namespace;
|
|
111
|
+
}
|
|
101
112
|
export class CloudflareContainerTransport {
|
|
102
|
-
|
|
113
|
+
resolveNamespace;
|
|
103
114
|
registry;
|
|
104
115
|
sharedSecret;
|
|
105
116
|
/** Backend id recorded in run diagnostics (per-run Cloudflare Container). */
|
|
106
117
|
backend = 'cloudflare-container';
|
|
107
118
|
constructor(
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
//
|
|
112
|
-
|
|
113
|
-
namespace,
|
|
119
|
+
// Which per-run container class serves a given image variant. Every class (executor, UI
|
|
120
|
+
// tester, deploy harness) exposes the same `/jobs` HTTP contract on 8080 plus
|
|
121
|
+
// `recentStopObservation`/`shutdown`, so this transport drives any of them unchanged: a
|
|
122
|
+
// deploy-dedicated instance is simply built over a resolver pinned to that one namespace.
|
|
123
|
+
resolveNamespace,
|
|
114
124
|
/** Live-container inventory + reaper kill path; absent in tests (reaping off). */
|
|
115
125
|
registry,
|
|
116
126
|
/**
|
|
@@ -121,7 +131,7 @@ export class CloudflareContainerTransport {
|
|
|
121
131
|
* the local transport's behaviour.
|
|
122
132
|
*/
|
|
123
133
|
sharedSecret) {
|
|
124
|
-
this.
|
|
134
|
+
this.resolveNamespace = resolveNamespace;
|
|
125
135
|
this.registry = registry;
|
|
126
136
|
this.sharedSecret = sharedSecret;
|
|
127
137
|
}
|
|
@@ -129,17 +139,36 @@ export class CloudflareContainerTransport {
|
|
|
129
139
|
secretHeader() {
|
|
130
140
|
return this.sharedSecret ? { [HARNESS_SECRET_HEADER]: this.sharedSecret } : {};
|
|
131
141
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
142
|
+
/**
|
|
143
|
+
* The Durable Object id addressing this job's container: the class that serves the ref's image
|
|
144
|
+
* variant, named by `containerKeyForRef`.
|
|
145
|
+
*
|
|
146
|
+
* Both halves of that come off the REF, which is why the variant rides there rather than only
|
|
147
|
+
* on the dispatch options: `poll`, `release` and `stopJob` get no options, and a run whose
|
|
148
|
+
* `tester-ui` step sits in its own container would otherwise be polled at the container its
|
|
149
|
+
* coder step is running in, reading as an evicted job while the browser one worked on.
|
|
150
|
+
*/
|
|
151
|
+
stubFor(ref) {
|
|
152
|
+
const namespace = this.resolveNamespace(ref.image ?? 'default');
|
|
153
|
+
const id = namespace.idFromName(containerKeyForRef(ref));
|
|
154
|
+
return { id, stub: namespace.get(id) };
|
|
155
|
+
}
|
|
156
|
+
// NB: the SIZING hints in `RunnerDispatchOptions` are intentionally ignored here. A
|
|
157
|
+
// Cloudflare Container's instance type is fixed per container class by the wrangler
|
|
158
|
+
// `[[containers]] instance_type`, with no per-DO/per-request sizing API, so a resolved
|
|
159
|
+
// instance-type id is meaningless on this backend. Per-service sizing applies only to the
|
|
160
|
+
// backends that can honour it (the self-hosted pool and the local Docker transport).
|
|
161
|
+
//
|
|
162
|
+
// The `image` hint is NOT in that group: it selects the container class, which this backend
|
|
163
|
+
// does honour. It is read off the REF rather than the options, so `poll`/`release`/`stopJob`
|
|
164
|
+
// (which get no options) address the same container the dispatch started.
|
|
138
165
|
async dispatch(ref, spec, kind = 'agent') {
|
|
139
|
-
// The container is per-RUN
|
|
140
|
-
// dispatches to the same instance; the harness keys the job by `ref.jobId` (in the
|
|
141
|
-
//
|
|
142
|
-
|
|
166
|
+
// The container is per-RUN AND per image variant, so every step of a run on the same image
|
|
167
|
+
// dispatches to the same instance; the harness keys the job by `ref.jobId` (in the spec
|
|
168
|
+
// body), unique per step, so siblings never collide in its registries. A step declaring a
|
|
169
|
+
// different image gets its own container, which is why the inventory key below is the
|
|
170
|
+
// variant-qualified one rather than the bare run id.
|
|
171
|
+
const { stub } = this.stubFor(ref);
|
|
143
172
|
// One harness endpoint for every kind: POST /jobs with the kind in the body. The
|
|
144
173
|
// harness reads `kind` to pick the validator + registry; the rest is the job spec.
|
|
145
174
|
const res = await stub.fetch('http://container/jobs', {
|
|
@@ -162,7 +191,7 @@ export class CloudflareContainerTransport {
|
|
|
162
191
|
// the reaper can find it if its run record ever diverges from reality. Idempotent
|
|
163
192
|
// across a run's steps — the store preserves the earliest startedAt for a key.
|
|
164
193
|
// Best-effort — the registry swallows store errors.
|
|
165
|
-
await this.registry?.register(ref
|
|
194
|
+
await this.registry?.register({ containerKey: containerKeyForRef(ref), kind, image: ref.image });
|
|
166
195
|
// The harness's capability handshake rides the acceptance body. Read AFTER the registry
|
|
167
196
|
// write so a malformed/absent body can never cost the reaper its record of a live container.
|
|
168
197
|
return readRunnerDispatchAck(await safeJson(res));
|
|
@@ -191,8 +220,7 @@ export class CloudflareContainerTransport {
|
|
|
191
220
|
// the closest thing to a stable "container id" to surface in the run's details (a
|
|
192
221
|
// Cloudflare Container has no public URL). Derived here so the executor can show WHICH
|
|
193
222
|
// container the run is on. Cheap (no extra round-trip): `idFromName` is local.
|
|
194
|
-
const doId = this.
|
|
195
|
-
const stub = this.namespace.get(doId);
|
|
223
|
+
const { id: doId, stub } = this.stubFor(ref);
|
|
196
224
|
let res;
|
|
197
225
|
try {
|
|
198
226
|
res = await stub.fetch(`http://container/jobs/${encodeURIComponent(ref.jobId)}`, {
|
|
@@ -241,10 +269,10 @@ export class CloudflareContainerTransport {
|
|
|
241
269
|
// single step within it, so the whole run's container goes regardless).
|
|
242
270
|
if (this.registry) {
|
|
243
271
|
// The registry owns the single kill path (shutdown + inventory removal).
|
|
244
|
-
await this.registry.release(ref.
|
|
272
|
+
await this.registry.release(containerKeyForRef(ref), ref.image);
|
|
245
273
|
return;
|
|
246
274
|
}
|
|
247
|
-
const stub = this.
|
|
275
|
+
const { stub } = this.stubFor(ref);
|
|
248
276
|
await stub.shutdown();
|
|
249
277
|
}
|
|
250
278
|
/**
|
|
@@ -259,7 +287,7 @@ export class CloudflareContainerTransport {
|
|
|
259
287
|
* telling them to go and look.
|
|
260
288
|
*/
|
|
261
289
|
async stopJob(ref) {
|
|
262
|
-
const stub = this.
|
|
290
|
+
const { stub } = this.stubFor(ref);
|
|
263
291
|
try {
|
|
264
292
|
const res = await stub.fetch(`http://container/jobs/${encodeURIComponent(ref.jobId)}`, {
|
|
265
293
|
method: 'DELETE',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloudflareContainerTransport.js","sourceRoot":"","sources":["../../../src/infrastructure/containers/CloudflareContainerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"CloudflareContainerTransport.js","sourceRoot":"","sources":["../../../src/infrastructure/containers/CloudflareContainerTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
import type { Clock } from '@cat-factory/kernel';
|
|
2
|
-
import type {
|
|
3
|
-
import type { ExecutionContainer } from './ExecutionContainer';
|
|
1
|
+
import type { Clock, RunnerImageVariant } from '@cat-factory/kernel';
|
|
2
|
+
import type { ResolveRunContainerNamespace } from './runContainerNamespace';
|
|
4
3
|
/** One live per-run container, as the registry records it. */
|
|
5
4
|
export interface LiveContainerRecord {
|
|
6
|
-
/** The idFromName() argument
|
|
5
|
+
/** The idFromName() argument (kernel's `containerKeyForRef`): the run id, variant-qualified. */
|
|
7
6
|
containerKey: string;
|
|
8
7
|
/** The dispatch kind ('run' | 'blueprint' | 'bootstrap'); diagnostic only. */
|
|
9
8
|
kind: string;
|
|
10
9
|
/** Owning workspace, when known (the transport seam carries only the job id). */
|
|
11
10
|
workspaceId?: string;
|
|
11
|
+
/**
|
|
12
|
+
* The executor image variant, which is WHICH CONTAINER CLASS holds this instance. Not
|
|
13
|
+
* diagnostic: the reaper kills through a Durable Object namespace, and the key alone cannot
|
|
14
|
+
* say which one, so a leaked UI-tester container would be looked up in the executor namespace,
|
|
15
|
+
* where `idFromName` happily returns a stub for a container that never existed and the kill
|
|
16
|
+
* reads as a success. Absent ⇒ the default executor class.
|
|
17
|
+
*/
|
|
18
|
+
image?: RunnerImageVariant;
|
|
12
19
|
/** Epoch ms of the FIRST dispatch = the container's true age. */
|
|
13
20
|
startedAt: number;
|
|
14
21
|
}
|
|
@@ -30,16 +37,24 @@ export interface LiveContainerStore {
|
|
|
30
37
|
* reaper alike, so the two can never diverge.
|
|
31
38
|
*/
|
|
32
39
|
export declare class ContainerInstanceRegistry {
|
|
33
|
-
|
|
40
|
+
/** Resolves the container class an image variant lives in, shared with the transport. */
|
|
41
|
+
private readonly resolveNamespace;
|
|
34
42
|
private readonly store;
|
|
35
43
|
private readonly clock;
|
|
36
|
-
constructor(
|
|
44
|
+
constructor(
|
|
45
|
+
/** Resolves the container class an image variant lives in, shared with the transport. */
|
|
46
|
+
resolveNamespace: ResolveRunContainerNamespace, store: LiveContainerStore, clock: Clock);
|
|
37
47
|
/**
|
|
38
48
|
* Record a freshly-dispatched container in the inventory. Best-effort: a write
|
|
39
49
|
* failure must never break the dispatch it is bookkeeping for, and the earliest
|
|
40
50
|
* `startedAt` is preserved across replayed dispatches (so age stays truthful).
|
|
41
51
|
*/
|
|
42
|
-
register(
|
|
52
|
+
register(record: {
|
|
53
|
+
containerKey: string;
|
|
54
|
+
kind: string;
|
|
55
|
+
workspaceId?: string;
|
|
56
|
+
image?: RunnerImageVariant;
|
|
57
|
+
}): Promise<void>;
|
|
43
58
|
/**
|
|
44
59
|
* Reclaim a container now and drop its inventory row — the single kill path.
|
|
45
60
|
* Idempotent: `ExecutionContainer.shutdown` swallows "already gone", so this is a
|
|
@@ -47,16 +62,18 @@ export declare class ContainerInstanceRegistry {
|
|
|
47
62
|
* SIGKILL resolves, so a (rare) transport-level failure leaves the row for the
|
|
48
63
|
* reaper to retry rather than silently dropping a still-live container.
|
|
49
64
|
*/
|
|
50
|
-
release(containerKey: string): Promise<void>;
|
|
65
|
+
release(containerKey: string, image?: RunnerImageVariant): Promise<void>;
|
|
51
66
|
/**
|
|
52
67
|
* The load-bearing backstop: kill every container whose first dispatch is older
|
|
53
68
|
* than `epochMs` (its legitimate maximum lifetime has elapsed). With normal runs
|
|
54
69
|
* self-reclaiming on their terminal path, a reaped container is a genuine LEAK, so
|
|
55
70
|
* each kill is logged loudly. One wedged container never aborts the sweep — each
|
|
56
|
-
* release is isolated. Returns how many were actually reaped
|
|
71
|
+
* release is isolated. Returns how many were actually reaped, and how many the sweep
|
|
72
|
+
* could not even address (see below).
|
|
57
73
|
*/
|
|
58
74
|
reapStaleBefore(epochMs: number): Promise<{
|
|
59
75
|
reaped: number;
|
|
76
|
+
unreachable: number;
|
|
60
77
|
}>;
|
|
61
78
|
}
|
|
62
79
|
//# sourceMappingURL=ContainerInstanceRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerInstanceRegistry.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/containers/ContainerInstanceRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ContainerInstanceRegistry.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/containers/ContainerInstanceRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AAW3E,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC,gGAAgG;IAChG,YAAY,EAAE,MAAM,CAAA;IACpB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAA;IACZ,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;CACnE;AAED;;;;;;GAMG;AACH,qBAAa,yBAAyB;IAElC,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJxB;IACE,yFAAyF;IACxE,gBAAgB,EAAE,4BAA4B,EAC9C,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,KAAK,EAC3B;IAEJ;;;;OAIG;IACG,QAAQ,CAAC,MAAM,EAAE;QACrB,YAAY,EAAE,MAAM,CAAA;QACpB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,kBAAkB,CAAA;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhB;IAED;;;;;;OAMG;IACG,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7E;IAED;;;;;;;OAOG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CA4CvF;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getErrorMessage } from '@cat-factory/kernel';
|
|
1
|
+
import { getErrorMessage, getErrorReason, RUNNER_IMAGE_UNWIRED_REASON } from '@cat-factory/kernel';
|
|
2
2
|
import { logger } from '../observability/logger';
|
|
3
3
|
/**
|
|
4
4
|
* Owns the per-run container namespace + the live-container inventory. It is the
|
|
@@ -8,11 +8,13 @@ import { logger } from '../observability/logger';
|
|
|
8
8
|
* reaper alike, so the two can never diverge.
|
|
9
9
|
*/
|
|
10
10
|
export class ContainerInstanceRegistry {
|
|
11
|
-
|
|
11
|
+
resolveNamespace;
|
|
12
12
|
store;
|
|
13
13
|
clock;
|
|
14
|
-
constructor(
|
|
15
|
-
|
|
14
|
+
constructor(
|
|
15
|
+
/** Resolves the container class an image variant lives in, shared with the transport. */
|
|
16
|
+
resolveNamespace, store, clock) {
|
|
17
|
+
this.resolveNamespace = resolveNamespace;
|
|
16
18
|
this.store = store;
|
|
17
19
|
this.clock = clock;
|
|
18
20
|
}
|
|
@@ -21,14 +23,15 @@ export class ContainerInstanceRegistry {
|
|
|
21
23
|
* failure must never break the dispatch it is bookkeeping for, and the earliest
|
|
22
24
|
* `startedAt` is preserved across replayed dispatches (so age stays truthful).
|
|
23
25
|
*/
|
|
24
|
-
async register(
|
|
26
|
+
async register(record) {
|
|
25
27
|
try {
|
|
26
|
-
await this.store.add({
|
|
28
|
+
await this.store.add({ ...record, startedAt: this.clock.now() });
|
|
27
29
|
}
|
|
28
30
|
catch (error) {
|
|
29
31
|
logger.warn('container-registry: failed to record live container (continuing)', {
|
|
30
|
-
containerKey,
|
|
31
|
-
kind,
|
|
32
|
+
containerKey: record.containerKey,
|
|
33
|
+
kind: record.kind,
|
|
34
|
+
image: record.image,
|
|
32
35
|
err: getErrorMessage(error),
|
|
33
36
|
});
|
|
34
37
|
}
|
|
@@ -40,8 +43,9 @@ export class ContainerInstanceRegistry {
|
|
|
40
43
|
* SIGKILL resolves, so a (rare) transport-level failure leaves the row for the
|
|
41
44
|
* reaper to retry rather than silently dropping a still-live container.
|
|
42
45
|
*/
|
|
43
|
-
async release(containerKey) {
|
|
44
|
-
|
|
46
|
+
async release(containerKey, image) {
|
|
47
|
+
const namespace = this.resolveNamespace(image ?? 'default');
|
|
48
|
+
await namespace.get(namespace.idFromName(containerKey)).shutdown();
|
|
45
49
|
await this.store.remove(containerKey);
|
|
46
50
|
}
|
|
47
51
|
/**
|
|
@@ -49,23 +53,43 @@ export class ContainerInstanceRegistry {
|
|
|
49
53
|
* than `epochMs` (its legitimate maximum lifetime has elapsed). With normal runs
|
|
50
54
|
* self-reclaiming on their terminal path, a reaped container is a genuine LEAK, so
|
|
51
55
|
* each kill is logged loudly. One wedged container never aborts the sweep — each
|
|
52
|
-
* release is isolated. Returns how many were actually reaped
|
|
56
|
+
* release is isolated. Returns how many were actually reaped, and how many the sweep
|
|
57
|
+
* could not even address (see below).
|
|
53
58
|
*/
|
|
54
59
|
async reapStaleBefore(epochMs) {
|
|
55
60
|
const stale = await this.store.listStartedBefore(epochMs);
|
|
56
61
|
let reaped = 0;
|
|
62
|
+
let unreachable = 0;
|
|
57
63
|
for (const record of stale) {
|
|
58
64
|
logger.warn('container-reaper: killing leaked container past its max lifetime', {
|
|
59
65
|
containerKey: record.containerKey,
|
|
60
66
|
kind: record.kind,
|
|
67
|
+
image: record.image,
|
|
61
68
|
workspaceId: record.workspaceId,
|
|
62
69
|
ageMs: this.clock.now() - record.startedAt,
|
|
63
70
|
});
|
|
64
71
|
try {
|
|
65
|
-
await this.release(record.containerKey);
|
|
72
|
+
await this.release(record.containerKey, record.image);
|
|
66
73
|
reaped++;
|
|
67
74
|
}
|
|
68
75
|
catch (error) {
|
|
76
|
+
if (getErrorReason(error) === RUNNER_IMAGE_UNWIRED_REASON) {
|
|
77
|
+
// The class this row's variant lives in is no longer BOUND (the binding was removed, or
|
|
78
|
+
// the Worker rolled back past it), so there is no namespace to get a stub from and no
|
|
79
|
+
// retry can produce one. Left in place the row re-throws on every pass for ever, which
|
|
80
|
+
// is a permanent error rate that names nothing new and still never kills the container.
|
|
81
|
+
// So it is dropped, and the fact the reaper cannot act on it is stated ONCE, loudly,
|
|
82
|
+
// with the binding to restore.
|
|
83
|
+
unreachable++;
|
|
84
|
+
logger.error('container-reaper: cannot address a leaked container, its class is not bound', {
|
|
85
|
+
containerKey: record.containerKey,
|
|
86
|
+
image: record.image,
|
|
87
|
+
workspaceId: record.workspaceId,
|
|
88
|
+
err: getErrorMessage(error),
|
|
89
|
+
});
|
|
90
|
+
await this.store.remove(record.containerKey);
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
69
93
|
// Leave the row in place so the next pass retries this one.
|
|
70
94
|
logger.error('container-reaper: failed to kill leaked container (will retry next pass)', {
|
|
71
95
|
containerKey: record.containerKey,
|
|
@@ -73,7 +97,7 @@ export class ContainerInstanceRegistry {
|
|
|
73
97
|
});
|
|
74
98
|
}
|
|
75
99
|
}
|
|
76
|
-
return { reaped };
|
|
100
|
+
return { reaped, unreachable };
|
|
77
101
|
}
|
|
78
102
|
}
|
|
79
103
|
//# sourceMappingURL=ContainerInstanceRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerInstanceRegistry.js","sourceRoot":"","sources":["../../../src/infrastructure/containers/ContainerInstanceRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"ContainerInstanceRegistry.js","sourceRoot":"","sources":["../../../src/infrastructure/containers/ContainerInstanceRegistry.ts"],"names":[],"mappings":"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"}
|