@namzu/sandbox 14.0.0 → 16.0.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/CHANGELOG.md +924 -0
- package/README.md +369 -14
- package/dist/backends/aci-standby-pool/index.d.ts.map +1 -1
- package/dist/backends/aci-standby-pool/index.js +13 -1
- package/dist/backends/aci-standby-pool/index.js.map +1 -1
- package/dist/backends/docker/index.d.ts +169 -6
- package/dist/backends/docker/index.d.ts.map +1 -1
- package/dist/backends/docker/index.js +499 -85
- package/dist/backends/docker/index.js.map +1 -1
- package/dist/backends/firecracker/index.d.ts.map +1 -1
- package/dist/backends/firecracker/index.js +12 -2
- package/dist/backends/firecracker/index.js.map +1 -1
- package/dist/backends/firecracker/protocol.d.ts +459 -8
- package/dist/backends/firecracker/protocol.d.ts.map +1 -1
- package/dist/backends/firecracker/protocol.js +136 -0
- package/dist/backends/firecracker/protocol.js.map +1 -1
- package/dist/backends/firecracker/transport.d.ts +539 -6
- package/dist/backends/firecracker/transport.d.ts.map +1 -1
- package/dist/backends/firecracker/transport.js +1171 -24
- package/dist/backends/firecracker/transport.js.map +1 -1
- package/dist/backends/kubernetes/egress-policy.d.ts +1181 -13
- package/dist/backends/kubernetes/egress-policy.d.ts.map +1 -1
- package/dist/backends/kubernetes/egress-policy.js +2350 -31
- package/dist/backends/kubernetes/egress-policy.js.map +1 -1
- package/dist/backends/kubernetes/identity.d.ts +193 -0
- package/dist/backends/kubernetes/identity.d.ts.map +1 -0
- package/dist/backends/kubernetes/identity.js +147 -0
- package/dist/backends/kubernetes/identity.js.map +1 -0
- package/dist/backends/kubernetes/index.d.ts +678 -33
- package/dist/backends/kubernetes/index.d.ts.map +1 -1
- package/dist/backends/kubernetes/index.js +1180 -95
- package/dist/backends/kubernetes/index.js.map +1 -1
- package/dist/backends/kubernetes/ingress-policy.d.ts +375 -0
- package/dist/backends/kubernetes/ingress-policy.d.ts.map +1 -0
- package/dist/backends/kubernetes/ingress-policy.js +1050 -0
- package/dist/backends/kubernetes/ingress-policy.js.map +1 -0
- package/dist/backends/kubernetes/k8s-client.d.ts +213 -4
- package/dist/backends/kubernetes/k8s-client.d.ts.map +1 -1
- package/dist/backends/kubernetes/k8s-client.js +359 -52
- package/dist/backends/kubernetes/k8s-client.js.map +1 -1
- package/dist/backends/kubernetes/lease.d.ts +40 -14
- package/dist/backends/kubernetes/lease.d.ts.map +1 -1
- package/dist/backends/kubernetes/lease.js +68 -18
- package/dist/backends/kubernetes/lease.js.map +1 -1
- package/dist/backends/kubernetes/objects.d.ts +423 -3
- package/dist/backends/kubernetes/objects.d.ts.map +1 -1
- package/dist/backends/kubernetes/objects.js +364 -2
- package/dist/backends/kubernetes/objects.js.map +1 -1
- package/dist/backends/kubernetes/per-sandbox-policy.d.ts +219 -0
- package/dist/backends/kubernetes/per-sandbox-policy.d.ts.map +1 -0
- package/dist/backends/kubernetes/per-sandbox-policy.js +375 -0
- package/dist/backends/kubernetes/per-sandbox-policy.js.map +1 -0
- package/dist/backends/kubernetes/rbac.d.ts +153 -0
- package/dist/backends/kubernetes/rbac.d.ts.map +1 -0
- package/dist/backends/kubernetes/rbac.js +177 -0
- package/dist/backends/kubernetes/rbac.js.map +1 -0
- package/dist/backends/kubernetes/sandbox.d.ts +81 -14
- package/dist/backends/kubernetes/sandbox.d.ts.map +1 -1
- package/dist/backends/kubernetes/sandbox.js +149 -15
- package/dist/backends/kubernetes/sandbox.js.map +1 -1
- package/dist/backends/kubernetes/transport.d.ts +935 -9
- package/dist/backends/kubernetes/transport.d.ts.map +1 -1
- package/dist/backends/kubernetes/transport.js +1958 -62
- package/dist/backends/kubernetes/transport.js.map +1 -1
- package/dist/backends/kubernetes/workspace.d.ts +1149 -18
- package/dist/backends/kubernetes/workspace.d.ts.map +1 -1
- package/dist/backends/kubernetes/workspace.js +2825 -186
- package/dist/backends/kubernetes/workspace.js.map +1 -1
- package/dist/backends/remote-execution-controller.d.ts +14 -0
- package/dist/backends/remote-execution-controller.d.ts.map +1 -1
- package/dist/backends/remote-execution-controller.js.map +1 -1
- package/dist/index.d.ts +294 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +280 -10
- package/dist/index.js.map +1 -1
- package/dist/testing/sandbox-conformance.d.ts +39 -5
- package/dist/testing/sandbox-conformance.d.ts.map +1 -1
- package/dist/testing/sandbox-conformance.js +436 -5
- package/dist/testing/sandbox-conformance.js.map +1 -1
- package/package.json +3 -3
- package/src/backends/aci-standby-pool/index.ts +16 -1
- package/src/backends/docker/index.ts +617 -100
- package/src/backends/firecracker/index.ts +14 -2
- package/src/backends/firecracker/protocol.ts +514 -6
- package/src/backends/firecracker/transport.ts +1492 -40
- package/src/backends/kubernetes/egress-policy.ts +3334 -55
- package/src/backends/kubernetes/identity.ts +261 -0
- package/src/backends/kubernetes/index.ts +1785 -127
- package/src/backends/kubernetes/ingress-policy.ts +1344 -0
- package/src/backends/kubernetes/k8s-client.ts +444 -54
- package/src/backends/kubernetes/lease.ts +75 -19
- package/src/backends/kubernetes/objects.ts +626 -6
- package/src/backends/kubernetes/per-sandbox-policy.ts +497 -0
- package/src/backends/kubernetes/rbac.ts +192 -0
- package/src/backends/kubernetes/sandbox.ts +218 -20
- package/src/backends/kubernetes/transport.ts +2733 -124
- package/src/backends/kubernetes/workspace.ts +4476 -222
- package/src/backends/remote-execution-controller.ts +14 -0
- package/src/index.ts +668 -19
- package/src/testing/sandbox-conformance.ts +540 -5
package/dist/index.d.ts
CHANGED
|
@@ -9,11 +9,29 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Two tiers, each a trust boundary:
|
|
11
11
|
*
|
|
12
|
-
* • `container` — one OCI container per task,
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
12
|
+
* • `container` — one OCI container per task, with the container itself
|
|
13
|
+
* as the boundary: kernel namespaces, or a userspace-kernel runtime
|
|
14
|
+
* where one is installed. The same path on a laptop and on a Linux
|
|
15
|
+
* replica anywhere. The tier for trusted prompts and contained
|
|
16
|
+
* workloads. What confines the workload INSIDE the container is
|
|
17
|
+
* applied by each backend and documented where it is applied, not
|
|
18
|
+
* promised here: `container:docker` drops every capability, sets
|
|
19
|
+
* no-new-privileges, gives the container an IPC namespace nothing else can
|
|
20
|
+
* join and mounts its root filesystem read-only over a named writable set
|
|
21
|
+
* (see `backends/docker/index.ts`), while the ACI standby pool takes
|
|
22
|
+
* its controls from the container-group profile its pool was built
|
|
23
|
+
* from. This line used to claim "seccomp on, tmpfs workdir, no
|
|
24
|
+
* network unless asked" on both their behalf, and none of the three
|
|
25
|
+
* is a property this package establishes: nothing here passes a
|
|
26
|
+
* seccomp flag, so what filters a container's syscalls is the daemon's
|
|
27
|
+
* own profile rather than a default this package sets; the directory
|
|
28
|
+
* the agent works in is the layout's `outputs` bind mount — a host
|
|
29
|
+
* directory the run is collected from — rather than a tmpfs that would
|
|
30
|
+
* lose it when the container exits; and the network a container is
|
|
31
|
+
* attached to is a fact about
|
|
32
|
+
* the backend's own configuration — a daemon network whose internals
|
|
33
|
+
* the egress policy is checked against, or the container group's
|
|
34
|
+
* subnet or public address.
|
|
17
35
|
*
|
|
18
36
|
* • `microvm` — one hardware-virtualized guest per task. The boundary
|
|
19
37
|
* to reach for when the prompt itself is adversarial, at the cost
|
|
@@ -35,19 +53,59 @@
|
|
|
35
53
|
*/
|
|
36
54
|
import type { ContainerSandboxLayout, Sandbox, SandboxProvider } from '@namzu/sdk';
|
|
37
55
|
import type { KubernetesEgressConfig } from './backends/kubernetes/egress-policy.js';
|
|
38
|
-
import { type KubernetesClusterAccess } from './backends/kubernetes/index.js';
|
|
39
|
-
import
|
|
56
|
+
import { type KubernetesAgentAddressMode, type KubernetesClusterAccess, type KubernetesReadTaskCapacityOptions, type KubernetesReleaseTaskSandboxesOptions, type KubernetesTaskCapacity } from './backends/kubernetes/index.js';
|
|
57
|
+
import type { KubernetesIngressConfig } from './backends/kubernetes/ingress-policy.js';
|
|
58
|
+
import { type KubernetesWorkspace, type KubernetesWorkspaceOptions, type KubernetesWorkspaceSummary, type KubernetesWorkspaceSuspendOptions, type KubernetesWorkspaceTransitionOptions } from './backends/kubernetes/workspace.js';
|
|
40
59
|
export type { ContainerSandboxLayout, ContainerSandboxLayoutMount, ContainerSandboxMountSource, ContainerSandboxSkillMount, ResolvedContainerSandboxLayout, } from '@namzu/sdk';
|
|
41
60
|
export { SANDBOX_DEFAULT_OUTPUTS_PATH, SANDBOX_DEFAULT_SKILLS_PARENT, SANDBOX_DEFAULT_TOOL_RESULTS_PATH, SANDBOX_DEFAULT_TRANSCRIPTS_PATH, SANDBOX_DEFAULT_UPLOADS_PATH, } from '@namzu/sdk';
|
|
42
61
|
export type { FirecrackerBackendInternalConfig, OrchestratorTokenProvider, } from './backends/firecracker/index.js';
|
|
43
|
-
export { AgentPreauthFrameTooLargeError, FIRECRACKER_AGENT_PROTOCOL_VERSION, type SandboxAgentHandle, TCP_PREAUTH_FRAME_LIMIT_BYTES, type VsockTransportOptions, VsockAgentTransport, } from './backends/firecracker/transport.js';
|
|
44
|
-
export type
|
|
45
|
-
export
|
|
62
|
+
export { AgentDialFailedError, AgentPreauthFrameTooLargeError, AgentReadFileStreamUnsupportedError, AgentWriteFileTooLargeError, DEFAULT_MAX_WRITE_FILE_BYTES, FIRECRACKER_AGENT_PROTOCOL_VERSION, GUEST_FRAME_LIMIT_BYTES, type SandboxAgentHandle, TCP_PREAUTH_FRAME_LIMIT_BYTES, type VsockTransportOptions, VsockAgentTransport, } from './backends/firecracker/transport.js';
|
|
63
|
+
export { WRITE_FILE_PARTS_FEATURE, type WriteFilePart, } from './backends/firecracker/protocol.js';
|
|
64
|
+
export { MIN_STREAM_HEARTBEAT_MS, STREAM_HEARTBEAT_FEATURE, STREAM_HEARTBEAT_MAX_ECHO_FACTOR, STREAM_HEARTBEAT_MISS_LIMIT, type StreamHeartbeat, } from './backends/firecracker/protocol.js';
|
|
65
|
+
export { READ_FILE_STREAM_FEATURE, type ReadFileStreamEvent, type ReadFileStreamRequest, } from './backends/firecracker/protocol.js';
|
|
66
|
+
export type { KubernetesAgentAddressMode, KubernetesClusterAccess, } from './backends/kubernetes/index.js';
|
|
67
|
+
export type { EgressProfileLabel, KubernetesCiliumDnsNarrowing, KubernetesCiliumEgressNarrowing, KubernetesEgressConfig, KubernetesEgressEngine, KubernetesEgressPolicy, KubernetesEgressVerification, KubernetesOnlyEgressPolicy, KubernetesPerSandboxEgressConfig, } from './backends/kubernetes/egress-policy.js';
|
|
68
|
+
export { KubernetesPerSandboxEgressConfigError } from './backends/kubernetes/egress-policy.js';
|
|
69
|
+
export { KubernetesWorkspacePerSandboxEgressConfigError } from './backends/kubernetes/egress-policy.js';
|
|
70
|
+
export { DEFAULT_PER_SANDBOX_EGRESS_LABEL_KEY } from './backends/kubernetes/egress-policy.js';
|
|
71
|
+
export { KubernetesAdmissionFenceMissingError, KubernetesAdmissionFenceUnreadableError, KubernetesNetworkPolicyHostError, KubernetesOwnerUidMissingError, PER_SANDBOX_POLICY_NAME_PREFIX, } from './backends/kubernetes/per-sandbox-policy.js';
|
|
72
|
+
export { DEFAULT_EGRESS_PROFILE_LABEL_KEY } from './backends/kubernetes/egress-policy.js';
|
|
73
|
+
export type { EgressPolicyRefusal, EgressPolicyVerdict, ExaminedEgressPolicy, } from './backends/kubernetes/egress-policy.js';
|
|
74
|
+
export { KubernetesEgressNarrowingUnsupportedError, KubernetesEgressPolicyConfigError, KubernetesEgressPolicyUnionError, } from './backends/kubernetes/egress-policy.js';
|
|
75
|
+
export { KubernetesEgressProfileConfigError, KubernetesPodLabelNotObservedError, KubernetesPodLabelsRejectedError, } from './backends/kubernetes/egress-policy.js';
|
|
76
|
+
export type { ExaminedIngressPolicy, IngressPolicyRefusal, IngressPolicyVerdict, KubernetesIngressConfig, KubernetesIngressEngine,
|
|
77
|
+
/** @deprecated Renamed to `UnreadPolicySource`; both checks report it. */
|
|
78
|
+
UnreadIngressPolicySource, UnreadPolicySource, } from './backends/kubernetes/ingress-policy.js';
|
|
79
|
+
export { KubernetesIngressPolicyError } from './backends/kubernetes/ingress-policy.js';
|
|
46
80
|
export { KubernetesPrivilegeProbeError, type PrivilegeProbeFailure, type ProcStatusPrivileges, } from './backends/kubernetes/privilege-probe.js';
|
|
47
81
|
export { KubernetesSandboxDestroyedError, KubernetesSandboxGoneError, } from './backends/kubernetes/sandbox.js';
|
|
48
|
-
export { KubernetesAgentUnauthorizedError } from './backends/kubernetes/transport.js';
|
|
49
|
-
export type {
|
|
50
|
-
export {
|
|
82
|
+
export { KubernetesAgentAddressUnresolvableError, KubernetesAgentRetiringError, KubernetesAgentUnauthorizedError, } from './backends/kubernetes/transport.js';
|
|
83
|
+
export type { KubernetesAttachExecutionOptions, KubernetesAttachRefusal, KubernetesDetachedExecOptions, } from './backends/kubernetes/transport.js';
|
|
84
|
+
export { KubernetesExecutionAttachUnsupportedError, KubernetesExecutionDetachedError, KubernetesExecutionNotAttachableError, } from './backends/kubernetes/transport.js';
|
|
85
|
+
export type { KubernetesAttachTerminalOptions, KubernetesOpenTerminalOptions, KubernetesReadSessionOptions, KubernetesSessionOutput, KubernetesSessionRefusal, KubernetesSessionSummary, KubernetesSessionTerminal, KubernetesStartDetachedOptions, KubernetesWorkspaceTerminal, } from './backends/kubernetes/transport.js';
|
|
86
|
+
export { KubernetesSessionRefusedError, KubernetesSessionsUnsupportedError, } from './backends/kubernetes/transport.js';
|
|
87
|
+
export { AgentSessionDetachedError } from './backends/firecracker/transport.js';
|
|
88
|
+
export { SESSIONS_FEATURE, type SessionDetachReason, type SessionKind, type SessionState, } from './backends/firecracker/protocol.js';
|
|
89
|
+
export type { KubernetesQuiesceOptions, KubernetesWorkspaceQuiesceRequest, } from './backends/kubernetes/workspace.js';
|
|
90
|
+
export type { KubernetesQuiesceReport } from './backends/kubernetes/transport.js';
|
|
91
|
+
export { KubernetesQuiesceUnconfirmedError, KubernetesQuiesceUnsupportedError, } from './backends/kubernetes/transport.js';
|
|
92
|
+
export { QUIESCE_FEATURE, type QuiesceScope, type QuiescedProcess, } from './backends/firecracker/protocol.js';
|
|
93
|
+
export type { KubernetesFlushOptions, KubernetesWorkspaceFlushRequest, } from './backends/kubernetes/workspace.js';
|
|
94
|
+
export type { KubernetesFlushReport } from './backends/kubernetes/transport.js';
|
|
95
|
+
export { KubernetesFlushUnconfirmedError, KubernetesFlushUnreachableError, KubernetesFlushUnsupportedError, } from './backends/kubernetes/transport.js';
|
|
96
|
+
export { FLUSH_FEATURE } from './backends/firecracker/protocol.js';
|
|
97
|
+
export { DEFAULT_API_REQUEST_TIMEOUT_MS, KubernetesApiError, type KubernetesApiFailureTransport, KubernetesApiTimeoutError, type KubernetesHttpMethod, KubernetesPatchNotAppliedError, MIN_API_REQUEST_TIMEOUT_MS, } from './backends/kubernetes/k8s-client.js';
|
|
98
|
+
export { KubernetesAlreadyGoneError, KubernetesConflictError, KubernetesCredentialError, } from './backends/kubernetes/k8s-client.js';
|
|
99
|
+
export { KubernetesAcquireError, type KubernetesAcquireFailureReason, ReadinessPollTimeout, TERMINAL_CLAIM_REASONS, } from './backends/kubernetes/index.js';
|
|
100
|
+
export { KubernetesEgressPolicyMismatchError, KubernetesEgressPolicyNotAppliedError, KubernetesUnenforceableEgressPolicyError, } from './backends/kubernetes/egress-policy.js';
|
|
101
|
+
/** Default `KubernetesBackendConfig.streamHeartbeatMs` — see there. */
|
|
102
|
+
export { DEFAULT_STREAM_HEARTBEAT_MS } from './backends/kubernetes/index.js';
|
|
103
|
+
export type { KubernetesReadTaskCapacityOptions, KubernetesReleaseTaskSandboxesOptions, KubernetesTaskCapacity, } from './backends/kubernetes/index.js';
|
|
104
|
+
export { KUBERNETES_CLAIMANT_RBAC_RULES, type KubernetesRbacRule, type KubernetesRbacVerb, } from './backends/kubernetes/rbac.js';
|
|
105
|
+
export type { KubernetesKillSessionOptions, KubernetesWorkspace, KubernetesWorkspaceAgentState, KubernetesWorkspaceCancellationNotice, KubernetesWorkspaceDestroyOptions, KubernetesWorkspaceOptions, KubernetesWorkspaceOrigin, KubernetesWorkspaceStartFailurePolicy, KubernetesWorkspaceSummary, KubernetesWorkspaceSuspendOptions, KubernetesWorkspaceSuspensionNotice, KubernetesWorkspaceTransitionOptions, } from './backends/kubernetes/workspace.js';
|
|
106
|
+
export type { KubernetesGuestEvidence, KubernetesGuestRestart, KubernetesGuestRestartReason, KubernetesWorkspaceIdentity, } from './backends/kubernetes/identity.js';
|
|
107
|
+
export { KubernetesWorkspaceGuestGoneError, KubernetesWorkspaceReplacedError, } from './backends/kubernetes/identity.js';
|
|
108
|
+
export { KubernetesWorkspaceDiskError, KubernetesWorkspaceMismatchError, KubernetesWorkspacePreconditionError, KubernetesWorkspaceSuspendTimeoutError, KubernetesWorkspaceSuspendedError, } from './backends/kubernetes/workspace.js';
|
|
51
109
|
/**
|
|
52
110
|
* Top-level sandbox tier, and the trust boundary it buys:
|
|
53
111
|
*
|
|
@@ -217,6 +275,46 @@ export interface ContainerBackendConfig {
|
|
|
217
275
|
* collisions with Docker / orchestrator labels.
|
|
218
276
|
*/
|
|
219
277
|
readonly labels?: Readonly<Record<string, string>>;
|
|
278
|
+
/**
|
|
279
|
+
* CPU cores the container may use, rendered as `--cpus`. Unset by
|
|
280
|
+
* default, like `memoryLimitMb` and `maxProcesses`, and for the same
|
|
281
|
+
* reason: the value that is right is a property of the host's machine
|
|
282
|
+
* and of the workload, and a number chosen here would silently throttle
|
|
283
|
+
* runs that finish inside their timeout today.
|
|
284
|
+
*
|
|
285
|
+
* It is set at provider construction rather than per `create()` call,
|
|
286
|
+
* because the documented deployment builds one provider per task — and
|
|
287
|
+
* because the ACI and kubernetes backends cannot apply a per-sandbox CPU
|
|
288
|
+
* limit, so a per-call field would be a control they would have to
|
|
289
|
+
* refuse. See `backends/docker/index.ts` for what it renders.
|
|
290
|
+
*/
|
|
291
|
+
readonly cpuLimit?: number;
|
|
292
|
+
/**
|
|
293
|
+
* Mount the container's root filesystem read-only. Default `true`.
|
|
294
|
+
*
|
|
295
|
+
* On by default with the paths that stay writable named in
|
|
296
|
+
* `backends/docker/index.ts` (`writableRootfsPaths` extends them). Set it
|
|
297
|
+
* to `false` to make the whole container filesystem writable again, which a
|
|
298
|
+
* host whose image writes somewhere the writable set cannot describe needs,
|
|
299
|
+
* and which is why the switch exists rather than the baseline being
|
|
300
|
+
* unconditional. It gives up that one control: the capability drop,
|
|
301
|
+
* `no-new-privileges` and `--ipc private` are applied to every container
|
|
302
|
+
* whatever this says, so it is not a way back to the previous argv.
|
|
303
|
+
*/
|
|
304
|
+
readonly readOnlyRootfs?: boolean;
|
|
305
|
+
/**
|
|
306
|
+
* Extra paths to keep writable under `--read-only`, each mounted
|
|
307
|
+
* `--tmpfs`.
|
|
308
|
+
*
|
|
309
|
+
* The default set is the reference image's needs, read off its Dockerfile.
|
|
310
|
+
* A host that points `image` at its own build says what that image needs
|
|
311
|
+
* here, because the backend cannot read an image's writable set and the
|
|
312
|
+
* alternative to asking is guessing. Setting this beside
|
|
313
|
+
* `readOnlyRootfs: false` is refused: with a writable root filesystem the
|
|
314
|
+
* mounts would add nothing, and accepting a control that is not applied is
|
|
315
|
+
* the failure this package refuses everywhere else.
|
|
316
|
+
*/
|
|
317
|
+
readonly writableRootfsPaths?: readonly string[];
|
|
220
318
|
}
|
|
221
319
|
/**
|
|
222
320
|
* `microvm` tier, against namzu's own guest orchestrator.
|
|
@@ -374,6 +472,24 @@ export interface KubernetesBackendConfig {
|
|
|
374
472
|
readonly warmPoolName?: string;
|
|
375
473
|
/** TCP port the in-pod guest agent listens on. Default 1024. */
|
|
376
474
|
readonly agentPort?: number;
|
|
475
|
+
/**
|
|
476
|
+
* Which of a sandbox's two addresses the transport dials.
|
|
477
|
+
*
|
|
478
|
+
* `'service'` (default) is the Sandbox's `status.serviceFQDN`, which
|
|
479
|
+
* outlives the pod and is re-resolved on every dial — and which ONLY the
|
|
480
|
+
* cluster's own DNS answers. A host running outside the cluster fails
|
|
481
|
+
* every call at name resolution, readiness included, so it reads as a
|
|
482
|
+
* sandbox that never came up.
|
|
483
|
+
*
|
|
484
|
+
* `'pod-ip'` dials the bound pod's IP, read from the same `GET` that
|
|
485
|
+
* reads its bind token. For a host outside the cluster with a route to
|
|
486
|
+
* the pod network. It needs that route and a `NetworkPolicy` admitting
|
|
487
|
+
* the host's address range on {@link agentPort}; the IP dies with its
|
|
488
|
+
* pod, which the backend covers by re-reading it on every resume and once
|
|
489
|
+
* after a connect failure. Nothing else changes: same bind token, same
|
|
490
|
+
* privilege probe, same egress verification.
|
|
491
|
+
*/
|
|
492
|
+
readonly agentAddress?: KubernetesAgentAddressMode;
|
|
377
493
|
/** Delay between readiness polls. Default 50ms. */
|
|
378
494
|
readonly readyPollIntervalMs?: number;
|
|
379
495
|
/** Total deadline from create to an addressed, Ready sandbox. Default 60000ms. */
|
|
@@ -389,10 +505,12 @@ export interface KubernetesBackendConfig {
|
|
|
389
505
|
*
|
|
390
506
|
* The handle renews its own `shutdownTime` every half-TTL for as long as
|
|
391
507
|
* it is alive, so a run that outlives `claimTtlSeconds` keeps its pod.
|
|
392
|
-
* A failed renewal is retried on
|
|
393
|
-
*
|
|
394
|
-
*
|
|
395
|
-
*
|
|
508
|
+
* A failed renewal is retried on a short capped backoff — starting at one
|
|
509
|
+
* second, not the next half-TTL tick — so a single API blip near a
|
|
510
|
+
* scheduled renewal gets several more chances before anything expires;
|
|
511
|
+
* this callback is where the diagnostic goes, because `@namzu/sandbox`
|
|
512
|
+
* owns no logger and reads none from module scope. Setting it changes
|
|
513
|
+
* nothing about behaviour.
|
|
396
514
|
*/
|
|
397
515
|
readonly onLeaseRenewalError?: (error: unknown) => void;
|
|
398
516
|
/**
|
|
@@ -415,10 +533,89 @@ export interface KubernetesBackendConfig {
|
|
|
415
533
|
* enforcement point is one object attached to the template and cannot be
|
|
416
534
|
* rewritten per running sandbox. `static` and `resolver` — hostname
|
|
417
535
|
* allowlists — throw a named error at construction unless `engine` is
|
|
418
|
-
* `'cilium'`: core `NetworkPolicy` has no FQDN concept at all.
|
|
536
|
+
* `'cilium'`: core `NetworkPolicy` has no FQDN concept at all.
|
|
537
|
+
*
|
|
538
|
+
* `policy` also takes two kinds that exist only here, because only a
|
|
539
|
+
* `NetworkPolicy` can express them: `{ kind: 'no-network' }` (nothing
|
|
540
|
+
* leaves the pod, the cluster resolver included — which `'deny-all'` never
|
|
541
|
+
* meant, since it allows DNS and a cluster resolver forwards outside
|
|
542
|
+
* names) and `{ kind: 'public-internet', exceptCidrs? }` (the internet,
|
|
543
|
+
* minus the private ranges, carrier-grade NAT, link-local and one cloud
|
|
544
|
+
* platform endpoint). `'deny-all'` and `'allow-all'` emit exactly the
|
|
545
|
+
* manifests they always have.
|
|
546
|
+
*
|
|
547
|
+
* **Setting this now checks the UNION.** Since every policy selecting a
|
|
548
|
+
* pod is unioned by the API server, the check reads the named object AND
|
|
549
|
+
* enumerates the namespace's policies, refusing when any of them lets out
|
|
550
|
+
* more than `policy` does. `verify: 'named-object-only'` restores the
|
|
551
|
+
* single-object check exactly. See
|
|
419
552
|
* `docs/sdk/kubernetes-sandbox.md`'s egress section.
|
|
420
553
|
*/
|
|
421
554
|
readonly egress?: KubernetesEgressConfig;
|
|
555
|
+
/**
|
|
556
|
+
* Whether this backend proves, before creating a sandbox, that an applied
|
|
557
|
+
* policy actually closes {@link agentPort} on the pod it is about to hand
|
|
558
|
+
* back — and against which policy resources.
|
|
559
|
+
*
|
|
560
|
+
* **Unset means verify.** This is the one field here whose absent value is
|
|
561
|
+
* the strict one, because the deployment that needs the check is the one
|
|
562
|
+
* that would never have switched it on: the guest agent's own source calls
|
|
563
|
+
* the network rule in front of its port the boundary, and until this field
|
|
564
|
+
* existed nothing confirmed there was one.
|
|
565
|
+
*
|
|
566
|
+
* `{ engine: 'cilium' }` also enumerates that CNI's own policy CRD;
|
|
567
|
+
* `engine` otherwise defaults to `egress?.engine ?? 'core'`.
|
|
568
|
+
*
|
|
569
|
+
* `'unverified'` reads no policy and issues no request. It is the
|
|
570
|
+
* supported answer for a deployment whose boundary a namespaced Role
|
|
571
|
+
* cannot see — a cluster-scoped policy, a service mesh, a cloud security
|
|
572
|
+
* group — and it is a claim the deployment makes on purpose rather than a
|
|
573
|
+
* default it inherits. See `docs/sdk/kubernetes-sandbox.md`'s ingress
|
|
574
|
+
* section.
|
|
575
|
+
*/
|
|
576
|
+
readonly ingress?: KubernetesIngressConfig;
|
|
577
|
+
/**
|
|
578
|
+
* How long a single Kubernetes API request may take, end to end —
|
|
579
|
+
* resolving the token, connecting, and reading the reply. Default
|
|
580
|
+
* `30000`; minimum `1000`; there is no value that turns it off.
|
|
581
|
+
*
|
|
582
|
+
* The caller's `signal` is optional everywhere and several of this
|
|
583
|
+
* backend's requests are SHARED flights that run under whichever caller
|
|
584
|
+
* arrived first, so a signal-less `destroy()` against an API server that
|
|
585
|
+
* accepted a request and never answered used to pin every later caller
|
|
586
|
+
* joined to it. Expiry rejects with `KubernetesApiTimeoutError`, which
|
|
587
|
+
* says nothing about whether the request was applied — the paths that
|
|
588
|
+
* send one already cope with not knowing.
|
|
589
|
+
*/
|
|
590
|
+
readonly apiRequestTimeoutMs?: number;
|
|
591
|
+
/**
|
|
592
|
+
* Interval of the liveness heartbeat `openTerminal` and
|
|
593
|
+
* `openTcpConnection` streams negotiate with the guest. Default `15000`;
|
|
594
|
+
* `0` sends none, which is exactly how every release before this one
|
|
595
|
+
* behaved.
|
|
596
|
+
*
|
|
597
|
+
* A quiet shell is healthy, so nothing replaced the read-idle timer the
|
|
598
|
+
* transport clears once a stream is ready: a partition that delivered no
|
|
599
|
+
* FIN and no RST left `exited`/`closed` unresolved on the host and the
|
|
600
|
+
* shell's process group alive in the guest. Three missed intervals end
|
|
601
|
+
* the stream on both sides. It is negotiated per stream — the guest
|
|
602
|
+
* echoes the interval in its `ready` event and sends nothing new unless
|
|
603
|
+
* it did — so an older guest image behaves exactly as it does today.
|
|
604
|
+
*/
|
|
605
|
+
readonly streamHeartbeatMs?: number;
|
|
606
|
+
/**
|
|
607
|
+
* Extra labels written onto every `SandboxClaim` this backend POSTs —
|
|
608
|
+
* `metadata.labels` only, never the pod's own labels. Unset means no
|
|
609
|
+
* labels beyond what the controller itself writes, and every claim body
|
|
610
|
+
* is byte-for-byte what it was before this option existed.
|
|
611
|
+
*
|
|
612
|
+
* The intended use is a host-instance identity, so a restarted host can
|
|
613
|
+
* find and {@link releaseKubernetesTaskSandboxes} a crashed predecessor's
|
|
614
|
+
* claims well before `claimTtlSeconds` reaps them on its own — see
|
|
615
|
+
* {@link readKubernetesTaskCapacity} for reading pool headroom
|
|
616
|
+
* alongside it.
|
|
617
|
+
*/
|
|
618
|
+
readonly claimLabels?: Record<string, string>;
|
|
422
619
|
}
|
|
423
620
|
/**
|
|
424
621
|
* Egress allowlist resolution. Host-supplied policy decides whether
|
|
@@ -597,6 +794,85 @@ export declare function createSandboxProvider(config: SandboxProviderConfig): Sa
|
|
|
597
794
|
* deprivileged, exactly as `provider.create()` does for a task sandbox.
|
|
598
795
|
*/
|
|
599
796
|
export declare function createKubernetesWorkspace(config: KubernetesBackendConfig, options: KubernetesWorkspaceOptions): Promise<KubernetesWorkspace>;
|
|
797
|
+
/**
|
|
798
|
+
* Every workspace this backend owns in the namespace, read off the objects
|
|
799
|
+
* and waking none of them.
|
|
800
|
+
*
|
|
801
|
+
* The inventory {@link createKubernetesWorkspace} cannot give you: it adopts
|
|
802
|
+
* AND resumes, so taking stock through it would start a pod for every
|
|
803
|
+
* suspended workspace it looked at. This issues one GET of the sandboxes
|
|
804
|
+
* collection and sends no PATCH and no DELETE — a suspended workspace is
|
|
805
|
+
* still suspended afterwards.
|
|
806
|
+
*
|
|
807
|
+
* Needs `list` on `sandboxes` in the namespace, which is the one RBAC verb
|
|
808
|
+
* the task path did not already require.
|
|
809
|
+
*/
|
|
810
|
+
export declare function listKubernetesWorkspaces(config: KubernetesBackendConfig, options?: KubernetesWorkspaceTransitionOptions): Promise<readonly KubernetesWorkspaceSummary[]>;
|
|
811
|
+
/**
|
|
812
|
+
* Delete a workspace by id — the Sandbox, and with it the Pod, the Service
|
|
813
|
+
* and the PVC — without adopting or resuming it first.
|
|
814
|
+
*
|
|
815
|
+
* Exactly what `destroy({ deleteDisk: true })` does to the cluster, with the
|
|
816
|
+
* same guarantees: an object already gone counts as deleted, and a DELETE
|
|
817
|
+
* that fails rejects and stays retryable. The files are gone and nothing
|
|
818
|
+
* brings them back.
|
|
819
|
+
*
|
|
820
|
+
* It is the retention verb. Removing a month-old suspended workspace through
|
|
821
|
+
* a handle meant starting its pod and probing it purely to tell it to go
|
|
822
|
+
* away; the name is deterministic, so the object never needed opening.
|
|
823
|
+
*/
|
|
824
|
+
export declare function deleteKubernetesWorkspace(config: KubernetesBackendConfig, workspaceId: string, options?: KubernetesWorkspaceTransitionOptions): Promise<void>;
|
|
825
|
+
/**
|
|
826
|
+
* Suspend a workspace by id: send the `operatingMode: Suspended` patch and
|
|
827
|
+
* wait for the pod to actually stop, without adopting the workspace.
|
|
828
|
+
*
|
|
829
|
+
* Resolves only once the pod is gone or in a terminal phase — a suspend is a
|
|
830
|
+
* promise that the disk is quiesced, and the patch being accepted says only
|
|
831
|
+
* that the controller has been asked. A pod that outlives `readyTimeoutMs`
|
|
832
|
+
* rejects with `KubernetesWorkspaceSuspendTimeoutError`, leaving the object
|
|
833
|
+
* as the patch left it.
|
|
834
|
+
*
|
|
835
|
+
* A handle another process is holding is not told. It finds out on its next
|
|
836
|
+
* call — which fails at the transport and is re-read into a
|
|
837
|
+
* `KubernetesWorkspaceSuspendedError` — or when that process calls
|
|
838
|
+
* `refresh()`.
|
|
839
|
+
*
|
|
840
|
+
* It takes the suspend options shape and REFUSES `quiesce` rather than
|
|
841
|
+
* accepting the flag and dropping it: this verb never dials the agent, so
|
|
842
|
+
* there is no connection here on which anything could be stopped. Quiescing
|
|
843
|
+
* needs a handle — `createKubernetesWorkspace()`, then
|
|
844
|
+
* `suspend({ quiesce: true })`.
|
|
845
|
+
*/
|
|
846
|
+
export declare function suspendKubernetesWorkspace(config: KubernetesBackendConfig, workspaceId: string, options?: KubernetesWorkspaceSuspendOptions): Promise<void>;
|
|
847
|
+
/**
|
|
848
|
+
* Recover a crashed host's task-path claims: LIST every `SandboxClaim`
|
|
849
|
+
* carrying `options.labelSelector`, `DELETE` each, and report what was
|
|
850
|
+
* removed.
|
|
851
|
+
*
|
|
852
|
+
* Deletes claims only — the controller's own ownerReferences take the bound
|
|
853
|
+
* Sandbox, its Pod and its Service down behind each one; nothing here reads
|
|
854
|
+
* or touches those objects directly. `labelSelector` is REQUIRED and refused
|
|
855
|
+
* before any request goes out if it is empty: falling back to matching every
|
|
856
|
+
* claim would delete a live fleet's work.
|
|
857
|
+
*
|
|
858
|
+
* Pairs with `config.claimLabels`: a host stamps its own identity onto every
|
|
859
|
+
* claim it creates, and a restarted instance passes that same selector here
|
|
860
|
+
* to reclaim its predecessor's warm-pool capacity well before
|
|
861
|
+
* `claimTtlSeconds` would reap it on its own.
|
|
862
|
+
*/
|
|
863
|
+
export declare function releaseKubernetesTaskSandboxes(config: KubernetesBackendConfig, options: KubernetesReleaseTaskSandboxesOptions): Promise<{
|
|
864
|
+
readonly deleted: number;
|
|
865
|
+
readonly names: readonly string[];
|
|
866
|
+
}>;
|
|
867
|
+
/**
|
|
868
|
+
* Read task-pool headroom before admitting more work: three GETs
|
|
869
|
+
* (`SandboxWarmPool`, the claims collection, the pods collection), no
|
|
870
|
+
* writes.
|
|
871
|
+
*
|
|
872
|
+
* Requires `config.warmPoolName` — a pool-less backend (every create is a
|
|
873
|
+
* direct Sandbox) has no `SandboxWarmPool` to report on.
|
|
874
|
+
*/
|
|
875
|
+
export declare function readKubernetesTaskCapacity(config: KubernetesBackendConfig, options?: KubernetesReadTaskCapacityOptions): Promise<KubernetesTaskCapacity>;
|
|
600
876
|
/**
|
|
601
877
|
* Thrown by the factory when a backend is requested before its
|
|
602
878
|
* implementation has landed. Makes the staged rollout legible —
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|