@cat-factory/integrations 0.167.0 → 0.169.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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/environments/EnvironmentProvisioningService.d.ts +64 -3
- package/dist/modules/environments/EnvironmentProvisioningService.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentProvisioningService.js +99 -1
- package/dist/modules/environments/EnvironmentProvisioningService.js.map +1 -1
- package/dist/modules/environments/HttpEnvironmentProvider.d.ts.map +1 -1
- package/dist/modules/environments/HttpEnvironmentProvider.js +11 -0
- package/dist/modules/environments/HttpEnvironmentProvider.js.map +1 -1
- package/dist/modules/environments/environmentDiagnostics.d.ts +51 -0
- package/dist/modules/environments/environmentDiagnostics.d.ts.map +1 -0
- package/dist/modules/environments/environmentDiagnostics.js +352 -0
- package/dist/modules/environments/environmentDiagnostics.js.map +1 -0
- package/dist/modules/environments/environmentReachability.d.ts +44 -0
- package/dist/modules/environments/environmentReachability.d.ts.map +1 -0
- package/dist/modules/environments/environmentReachability.js +86 -0
- package/dist/modules/environments/environmentReachability.js.map +1 -0
- package/dist/modules/environments/environmentRemediation.d.ts +53 -0
- package/dist/modules/environments/environmentRemediation.d.ts.map +1 -0
- package/dist/modules/environments/environmentRemediation.js +72 -0
- package/dist/modules/environments/environmentRemediation.js.map +1 -0
- package/dist/modules/environments/environments.logic.d.ts +37 -0
- package/dist/modules/environments/environments.logic.d.ts.map +1 -1
- package/dist/modules/environments/environments.logic.js +99 -0
- package/dist/modules/environments/environments.logic.js.map +1 -1
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.d.ts +25 -2
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.d.ts.map +1 -1
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.js +106 -21
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.js.map +1 -1
- package/dist/modules/kubernetes/KubernetesRunnerTransport.d.ts +43 -0
- package/dist/modules/kubernetes/KubernetesRunnerTransport.d.ts.map +1 -1
- package/dist/modules/kubernetes/KubernetesRunnerTransport.js +92 -3
- package/dist/modules/kubernetes/KubernetesRunnerTransport.js.map +1 -1
- package/dist/modules/kubernetes/kubernetes-diagnostics.d.ts +31 -0
- package/dist/modules/kubernetes/kubernetes-diagnostics.d.ts.map +1 -0
- package/dist/modules/kubernetes/kubernetes-diagnostics.js +350 -0
- package/dist/modules/kubernetes/kubernetes-diagnostics.js.map +1 -0
- package/dist/modules/kubernetes/kubernetes-environment.logic.d.ts +8 -1
- package/dist/modules/kubernetes/kubernetes-environment.logic.d.ts.map +1 -1
- package/dist/modules/kubernetes/kubernetes-environment.logic.js +18 -4
- package/dist/modules/kubernetes/kubernetes-environment.logic.js.map +1 -1
- package/dist/modules/kubernetes/kubernetes.logic.d.ts +60 -2
- package/dist/modules/kubernetes/kubernetes.logic.d.ts.map +1 -1
- package/dist/modules/kubernetes/kubernetes.logic.js +135 -2
- package/dist/modules/kubernetes/kubernetes.logic.js.map +1 -1
- package/dist/modules/shared/environmentBridge.d.ts +66 -0
- package/dist/modules/shared/environmentBridge.d.ts.map +1 -0
- package/dist/modules/shared/environmentBridge.js +78 -0
- package/dist/modules/shared/environmentBridge.js.map +1 -0
- package/package.json +4 -4
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { deploymentImageVariantMessage, isCloudMetadataHost, isPlatformImageVariant, RUNNER_IMAGE_UNWIRED_REASON, UnavailableError, unservablePlatformImageVariant, ValidationError, } from '@cat-factory/kernel';
|
|
2
2
|
import { HARNESS_JOB_PORT, KUBERNETES_RUNNER_TOKEN_SECRET_KEY } from '@cat-factory/contracts';
|
|
3
|
+
import { addressBridges, planEnvironmentBridges } from '../shared/environmentBridge.js';
|
|
3
4
|
// Pure helpers for the native Kubernetes runner backend. No I/O here — URL
|
|
4
5
|
// building, the per-run pod-name derivation, the pod manifest, and the readiness
|
|
5
6
|
// classification are all pure so they unit-test in isolation. The transport
|
|
@@ -283,9 +284,11 @@ export function buildPodManifest(config, runId, name, options) {
|
|
|
283
284
|
},
|
|
284
285
|
...(resources ? { resources } : {}),
|
|
285
286
|
};
|
|
287
|
+
const hostAliases = podHostAliases(options);
|
|
286
288
|
const spec = {
|
|
287
289
|
restartPolicy: 'Never',
|
|
288
290
|
containers: [container],
|
|
291
|
+
...(hostAliases.length ? { hostAliases } : {}),
|
|
289
292
|
...(config.serviceAccountName ? { serviceAccountName: config.serviceAccountName } : {}),
|
|
290
293
|
...(config.imagePullSecretName
|
|
291
294
|
? { imagePullSecrets: [{ name: config.imagePullSecretName }] }
|
|
@@ -305,6 +308,32 @@ export function buildPodManifest(config, runId, name, options) {
|
|
|
305
308
|
spec,
|
|
306
309
|
};
|
|
307
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* The pod's `hostAliases`: the name-to-address mappings a job needs to reach the environments it
|
|
313
|
+
* was handed, grouped by address the way the API shape wants them.
|
|
314
|
+
*
|
|
315
|
+
* The Kubernetes half of the host bridge, and the reason the bridge target is a discriminated
|
|
316
|
+
* value rather than a Docker-only literal. `host-gateway` is a Docker-family token with no
|
|
317
|
+
* Kubernetes equivalent and is dropped here; a name-to-ADDRESS mapping is native
|
|
318
|
+
* (`{ ip, hostnames[] }`) and is exactly what a remote environment whose per-environment DNS
|
|
319
|
+
* record lives in a view this cluster cannot see needs. `addressBridges` owns that split so this
|
|
320
|
+
* transport and the local one cannot disagree about what they dropped.
|
|
321
|
+
*
|
|
322
|
+
* Grouped rather than one entry per host because the API takes a list of addresses each carrying
|
|
323
|
+
* its hostnames, and two names behind one balancer are the ordinary case.
|
|
324
|
+
*/
|
|
325
|
+
export function podHostAliases(options) {
|
|
326
|
+
const plan = planEnvironmentBridges(options?.environments ?? []);
|
|
327
|
+
const byIp = new Map();
|
|
328
|
+
for (const bridge of addressBridges(plan.bridges)) {
|
|
329
|
+
const hostnames = byIp.get(bridge.ip);
|
|
330
|
+
if (hostnames)
|
|
331
|
+
hostnames.push(bridge.host);
|
|
332
|
+
else
|
|
333
|
+
byIp.set(bridge.ip, [bridge.host]);
|
|
334
|
+
}
|
|
335
|
+
return [...byIp.entries()].map(([ip, hostnames]) => ({ ip, hostnames }));
|
|
336
|
+
}
|
|
308
337
|
/** Coerce an arbitrary id into a valid label value (<=63 chars, alnum/._-). */
|
|
309
338
|
export function labelValue(value) {
|
|
310
339
|
return value
|
|
@@ -326,8 +355,14 @@ export function classifyPodReadiness(pod) {
|
|
|
326
355
|
const ready = conditions.find((c) => c.type === 'Ready');
|
|
327
356
|
return ready?.status === 'True' ? 'ready' : 'pending';
|
|
328
357
|
}
|
|
329
|
-
/**
|
|
330
|
-
|
|
358
|
+
/**
|
|
359
|
+
* Classify a Deployment's status JSON: rolled out, still progressing, or failed.
|
|
360
|
+
*
|
|
361
|
+
* Module-private on purpose: {@link reduceRolloutProgress} owns the aggregation AND the prose a
|
|
362
|
+
* caller needs, and a caller reaching for the raw per-Deployment verdict is how a note-less
|
|
363
|
+
* `provisioning` answer got re-derived beside it.
|
|
364
|
+
*/
|
|
365
|
+
function classifyDeploymentReadiness(deployment) {
|
|
331
366
|
const obj = deployment;
|
|
332
367
|
const status = obj?.status;
|
|
333
368
|
if (!status)
|
|
@@ -349,6 +384,104 @@ export function classifyDeploymentReadiness(deployment) {
|
|
|
349
384
|
}
|
|
350
385
|
return 'pending';
|
|
351
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* One Deployment's rollout state as a DIAGNOSTIC row: the per-object verdict plus the two replica
|
|
389
|
+
* counts behind it.
|
|
390
|
+
*
|
|
391
|
+
* The one sanctioned reader of the private classifier above, and it is not the lifecycle path:
|
|
392
|
+
* a diagnosis is a table of per-object facts an investigator reconciles, which is exactly what
|
|
393
|
+
* {@link reduceRolloutProgress} reduces away on purpose. Never use this to answer "is the
|
|
394
|
+
* environment ready" (that is `reduceRolloutProgress`, note and all).
|
|
395
|
+
*
|
|
396
|
+
* `desired` comes off `spec`, which is why the counts ride along rather than being re-read at the
|
|
397
|
+
* call site: a Deployment whose ReplicaSet never created a pod (a quota or an admission webhook
|
|
398
|
+
* refusing it) carries no `status.replicas` at all, and a `0/0 ready` row reads byte-for-byte like
|
|
399
|
+
* one deliberately scaled to zero.
|
|
400
|
+
*/
|
|
401
|
+
export function describeDeploymentRollout(deployment) {
|
|
402
|
+
const obj = deployment;
|
|
403
|
+
return {
|
|
404
|
+
readiness: classifyDeploymentReadiness(deployment),
|
|
405
|
+
desired: typeof obj?.spec?.replicas === 'number' ? obj.spec.replicas : 1,
|
|
406
|
+
ready: typeof obj?.status?.readyReplicas === 'number' ? obj.status.readyReplicas : 0,
|
|
407
|
+
};
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* How many workload names a rollout note lists before it stops naming them. A note is read in a
|
|
411
|
+
* step panel and a run-failure message, so an unbounded list of a large namespace's Deployments
|
|
412
|
+
* would push the sentence that matters off the surface.
|
|
413
|
+
*/
|
|
414
|
+
const ROLLOUT_NOTE_NAME_CAP = 5;
|
|
415
|
+
/**
|
|
416
|
+
* One namespace's Deployments reduced to a lifecycle verdict, plus (while it is still coming up)
|
|
417
|
+
* WHICH workloads have not landed.
|
|
418
|
+
*
|
|
419
|
+
* The note exists because `provisioning` is the answer that keeps a readiness wait alive, and
|
|
420
|
+
* before it the wait could only report its own duration: the deployer's 20-minute ceiling said
|
|
421
|
+
* that it had waited 20 minutes and nothing about what it had waited on. Naming the workloads
|
|
422
|
+
* separates the two cases an operator acts on differently: one Deployment of five stuck (look at
|
|
423
|
+
* that workload) versus all five (look at the namespace, the quota, the node).
|
|
424
|
+
*
|
|
425
|
+
* The verdict itself is unchanged from the reduction this replaces: no Deployment is `ready`
|
|
426
|
+
* (nothing to roll out), one terminally-failed rollout is `failed`, anything else outstanding is
|
|
427
|
+
* `provisioning`. Both non-`ready` answers carry prose, on the same argument and through the two
|
|
428
|
+
* channels their caller has: a `provisioning` verdict says what it is WAITING ON (`note`), and a
|
|
429
|
+
* `failed` one says WHICH workload gave up (`error`). The failed half had the workload's identity
|
|
430
|
+
* in hand and dropped it, so the environment recorded the literal 'Provisioning failed' for a
|
|
431
|
+
* failure whose exact name was computed here.
|
|
432
|
+
*/
|
|
433
|
+
export function reduceRolloutProgress(items) {
|
|
434
|
+
if (items.length === 0)
|
|
435
|
+
return { status: 'ready' }; // nothing to roll out (e.g. a static Service)
|
|
436
|
+
const pending = [];
|
|
437
|
+
for (const item of items) {
|
|
438
|
+
const readiness = classifyDeploymentReadiness(item);
|
|
439
|
+
if (readiness === 'gone') {
|
|
440
|
+
return { status: 'failed', error: describeFailedRollout(deploymentName(item)) };
|
|
441
|
+
}
|
|
442
|
+
if (readiness !== 'ready')
|
|
443
|
+
pending.push(deploymentName(item));
|
|
444
|
+
}
|
|
445
|
+
if (pending.length === 0)
|
|
446
|
+
return { status: 'ready' };
|
|
447
|
+
return { status: 'provisioning', note: describeRolloutNote(pending, items.length) };
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* The account of a rollout that gave up: WHICH workload, and where its cause is readable.
|
|
451
|
+
*
|
|
452
|
+
* A terminal rollout is the one verdict here whose caller records a `lastError`, and that column
|
|
453
|
+
* falls back to the literal 'Provisioning failed' when a provider hands it nothing. Naming the
|
|
454
|
+
* Deployment is what turns the run's failure card, the Environment panel and the outcome row from
|
|
455
|
+
* "something did not happen" into one workload an operator can open.
|
|
456
|
+
*/
|
|
457
|
+
function describeFailedRollout(name) {
|
|
458
|
+
return (`the Deployment '${name}' exceeded its rollout progress deadline: its pods never became ` +
|
|
459
|
+
'available, so the cluster stopped waiting for them. That workload is where the cause is (an ' +
|
|
460
|
+
'image that cannot be pulled, a container crash-looping, a pod nothing can schedule), not the ' +
|
|
461
|
+
'namespace as a whole.');
|
|
462
|
+
}
|
|
463
|
+
/** A Deployment's own name, or a stand-in saying the payload carried none. */
|
|
464
|
+
function deploymentName(item) {
|
|
465
|
+
const name = item?.metadata?.name;
|
|
466
|
+
return typeof name === 'string' && name.trim() ? name.trim() : '(unnamed)';
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* The rollout note: how much of the namespace is outstanding, and which parts of it.
|
|
470
|
+
*
|
|
471
|
+
* A capped list SAYS it is capped rather than trailing off, so a reader never takes the names as
|
|
472
|
+
* the whole set (the same rule every other cap here follows).
|
|
473
|
+
*/
|
|
474
|
+
function describeRolloutNote(pending, total) {
|
|
475
|
+
const listed = pending.slice(0, ROLLOUT_NOTE_NAME_CAP);
|
|
476
|
+
const dropped = pending.length - listed.length;
|
|
477
|
+
const names = listed.map((name) => `'${name}'`).join(', ') + (dropped > 0 ? `, and ${dropped} more` : '');
|
|
478
|
+
const scope = pending.length < total
|
|
479
|
+
? `${pending.length} of ${total} Deployments`
|
|
480
|
+
: total === 1
|
|
481
|
+
? "the namespace's only Deployment"
|
|
482
|
+
: `all ${total} Deployments`;
|
|
483
|
+
return `${scope} ${pending.length === 1 ? 'is' : 'are'} still rolling out: ${names}`;
|
|
484
|
+
}
|
|
352
485
|
/**
|
|
353
486
|
* Container `state.waiting.reason`s that will NOT self-heal within the readiness window:
|
|
354
487
|
* a bad/unpullable image, a malformed container config, a failed lifecycle hook, or a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kubernetes.logic.js","sourceRoot":"","sources":["../../../src/modules/kubernetes/kubernetes.logic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kubernetes.logic.js","sourceRoot":"","sources":["../../../src/modules/kubernetes/kubernetes.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { DispatchEnvironment, HostBridgeTarget, UnbridgeableCause } from '@cat-factory/kernel';
|
|
2
|
+
/** One name a container must have re-pointed, and what to re-point it at. */
|
|
3
|
+
export interface HostBridge {
|
|
4
|
+
host: string;
|
|
5
|
+
target: HostBridgeTarget;
|
|
6
|
+
}
|
|
7
|
+
/** One environment no bridge this transport can install will make reachable, and why. */
|
|
8
|
+
export interface UnbridgeableEnvironment {
|
|
9
|
+
url: string;
|
|
10
|
+
cause: UnbridgeableCause;
|
|
11
|
+
}
|
|
12
|
+
/** What a job's environments mean for the container the transport is about to start. */
|
|
13
|
+
export interface EnvironmentBridgePlan {
|
|
14
|
+
/**
|
|
15
|
+
* The bridges to install, deduplicated and sorted by {@link hostBridgeKey}.
|
|
16
|
+
*
|
|
17
|
+
* Sorted because this list is compared against what a running container was CREATED with, and
|
|
18
|
+
* recorded on its handle; an order that varied with the order the engine happened to list a
|
|
19
|
+
* run's peers would make two identical bridge sets look different and replace a container for
|
|
20
|
+
* nothing.
|
|
21
|
+
*/
|
|
22
|
+
bridges: readonly HostBridge[];
|
|
23
|
+
/**
|
|
24
|
+
* The environments no bridge reaches, each with the CAUSE that decides the remedy: one naming
|
|
25
|
+
* this machine by a spelling nothing looks up (a compose stack on `http://localhost:<port>`, a
|
|
26
|
+
* bare loopback address), or one the platform proved is reachable ONLY at an address this
|
|
27
|
+
* transport cannot install.
|
|
28
|
+
*
|
|
29
|
+
* Carried rather than dropped because "nothing to bridge" and "unreachable and unfixable here"
|
|
30
|
+
* are opposite facts that would otherwise render identically, and the second is a run that is
|
|
31
|
+
* going to spend its tester step on connection failures. The second cause is the worse of the
|
|
32
|
+
* two: the run record then asserts the environment was reached at an address the container never
|
|
33
|
+
* got, which puts the evidence further from the cause than no bridge at all. The transport says
|
|
34
|
+
* so once at dispatch; nothing downstream branches on it.
|
|
35
|
+
*/
|
|
36
|
+
unbridgeable: readonly UnbridgeableEnvironment[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Grade every environment a job was handed for the host bridge.
|
|
40
|
+
*
|
|
41
|
+
* Takes the WHOLE list rather than one environment because a job is routinely handed several: its
|
|
42
|
+
* own ephemeral environment, a live peer service's environment for a cross-service integration
|
|
43
|
+
* test, and a frontend flow's resolved backend bindings. Bridging only the first one is how the
|
|
44
|
+
* bridge came to fire for a tester's own environment and not for the peer it was testing against,
|
|
45
|
+
* which fails in exactly the same way and reads as exactly the same "the environment is down".
|
|
46
|
+
*
|
|
47
|
+
* The address a bridge may name comes off the environment it belongs to, never out of a shared bag
|
|
48
|
+
* keyed by hostname, and that pairing is the security property: the HOST side of every bridge is,
|
|
49
|
+
* structurally, a host this job was handed. A free-form map would let a provider re-point any name
|
|
50
|
+
* inside the container, including the harness's own alias for reaching back to its host.
|
|
51
|
+
*/
|
|
52
|
+
export declare function planEnvironmentBridges(environments: readonly (DispatchEnvironment | null | undefined)[]): EnvironmentBridgePlan;
|
|
53
|
+
/**
|
|
54
|
+
* The bridges expressible as a NAME-TO-ADDRESS mapping, which is every bridge except a
|
|
55
|
+
* `host-gateway` one.
|
|
56
|
+
*
|
|
57
|
+
* A runtime with no host-gateway concept (a Kubernetes pod, whose `hostAliases` entries are
|
|
58
|
+
* `{ ip, hostnames[] }`) can honour the address half and genuinely cannot honour the other. The
|
|
59
|
+
* split is stated here so each such transport reads the same answer rather than filtering the
|
|
60
|
+
* union inline and quietly disagreeing about what it dropped.
|
|
61
|
+
*/
|
|
62
|
+
export declare function addressBridges(bridges: readonly HostBridge[]): {
|
|
63
|
+
host: string;
|
|
64
|
+
ip: string;
|
|
65
|
+
}[];
|
|
66
|
+
//# sourceMappingURL=environmentBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environmentBridge.d.ts","sourceRoot":"","sources":["../../../src/modules/shared/environmentBridge.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGnG,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,yFAAyF;AACzF,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,iBAAiB,CAAA;CACzB;AAED,wFAAwF;AACxF,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;IAC9B;;;;;;;;;;;;OAYG;IACH,YAAY,EAAE,SAAS,uBAAuB,EAAE,CAAA;CACjD;AAWD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,SAAS,CAAC,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAChE,qBAAqB,CAsBvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,CAO7F"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// Which hosts an agent container must have re-pointed to reach the environments a run handed it,
|
|
2
|
+
// what to re-point each one AT, and which of them no container can ever reach.
|
|
3
|
+
//
|
|
4
|
+
// The RULE lives in kernel (`classifyLocalMachineHostBridge`, in
|
|
5
|
+
// `shared/environment-host-bridge.logic.ts`), which is also where the reasoning is: why a loopback
|
|
6
|
+
// environment URL is a dead end inside a container, why the fix is to make the ONE name mean the
|
|
7
|
+
// right thing in each place rather than to publish a second URL, why `localhost` and a bare IP
|
|
8
|
+
// literal are local names no hosts-file entry can re-point, and which addresses a bridge may name.
|
|
9
|
+
// What lives here is the URL half, because kernel compiles with no `URL`.
|
|
10
|
+
//
|
|
11
|
+
// Here rather than beside one transport because TWO of them build the same bridges out of the same
|
|
12
|
+
// dispatch options and cannot be allowed to disagree: the local Docker/Podman transport emits
|
|
13
|
+
// `--add-host`, and the Kubernetes runner transport emits a pod's `hostAliases`. A name-to-address
|
|
14
|
+
// mapping is expressible in both. Only the `host-gateway` target is Docker-family-specific, which
|
|
15
|
+
// is why it is a discriminated target rather than a second list.
|
|
16
|
+
import { classifyLocalMachineHostBridge, hostBridgeKey } from '@cat-factory/kernel';
|
|
17
|
+
/** The hostname of `url`, or null when it has none or is not a URL (never a guess). */
|
|
18
|
+
function hostnameOf(url) {
|
|
19
|
+
try {
|
|
20
|
+
return new URL(url).hostname || null;
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Grade every environment a job was handed for the host bridge.
|
|
28
|
+
*
|
|
29
|
+
* Takes the WHOLE list rather than one environment because a job is routinely handed several: its
|
|
30
|
+
* own ephemeral environment, a live peer service's environment for a cross-service integration
|
|
31
|
+
* test, and a frontend flow's resolved backend bindings. Bridging only the first one is how the
|
|
32
|
+
* bridge came to fire for a tester's own environment and not for the peer it was testing against,
|
|
33
|
+
* which fails in exactly the same way and reads as exactly the same "the environment is down".
|
|
34
|
+
*
|
|
35
|
+
* The address a bridge may name comes off the environment it belongs to, never out of a shared bag
|
|
36
|
+
* keyed by hostname, and that pairing is the security property: the HOST side of every bridge is,
|
|
37
|
+
* structurally, a host this job was handed. A free-form map would let a provider re-point any name
|
|
38
|
+
* inside the container, including the harness's own alias for reaching back to its host.
|
|
39
|
+
*/
|
|
40
|
+
export function planEnvironmentBridges(environments) {
|
|
41
|
+
const bridges = new Map();
|
|
42
|
+
const unbridgeable = new Map();
|
|
43
|
+
for (const environment of environments) {
|
|
44
|
+
if (!environment?.url)
|
|
45
|
+
continue;
|
|
46
|
+
const hostname = hostnameOf(environment.url);
|
|
47
|
+
if (!hostname)
|
|
48
|
+
continue;
|
|
49
|
+
const verdict = classifyLocalMachineHostBridge(hostname, environment.address);
|
|
50
|
+
if (verdict.kind === 'bridge') {
|
|
51
|
+
bridges.set(hostBridgeKey(verdict), { host: verdict.host, target: verdict.target });
|
|
52
|
+
}
|
|
53
|
+
else if (verdict.kind === 'unbridgeable') {
|
|
54
|
+
unbridgeable.set(environment.url, { url: environment.url, cause: verdict.cause });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
bridges: [...bridges.entries()]
|
|
59
|
+
.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
|
|
60
|
+
.map(([, v]) => v),
|
|
61
|
+
unbridgeable: [...unbridgeable.values()].sort((a, b) => a.url < b.url ? -1 : a.url > b.url ? 1 : 0),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The bridges expressible as a NAME-TO-ADDRESS mapping, which is every bridge except a
|
|
66
|
+
* `host-gateway` one.
|
|
67
|
+
*
|
|
68
|
+
* A runtime with no host-gateway concept (a Kubernetes pod, whose `hostAliases` entries are
|
|
69
|
+
* `{ ip, hostnames[] }`) can honour the address half and genuinely cannot honour the other. The
|
|
70
|
+
* split is stated here so each such transport reads the same answer rather than filtering the
|
|
71
|
+
* union inline and quietly disagreeing about what it dropped.
|
|
72
|
+
*/
|
|
73
|
+
export function addressBridges(bridges) {
|
|
74
|
+
return bridges
|
|
75
|
+
.filter((bridge) => bridge.target !== 'host-gateway')
|
|
76
|
+
.map((bridge) => ({ host: bridge.host, ip: bridge.target.ip }));
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=environmentBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environmentBridge.js","sourceRoot":"","sources":["../../../src/modules/shared/environmentBridge.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/integrations",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.169.0",
|
|
4
4
|
"description": "External-system integration domain logic for the Agent Architecture Board (GitHub, documents, tasks, environments, runners).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,15 +24,15 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@cat-factory/contracts": "0.
|
|
28
|
-
"@cat-factory/kernel": "0.
|
|
27
|
+
"@cat-factory/contracts": "0.337.0",
|
|
28
|
+
"@cat-factory/kernel": "0.326.0",
|
|
29
29
|
"ai": "^7.0.85",
|
|
30
30
|
"p-map": "^7.0.7",
|
|
31
31
|
"undici": "^8.10.0",
|
|
32
32
|
"yaml": "^2.9.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@cat-factory/caching": "0.20.
|
|
35
|
+
"@cat-factory/caching": "0.20.58",
|
|
36
36
|
"typescript": "7.0.2",
|
|
37
37
|
"valibot": "^1.4.2",
|
|
38
38
|
"vitest": "^4.1.11"
|