@tickernelz/paperclip-pro-plugin-kubernetes 2026.925.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/LICENSE +22 -0
- package/README.md +180 -0
- package/dist/adapter-defaults.d.ts +29 -0
- package/dist/adapter-defaults.d.ts.map +1 -0
- package/dist/adapter-defaults.js +98 -0
- package/dist/adapter-defaults.js.map +1 -0
- package/dist/adapter-registry.d.ts +64 -0
- package/dist/adapter-registry.d.ts.map +1 -0
- package/dist/adapter-registry.js +25 -0
- package/dist/adapter-registry.js.map +1 -0
- package/dist/cilium-network-policy.d.ts +12 -0
- package/dist/cilium-network-policy.d.ts.map +1 -0
- package/dist/cilium-network-policy.js +60 -0
- package/dist/cilium-network-policy.js.map +1 -0
- package/dist/file-sync.d.ts +73 -0
- package/dist/file-sync.d.ts.map +1 -0
- package/dist/file-sync.js +752 -0
- package/dist/file-sync.js.map +1 -0
- package/dist/image-allowlist.d.ts +18 -0
- package/dist/image-allowlist.d.ts.map +1 -0
- package/dist/image-allowlist.js +39 -0
- package/dist/image-allowlist.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/job-orchestrator.d.ts +24 -0
- package/dist/job-orchestrator.d.ts.map +1 -0
- package/dist/job-orchestrator.js +90 -0
- package/dist/job-orchestrator.js.map +1 -0
- package/dist/kube-client.d.ts +15 -0
- package/dist/kube-client.d.ts.map +1 -0
- package/dist/kube-client.js +23 -0
- package/dist/kube-client.js.map +1 -0
- package/dist/lease-lifecycle.d.ts +62 -0
- package/dist/lease-lifecycle.d.ts.map +1 -0
- package/dist/lease-lifecycle.js +155 -0
- package/dist/lease-lifecycle.js.map +1 -0
- package/dist/manifest.d.ts +4 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +108 -0
- package/dist/manifest.js.map +1 -0
- package/dist/network-policy.d.ts +22 -0
- package/dist/network-policy.d.ts.map +1 -0
- package/dist/network-policy.js +116 -0
- package/dist/network-policy.js.map +1 -0
- package/dist/plugin.d.ts +3 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +820 -0
- package/dist/plugin.js.map +1 -0
- package/dist/pod-exec.d.ts +67 -0
- package/dist/pod-exec.d.ts.map +1 -0
- package/dist/pod-exec.js +401 -0
- package/dist/pod-exec.js.map +1 -0
- package/dist/pod-spec-builder.d.ts +25 -0
- package/dist/pod-spec-builder.d.ts.map +1 -0
- package/dist/pod-spec-builder.js +82 -0
- package/dist/pod-spec-builder.js.map +1 -0
- package/dist/sandbox-cr-builder.d.ts +40 -0
- package/dist/sandbox-cr-builder.d.ts.map +1 -0
- package/dist/sandbox-cr-builder.js +123 -0
- package/dist/sandbox-cr-builder.js.map +1 -0
- package/dist/sandbox-cr-orchestrator.d.ts +62 -0
- package/dist/sandbox-cr-orchestrator.d.ts.map +1 -0
- package/dist/sandbox-cr-orchestrator.js +248 -0
- package/dist/sandbox-cr-orchestrator.js.map +1 -0
- package/dist/sandbox-orchestrator.d.ts +39 -0
- package/dist/sandbox-orchestrator.d.ts.map +1 -0
- package/dist/sandbox-orchestrator.js +2 -0
- package/dist/sandbox-orchestrator.js.map +1 -0
- package/dist/scoped-network-egress.d.ts +19 -0
- package/dist/scoped-network-egress.d.ts.map +1 -0
- package/dist/scoped-network-egress.js +86 -0
- package/dist/scoped-network-egress.js.map +1 -0
- package/dist/secret-manager.d.ts +14 -0
- package/dist/secret-manager.d.ts.map +1 -0
- package/dist/secret-manager.js +39 -0
- package/dist/secret-manager.js.map +1 -0
- package/dist/tenant-orchestrator.d.ts +35 -0
- package/dist/tenant-orchestrator.d.ts.map +1 -0
- package/dist/tenant-orchestrator.js +263 -0
- package/dist/tenant-orchestrator.js.map +1 -0
- package/dist/types.d.ts +279 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +65 -0
- package/dist/types.js.map +1 -0
- package/dist/upload-interceptor.d.ts +44 -0
- package/dist/upload-interceptor.d.ts.map +1 -0
- package/dist/upload-interceptor.js +114 -0
- package/dist/upload-interceptor.js.map +1 -0
- package/dist/utils.d.ts +11 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +51 -0
- package/dist/utils.js.map +1 -0
- package/dist/worker.d.ts +3 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +5 -0
- package/dist/worker.js.map +1 -0
- package/manifests/operator-prerequisites.yaml +22 -0
- package/package.json +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exec a command inside a running pod container using the Kubernetes exec API.
|
|
3
|
+
*
|
|
4
|
+
* Uses @kubernetes/client-node's Exec class, which opens a WebSocket to the
|
|
5
|
+
* kube-apiserver and streams stdout/stderr. The statusCallback receives a V1Status
|
|
6
|
+
* with status="Success" or status="Failure" + details.causes[{reason:"ExitCode"}].
|
|
7
|
+
*
|
|
8
|
+
* NOTE: tty=false so stdout and stderr arrive on separate channels. If tty=true
|
|
9
|
+
* were used, they would be merged onto stdout and the exit code would not be
|
|
10
|
+
* reliable from the status callback on older cluster versions.
|
|
11
|
+
*
|
|
12
|
+
* Stdin handling: @kubernetes/client-node v1.x attaches `stdin.on("end", ()
|
|
13
|
+
* => ws.close())`, which closes the entire WebSocket as soon as our PassThrough
|
|
14
|
+
* ends — BEFORE the pod's command has a chance to flush and BEFORE the
|
|
15
|
+
* statusCallback fires. We work around this by removing that listener after
|
|
16
|
+
* exec setup completes so EOF on stdin only signals the pod (via a stdin-
|
|
17
|
+
* channel close frame implicit in our flow) without tearing down the
|
|
18
|
+
* connection. We then close the WebSocket explicitly inside the statusCallback.
|
|
19
|
+
*/
|
|
20
|
+
import type { Readable, Writable } from "node:stream";
|
|
21
|
+
import type { KubeConfig } from "@kubernetes/client-node";
|
|
22
|
+
export declare function shQuote(segment: string): string;
|
|
23
|
+
export declare function wrapCommandWithEnv(command: string[], env: Record<string, string> | undefined | null): string[];
|
|
24
|
+
export declare function execInPod(kc: KubeConfig, namespace: string, podName: string, containerName: string, command: string[], stdin?: string | Buffer, timeoutMs?: number, maxStdoutBytes?: number, maxStderrBytes?: number): Promise<{
|
|
25
|
+
exitCode: number;
|
|
26
|
+
stdout: string;
|
|
27
|
+
stderr: string;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Streaming variant of {@link execInPod} for bulk file transfer over the pod
|
|
31
|
+
* exec data channel.
|
|
32
|
+
*
|
|
33
|
+
* Where `execInPod` buffers the command's whole stdout into an in-memory string
|
|
34
|
+
* (fine for small command output, fatal for a multi-gigabyte tar), this variant
|
|
35
|
+
* PIPES the exec's stdin from a caller `Readable` and its stdout into a caller
|
|
36
|
+
* `Writable` — so a native file-sync `syncIn`/`syncOut` streams raw tar bytes
|
|
37
|
+
* straight to/from a host file on disk and neither the host nor the pod ever
|
|
38
|
+
* holds the whole payload in memory. Both are intentionally kept side by side:
|
|
39
|
+
* `execInPod` still backs the `environmentExecute` path unchanged.
|
|
40
|
+
*
|
|
41
|
+
* stderr is still accumulated into a (bounded) string: it carries only the
|
|
42
|
+
* script's fail-loud diagnostics, and the pod controls how many bytes it emits,
|
|
43
|
+
* so `maxStderrBytes` fails the exec closed the instant the pod floods the
|
|
44
|
+
* channel — the same DoS guard `execInPod` applies. stdout carries no such cap
|
|
45
|
+
* here because it is streamed to disk, not a string; the caller bounds it with
|
|
46
|
+
* its own streamed-bytes guard on the sink `Writable`.
|
|
47
|
+
*
|
|
48
|
+
* Stdin EOF: the same k8s-client `stdin.on("end", () => ws.close())` quirk noted
|
|
49
|
+
* on `execInPod` applies, so we strip that listener and drive the pod command to
|
|
50
|
+
* self-terminate on the byte count instead of relying on EOF (the caller's
|
|
51
|
+
* `syncIn` script bounds its read with `head -c <N>`). We close the WebSocket
|
|
52
|
+
* ourselves from the status callback.
|
|
53
|
+
*
|
|
54
|
+
* Resolves once the command's exit status is known AND both the stdout sink has
|
|
55
|
+
* finished draining and stderr has ended, so a caller that reads the sink file
|
|
56
|
+
* back after `await` always sees the complete archive.
|
|
57
|
+
*/
|
|
58
|
+
export declare function execInPodStreaming(kc: KubeConfig, namespace: string, podName: string, containerName: string, command: string[], io: {
|
|
59
|
+
stdin?: Readable;
|
|
60
|
+
stdout?: Writable;
|
|
61
|
+
timeoutMs?: number;
|
|
62
|
+
maxStderrBytes?: number;
|
|
63
|
+
}): Promise<{
|
|
64
|
+
exitCode: number;
|
|
65
|
+
stderr: string;
|
|
66
|
+
}>;
|
|
67
|
+
//# sourceMappingURL=pod-exec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pod-exec.d.ts","sourceRoot":"","sources":["../src/pod-exec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAS1D,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AASD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,GAC7C,MAAM,EAAE,CAQV;AAED,wBAAsB,SAAS,CAC7B,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EACvB,SAAS,CAAC,EAAE,MAAM,EAUlB,cAAc,CAAC,EAAE,MAAM,EAOvB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAyL/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,EAAE,EAAE;IACF,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAsI/C"}
|
package/dist/pod-exec.js
ADDED
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exec a command inside a running pod container using the Kubernetes exec API.
|
|
3
|
+
*
|
|
4
|
+
* Uses @kubernetes/client-node's Exec class, which opens a WebSocket to the
|
|
5
|
+
* kube-apiserver and streams stdout/stderr. The statusCallback receives a V1Status
|
|
6
|
+
* with status="Success" or status="Failure" + details.causes[{reason:"ExitCode"}].
|
|
7
|
+
*
|
|
8
|
+
* NOTE: tty=false so stdout and stderr arrive on separate channels. If tty=true
|
|
9
|
+
* were used, they would be merged onto stdout and the exit code would not be
|
|
10
|
+
* reliable from the status callback on older cluster versions.
|
|
11
|
+
*
|
|
12
|
+
* Stdin handling: @kubernetes/client-node v1.x attaches `stdin.on("end", ()
|
|
13
|
+
* => ws.close())`, which closes the entire WebSocket as soon as our PassThrough
|
|
14
|
+
* ends — BEFORE the pod's command has a chance to flush and BEFORE the
|
|
15
|
+
* statusCallback fires. We work around this by removing that listener after
|
|
16
|
+
* exec setup completes so EOF on stdin only signals the pod (via a stdin-
|
|
17
|
+
* channel close frame implicit in our flow) without tearing down the
|
|
18
|
+
* connection. We then close the WebSocket explicitly inside the statusCallback.
|
|
19
|
+
*/
|
|
20
|
+
import { Exec } from "@kubernetes/client-node";
|
|
21
|
+
import { PassThrough } from "node:stream";
|
|
22
|
+
// Single-quote a string for safe interpolation into a sh -c script. Wraps in
|
|
23
|
+
// '...' and escapes any embedded single quotes via '\'' (close, escape, reopen).
|
|
24
|
+
export function shQuote(segment) {
|
|
25
|
+
return `'${segment.replace(/'/g, "'\\''")}'`;
|
|
26
|
+
}
|
|
27
|
+
// Wrap a command so the given env vars are exported before it runs. The Kubernetes
|
|
28
|
+
// exec API has no env field, so the only way to give an exec'd process additional
|
|
29
|
+
// env is to run it under a shell that exports the vars and then `exec`s the real
|
|
30
|
+
// command. PATH is deliberately skipped (the caller's PATH is the orchestrator's,
|
|
31
|
+
// not the sandbox image's, and overriding it would break command resolution), and
|
|
32
|
+
// only valid shell identifiers are exported. Returns the original command unchanged
|
|
33
|
+
// when there is nothing to apply.
|
|
34
|
+
export function wrapCommandWithEnv(command, env) {
|
|
35
|
+
const entries = Object.entries(env && typeof env === "object" ? env : {}).filter(([key, value]) => typeof value === "string" && key !== "PATH" && /^[A-Za-z_][A-Za-z0-9_]*$/.test(key));
|
|
36
|
+
if (entries.length === 0)
|
|
37
|
+
return command;
|
|
38
|
+
const exports = entries.map(([k, v]) => `export ${k}=${shQuote(v)};`).join(" ");
|
|
39
|
+
return ["/bin/sh", "-c", `${exports} exec ${command.map(shQuote).join(" ")}`];
|
|
40
|
+
}
|
|
41
|
+
export async function execInPod(kc, namespace, podName, containerName, command, stdin, timeoutMs,
|
|
42
|
+
// Optional host-side bound on accumulated stdout. The pod is an untrusted,
|
|
43
|
+
// attacker-controlled endpoint: a malicious pod can emit unbounded stdout
|
|
44
|
+
// during an exec (e.g. a native file-sync `syncOut` tarball), which would grow
|
|
45
|
+
// the in-memory accumulator without limit — blowing up the worker's RSS and,
|
|
46
|
+
// past V8's ~512 MB max string length, throwing a synchronous RangeError inside
|
|
47
|
+
// the stream `data` listener that no caller can catch (an uncaught exception =
|
|
48
|
+
// worker crash = cross-tenant DoS). When set, accumulation fails closed the
|
|
49
|
+
// instant it would exceed the cap so the caller can fall back. In-pod size
|
|
50
|
+
// checks are worthless here — only the host can be trusted to enforce this.
|
|
51
|
+
maxStdoutBytes,
|
|
52
|
+
// Same bound for the stderr channel. stderr is equally pod-controlled: a
|
|
53
|
+
// malicious pod can emit an unbounded stderr stream during the SAME exec (e.g.
|
|
54
|
+
// crafted tar/realpath diagnostics on the `syncOut` path) and trigger the
|
|
55
|
+
// identical uncaught-`RangeError` worker crash. When set, stderr accumulation
|
|
56
|
+
// fails closed at the cap; regardless of the cap, the `+=` is guarded so a
|
|
57
|
+
// max-string-length `RangeError` can never escape as an uncaught exception.
|
|
58
|
+
maxStderrBytes) {
|
|
59
|
+
const exec = new Exec(kc);
|
|
60
|
+
const stdoutStream = new PassThrough();
|
|
61
|
+
const stderrStream = new PassThrough();
|
|
62
|
+
const stdinPayload = Buffer.isBuffer(stdin) ? stdin
|
|
63
|
+
: typeof stdin === "string" && stdin.length > 0 ? Buffer.from(stdin, "utf-8")
|
|
64
|
+
: null;
|
|
65
|
+
const stdinStream = stdinPayload ? new PassThrough() : null;
|
|
66
|
+
// When stdin is provided, wrap the command so its stdin is bounded by
|
|
67
|
+
// `head -c <N>`. Any program reading stdin (`cat`, `claude --print -`,
|
|
68
|
+
// `base64 -d`, etc.) waits for EOF to terminate the read. With the k8s
|
|
69
|
+
// client v0.21.0 stdin-end -> ws.close() limitation (see comment above)
|
|
70
|
+
// we can't reliably deliver EOF without tearing down the exec — so we
|
|
71
|
+
// pipe `head -c <N>` (which exits after exactly N bytes) into the
|
|
72
|
+
// original command. The pipe propagates the exit code of the RHS so the
|
|
73
|
+
// statusCallback still reflects the real command's exit status.
|
|
74
|
+
//
|
|
75
|
+
// NOTE: `stdinPayload.length` is the Buffer's BYTE length (correct for
|
|
76
|
+
// `head -c` which counts bytes). Do NOT substitute `string.length` here
|
|
77
|
+
// if the input is ever non-ASCII — UTF-8 multi-byte sequences would
|
|
78
|
+
// give a byte count that differs from JS character count.
|
|
79
|
+
const effectiveCommand = stdinPayload
|
|
80
|
+
? ["/bin/sh", "-c", `head -c ${stdinPayload.length} | ${command.map(shQuote).join(" ")}`]
|
|
81
|
+
: command;
|
|
82
|
+
let stdoutData = "";
|
|
83
|
+
let stderrData = "";
|
|
84
|
+
let stdoutBytes = 0;
|
|
85
|
+
let stderrBytes = 0;
|
|
86
|
+
return await new Promise((resolve, reject) => {
|
|
87
|
+
let ws = null;
|
|
88
|
+
let resolved = false;
|
|
89
|
+
let pendingExitCode = null;
|
|
90
|
+
let stdoutEnded = false;
|
|
91
|
+
let stderrEnded = false;
|
|
92
|
+
// The k8s client writes stdout/stderr to our PassThroughs synchronously
|
|
93
|
+
// and calls statusCallback in the same WS message handler. But `data`
|
|
94
|
+
// events on the PassThroughs fire on process.nextTick, so resolving
|
|
95
|
+
// inside statusCallback captures stdoutData/stderrData BEFORE the final
|
|
96
|
+
// bytes have been appended. Wait for both streams' `end` events (which
|
|
97
|
+
// the k8s client triggers via `stream.end()` when it processes the
|
|
98
|
+
// status frame) so all buffered data has been drained into our string
|
|
99
|
+
// accumulators before resolving.
|
|
100
|
+
//
|
|
101
|
+
// Watchdog: if the WebSocket drops silently after setup (network blip,
|
|
102
|
+
// pod OOM-killed mid-exec, apiserver restart) the statusCallback never
|
|
103
|
+
// fires and the stream `end` events never arrive. Without a timer the
|
|
104
|
+
// calling worker hangs forever. Reject with a clear error so the caller
|
|
105
|
+
// can retry or surface the failure.
|
|
106
|
+
let watchdog = null;
|
|
107
|
+
if (typeof timeoutMs === "number" && timeoutMs > 0) {
|
|
108
|
+
watchdog = setTimeout(() => {
|
|
109
|
+
if (resolved)
|
|
110
|
+
return;
|
|
111
|
+
resolved = true;
|
|
112
|
+
try {
|
|
113
|
+
ws?.close();
|
|
114
|
+
}
|
|
115
|
+
catch { /* ignore */ }
|
|
116
|
+
reject(new Error(`execInPod timed out after ${timeoutMs}ms (pod=${podName}, container=${containerName}, cmd0=${effectiveCommand[0] ?? ""}). The WebSocket likely dropped before the command produced a status frame.`));
|
|
117
|
+
}, timeoutMs);
|
|
118
|
+
}
|
|
119
|
+
const tryFinish = () => {
|
|
120
|
+
if (resolved)
|
|
121
|
+
return;
|
|
122
|
+
if (pendingExitCode === null)
|
|
123
|
+
return;
|
|
124
|
+
if (!stdoutEnded || !stderrEnded)
|
|
125
|
+
return;
|
|
126
|
+
resolved = true;
|
|
127
|
+
if (watchdog)
|
|
128
|
+
clearTimeout(watchdog);
|
|
129
|
+
try {
|
|
130
|
+
ws?.close();
|
|
131
|
+
}
|
|
132
|
+
catch { /* ignore */ }
|
|
133
|
+
resolve({ exitCode: pendingExitCode, stdout: stdoutData, stderr: stderrData });
|
|
134
|
+
};
|
|
135
|
+
// Fail the whole exec closed, tearing down the WebSocket so the pod stops
|
|
136
|
+
// streaming. Used by the stdout cap below; the `resolved` guard makes it a
|
|
137
|
+
// no-op if the exec already finished.
|
|
138
|
+
const failClosed = (err) => {
|
|
139
|
+
if (resolved)
|
|
140
|
+
return;
|
|
141
|
+
resolved = true;
|
|
142
|
+
if (watchdog)
|
|
143
|
+
clearTimeout(watchdog);
|
|
144
|
+
try {
|
|
145
|
+
ws?.close();
|
|
146
|
+
}
|
|
147
|
+
catch { /* ignore */ }
|
|
148
|
+
reject(err);
|
|
149
|
+
};
|
|
150
|
+
// Accumulate stdout inside the executor so the cap can reject before an
|
|
151
|
+
// unbounded pod payload exhausts memory. Once resolved (finished, timed
|
|
152
|
+
// out, or capped) further chunks are dropped rather than appended.
|
|
153
|
+
stdoutStream.on("data", (chunk) => {
|
|
154
|
+
if (resolved)
|
|
155
|
+
return;
|
|
156
|
+
if (typeof maxStdoutBytes === "number" && maxStdoutBytes >= 0) {
|
|
157
|
+
stdoutBytes += chunk.length;
|
|
158
|
+
if (stdoutBytes > maxStdoutBytes) {
|
|
159
|
+
failClosed(new Error(`execInPod stdout exceeded the ${maxStdoutBytes}-byte cap (pod=${podName}, container=${containerName}); the sandbox produced more output than the buffer allows.`));
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
stdoutData += chunk.toString("utf-8");
|
|
165
|
+
}
|
|
166
|
+
catch (err) {
|
|
167
|
+
// Belt-and-suspenders: even under an explicit cap (or with none set),
|
|
168
|
+
// never let a `+=` RangeError at V8's max string length escape this
|
|
169
|
+
// listener as an uncaught exception.
|
|
170
|
+
failClosed(err instanceof Error ? err : new Error(String(err)));
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
// stderr is pod-controlled too — bound it with the same fail-closed policy
|
|
174
|
+
// and, unconditionally, guard the `+=` so a max-string-length `RangeError`
|
|
175
|
+
// can never escape this listener as an uncaught (worker-crashing) exception.
|
|
176
|
+
stderrStream.on("data", (chunk) => {
|
|
177
|
+
if (resolved)
|
|
178
|
+
return;
|
|
179
|
+
if (typeof maxStderrBytes === "number" && maxStderrBytes >= 0) {
|
|
180
|
+
stderrBytes += chunk.length;
|
|
181
|
+
if (stderrBytes > maxStderrBytes) {
|
|
182
|
+
failClosed(new Error(`execInPod stderr exceeded the ${maxStderrBytes}-byte cap (pod=${podName}, container=${containerName}); the sandbox produced more output than the buffer allows.`));
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
try {
|
|
187
|
+
stderrData += chunk.toString("utf-8");
|
|
188
|
+
}
|
|
189
|
+
catch (err) {
|
|
190
|
+
failClosed(err instanceof Error ? err : new Error(String(err)));
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
stdoutStream.on("end", () => { stdoutEnded = true; tryFinish(); });
|
|
194
|
+
stderrStream.on("end", () => { stderrEnded = true; tryFinish(); });
|
|
195
|
+
const execPromise = exec.exec(namespace, podName, containerName, effectiveCommand, stdoutStream, stderrStream, stdinStream, false, // tty=false: keep stdout/stderr on separate channels
|
|
196
|
+
(status) => {
|
|
197
|
+
if (status.status === "Success") {
|
|
198
|
+
pendingExitCode = 0;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
const causes = status.details?.causes ?? [];
|
|
202
|
+
const exitCodeCause = causes.find((c) => c.reason === "ExitCode");
|
|
203
|
+
pendingExitCode = exitCodeCause?.message
|
|
204
|
+
? Number(exitCodeCause.message)
|
|
205
|
+
: 1;
|
|
206
|
+
}
|
|
207
|
+
tryFinish();
|
|
208
|
+
});
|
|
209
|
+
execPromise
|
|
210
|
+
.then((webSocket) => {
|
|
211
|
+
ws = webSocket;
|
|
212
|
+
if (stdinStream && stdinPayload) {
|
|
213
|
+
// Remove the default `end -> ws.close()` listener that k8s client
|
|
214
|
+
// attaches in handleStandardInput; it tears down the connection
|
|
215
|
+
// before the pod's command can finish flushing. We manage ws
|
|
216
|
+
// closure inside `tryFinish()` instead.
|
|
217
|
+
stdinStream.removeAllListeners("end");
|
|
218
|
+
stdinStream.end(stdinPayload);
|
|
219
|
+
}
|
|
220
|
+
else if (stdinStream) {
|
|
221
|
+
stdinStream.removeAllListeners("end");
|
|
222
|
+
stdinStream.end();
|
|
223
|
+
}
|
|
224
|
+
})
|
|
225
|
+
.catch((err) => {
|
|
226
|
+
if (resolved)
|
|
227
|
+
return;
|
|
228
|
+
resolved = true;
|
|
229
|
+
if (watchdog)
|
|
230
|
+
clearTimeout(watchdog);
|
|
231
|
+
reject(err);
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Streaming variant of {@link execInPod} for bulk file transfer over the pod
|
|
237
|
+
* exec data channel.
|
|
238
|
+
*
|
|
239
|
+
* Where `execInPod` buffers the command's whole stdout into an in-memory string
|
|
240
|
+
* (fine for small command output, fatal for a multi-gigabyte tar), this variant
|
|
241
|
+
* PIPES the exec's stdin from a caller `Readable` and its stdout into a caller
|
|
242
|
+
* `Writable` — so a native file-sync `syncIn`/`syncOut` streams raw tar bytes
|
|
243
|
+
* straight to/from a host file on disk and neither the host nor the pod ever
|
|
244
|
+
* holds the whole payload in memory. Both are intentionally kept side by side:
|
|
245
|
+
* `execInPod` still backs the `environmentExecute` path unchanged.
|
|
246
|
+
*
|
|
247
|
+
* stderr is still accumulated into a (bounded) string: it carries only the
|
|
248
|
+
* script's fail-loud diagnostics, and the pod controls how many bytes it emits,
|
|
249
|
+
* so `maxStderrBytes` fails the exec closed the instant the pod floods the
|
|
250
|
+
* channel — the same DoS guard `execInPod` applies. stdout carries no such cap
|
|
251
|
+
* here because it is streamed to disk, not a string; the caller bounds it with
|
|
252
|
+
* its own streamed-bytes guard on the sink `Writable`.
|
|
253
|
+
*
|
|
254
|
+
* Stdin EOF: the same k8s-client `stdin.on("end", () => ws.close())` quirk noted
|
|
255
|
+
* on `execInPod` applies, so we strip that listener and drive the pod command to
|
|
256
|
+
* self-terminate on the byte count instead of relying on EOF (the caller's
|
|
257
|
+
* `syncIn` script bounds its read with `head -c <N>`). We close the WebSocket
|
|
258
|
+
* ourselves from the status callback.
|
|
259
|
+
*
|
|
260
|
+
* Resolves once the command's exit status is known AND both the stdout sink has
|
|
261
|
+
* finished draining and stderr has ended, so a caller that reads the sink file
|
|
262
|
+
* back after `await` always sees the complete archive.
|
|
263
|
+
*/
|
|
264
|
+
export async function execInPodStreaming(kc, namespace, podName, containerName, command, io) {
|
|
265
|
+
const exec = new Exec(kc);
|
|
266
|
+
const stdoutStream = new PassThrough();
|
|
267
|
+
const stderrStream = new PassThrough();
|
|
268
|
+
const stdinStream = io.stdin ? new PassThrough() : null;
|
|
269
|
+
let stderrData = "";
|
|
270
|
+
let stderrBytes = 0;
|
|
271
|
+
return await new Promise((resolve, reject) => {
|
|
272
|
+
let ws = null;
|
|
273
|
+
let resolved = false;
|
|
274
|
+
let pendingExitCode = null;
|
|
275
|
+
let stdoutDone = false;
|
|
276
|
+
let stderrEnded = false;
|
|
277
|
+
let watchdog = null;
|
|
278
|
+
if (typeof io.timeoutMs === "number" && io.timeoutMs > 0) {
|
|
279
|
+
watchdog = setTimeout(() => {
|
|
280
|
+
if (resolved)
|
|
281
|
+
return;
|
|
282
|
+
resolved = true;
|
|
283
|
+
try {
|
|
284
|
+
ws?.close();
|
|
285
|
+
}
|
|
286
|
+
catch { /* ignore */ }
|
|
287
|
+
reject(new Error(`execInPodStreaming timed out after ${io.timeoutMs}ms (pod=${podName}, container=${containerName}, cmd0=${command[0] ?? ""}). The WebSocket likely dropped before the command produced a status frame.`));
|
|
288
|
+
}, io.timeoutMs);
|
|
289
|
+
}
|
|
290
|
+
const tryFinish = () => {
|
|
291
|
+
if (resolved)
|
|
292
|
+
return;
|
|
293
|
+
if (pendingExitCode === null)
|
|
294
|
+
return;
|
|
295
|
+
if (!stdoutDone || !stderrEnded)
|
|
296
|
+
return;
|
|
297
|
+
resolved = true;
|
|
298
|
+
if (watchdog)
|
|
299
|
+
clearTimeout(watchdog);
|
|
300
|
+
try {
|
|
301
|
+
ws?.close();
|
|
302
|
+
}
|
|
303
|
+
catch { /* ignore */ }
|
|
304
|
+
resolve({ exitCode: pendingExitCode, stderr: stderrData });
|
|
305
|
+
};
|
|
306
|
+
// Fail the whole exec closed, tearing down the WebSocket so the pod stops
|
|
307
|
+
// streaming. Fired by a sink error (e.g. the caller's disk guard tripping)
|
|
308
|
+
// or a stream error; the `resolved` guard makes it a no-op once finished.
|
|
309
|
+
const failClosed = (err) => {
|
|
310
|
+
if (resolved)
|
|
311
|
+
return;
|
|
312
|
+
resolved = true;
|
|
313
|
+
if (watchdog)
|
|
314
|
+
clearTimeout(watchdog);
|
|
315
|
+
try {
|
|
316
|
+
ws?.close();
|
|
317
|
+
}
|
|
318
|
+
catch { /* ignore */ }
|
|
319
|
+
try {
|
|
320
|
+
stdinStream?.destroy();
|
|
321
|
+
}
|
|
322
|
+
catch { /* ignore */ }
|
|
323
|
+
reject(err);
|
|
324
|
+
};
|
|
325
|
+
// Pipe stdout to the caller sink (streamed to disk), or drain it if the
|
|
326
|
+
// caller wants none. Piping with the default `end: true` ends the sink when
|
|
327
|
+
// the pod's stdout closes, so the sink's `finish` marks the archive fully
|
|
328
|
+
// written. A sink error (the caller's streamed-bytes guard, a full disk)
|
|
329
|
+
// fails the exec closed and stops the pod.
|
|
330
|
+
if (io.stdout) {
|
|
331
|
+
const sink = io.stdout;
|
|
332
|
+
sink.on("error", failClosed);
|
|
333
|
+
stdoutStream.on("error", failClosed);
|
|
334
|
+
sink.on("finish", () => { stdoutDone = true; tryFinish(); });
|
|
335
|
+
stdoutStream.pipe(sink);
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
stdoutStream.on("data", () => { });
|
|
339
|
+
stdoutStream.on("end", () => { stdoutDone = true; tryFinish(); });
|
|
340
|
+
stdoutStream.on("error", failClosed);
|
|
341
|
+
}
|
|
342
|
+
// stderr is pod-controlled — bound it with the same fail-closed policy as
|
|
343
|
+
// execInPod and guard the `+=` so a max-string-length RangeError can never
|
|
344
|
+
// escape as an uncaught (worker-crashing) exception.
|
|
345
|
+
stderrStream.on("data", (chunk) => {
|
|
346
|
+
if (resolved)
|
|
347
|
+
return;
|
|
348
|
+
if (typeof io.maxStderrBytes === "number" && io.maxStderrBytes >= 0) {
|
|
349
|
+
stderrBytes += chunk.length;
|
|
350
|
+
if (stderrBytes > io.maxStderrBytes) {
|
|
351
|
+
failClosed(new Error(`execInPodStreaming stderr exceeded the ${io.maxStderrBytes}-byte cap (pod=${podName}, container=${containerName}); the sandbox produced more diagnostics than the buffer allows.`));
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
try {
|
|
356
|
+
stderrData += chunk.toString("utf-8");
|
|
357
|
+
}
|
|
358
|
+
catch (err) {
|
|
359
|
+
failClosed(err instanceof Error ? err : new Error(String(err)));
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
stderrStream.on("end", () => { stderrEnded = true; tryFinish(); });
|
|
363
|
+
const execPromise = exec.exec(namespace, podName, containerName, command, stdoutStream, stderrStream, stdinStream, false, // tty=false: keep stdout/stderr on separate channels
|
|
364
|
+
(status) => {
|
|
365
|
+
if (status.status === "Success") {
|
|
366
|
+
pendingExitCode = 0;
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
const causes = status.details?.causes ?? [];
|
|
370
|
+
const exitCodeCause = causes.find((c) => c.reason === "ExitCode");
|
|
371
|
+
pendingExitCode = exitCodeCause?.message ? Number(exitCodeCause.message) : 1;
|
|
372
|
+
}
|
|
373
|
+
tryFinish();
|
|
374
|
+
});
|
|
375
|
+
execPromise
|
|
376
|
+
.then((webSocket) => {
|
|
377
|
+
ws = webSocket;
|
|
378
|
+
if (stdinStream && io.stdin) {
|
|
379
|
+
// Strip the default `end -> ws.close()` listener (see execInPod) so
|
|
380
|
+
// EOF on our stdin only signals the pod, then stream the caller's
|
|
381
|
+
// source into the exec stdin channel. A source error fails closed.
|
|
382
|
+
stdinStream.removeAllListeners("end");
|
|
383
|
+
io.stdin.on("error", failClosed);
|
|
384
|
+
io.stdin.pipe(stdinStream);
|
|
385
|
+
}
|
|
386
|
+
else if (stdinStream) {
|
|
387
|
+
stdinStream.removeAllListeners("end");
|
|
388
|
+
stdinStream.end();
|
|
389
|
+
}
|
|
390
|
+
})
|
|
391
|
+
.catch((err) => {
|
|
392
|
+
if (resolved)
|
|
393
|
+
return;
|
|
394
|
+
resolved = true;
|
|
395
|
+
if (watchdog)
|
|
396
|
+
clearTimeout(watchdog);
|
|
397
|
+
reject(err);
|
|
398
|
+
});
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
//# sourceMappingURL=pod-exec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pod-exec.js","sourceRoot":"","sources":["../src/pod-exec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface BuildJobManifestInput {
|
|
2
|
+
namespace: string;
|
|
3
|
+
jobName: string;
|
|
4
|
+
adapterType: string;
|
|
5
|
+
image: string;
|
|
6
|
+
envSecretName: string;
|
|
7
|
+
serviceAccountName: string;
|
|
8
|
+
labels: Record<string, string>;
|
|
9
|
+
resources: {
|
|
10
|
+
requests?: {
|
|
11
|
+
cpu?: string;
|
|
12
|
+
memory?: string;
|
|
13
|
+
};
|
|
14
|
+
limits?: {
|
|
15
|
+
cpu?: string;
|
|
16
|
+
memory?: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
runtimeClassName?: string;
|
|
20
|
+
activeDeadlineSec: number;
|
|
21
|
+
ttlSecondsAfterFinished: number;
|
|
22
|
+
imagePullSecrets?: string[];
|
|
23
|
+
}
|
|
24
|
+
export declare function buildJobManifest(input: BuildJobManifestInput): Record<string, unknown>;
|
|
25
|
+
//# sourceMappingURL=pod-spec-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pod-spec-builder.d.ts","sourceRoot":"","sources":["../src/pod-spec-builder.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE;QACT,QAAQ,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7C,MAAM,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5C,CAAC;IACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgFtF"}
|