signalk-container 1.35.2 → 1.35.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"devices.js","sourceRoot":"","sources":["../src/devices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../src/devices.ts"],"names":[],"mappings":"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"}
package/dist/jobs.d.ts CHANGED
@@ -8,6 +8,28 @@ export { userMappingFlags, _setCurrentHostIdsForTesting } from "./runtime.js";
8
8
  * the progress callbacks, then `wait()` for the exit code.
9
9
  */
10
10
  export declare function runJob(runtime: ContainerRuntimeInfo, config: ContainerJobConfig, client?: ContainerClient): Promise<ContainerJobResult>;
11
+ /**
12
+ * Force-remove a job container, giving up after `timeoutMs`. Resolves with
13
+ * the reason it failed, or `undefined` once it is gone (a 404 counts).
14
+ *
15
+ * Exposed for unit tests.
16
+ */
17
+ export declare function removeJobContainer(client: ContainerClient, jobName: string, timeoutMs?: number): Promise<string | undefined>;
18
+ /**
19
+ * Call `onElapsed` once `seconds` have passed, re-arming the timer across
20
+ * setTimeout's maximum delay. Returns a function that cancels it.
21
+ *
22
+ * Exposed for unit tests.
23
+ */
24
+ export declare function startDeadline(seconds: number, onElapsed: () => void): () => void;
25
+ /**
26
+ * Cut `line` into pieces of at most `max` UTF-16 code units, never between
27
+ * the two halves of a surrogate pair. The last piece is whatever remains and
28
+ * may be shorter (or empty).
29
+ *
30
+ * Exposed for unit tests.
31
+ */
32
+ export declare function splitLongLine(line: string, max?: number): string[];
11
33
  /**
12
34
  * Build an `OrphanJobInfo` from a dockerode container summary, or null if
13
35
  * it isn't ours. Labels come back as a structured object (no decoding
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACd,MAAM,YAAY,CAAC;AAUpB,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAI9E;;;;;GAKG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,eAA6B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAyO7B;AAuDD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACxE,aAAa,EAAE,MAAM,GACpB,aAAa,GAAG,IAAI,CAyBtB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,eAA6B,GACpC,OAAO,CAAC,oBAAoB,CAAC,CA8C/B"}
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACd,MAAM,YAAY,CAAC;AAUpB,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAiB9E;;;;;GAKG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,eAA6B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAuU7B;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAA0B,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkB7B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,IAAI,GACpB,MAAM,IAAI,CAaZ;AAgGD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAgC,GACpC,MAAM,EAAE,CAkBV;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACxE,aAAa,EAAE,MAAM,GACpB,aAAa,GAAG,IAAI,CAyBtB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,eAA6B,GACpC,OAAO,CAAC,oBAAoB,CAAC,CA8C/B"}
package/dist/jobs.js CHANGED
@@ -12,6 +12,19 @@ import { describeError, messageWithRaw } from "./errors.js";
12
12
  // can share the same decision matrix without an import cycle.
13
13
  export { userMappingFlags, _setCurrentHostIdsForTesting } from "./runtime.js";
14
14
  const JOB_LOG_MAX_LINES = 200;
15
+ // A job that writes without newlines would otherwise grow the pending line
16
+ // inside the Signal K process without bound; longer runs are passed on in
17
+ // pieces of this many characters.
18
+ const JOB_LOG_MAX_LINE_LENGTH = 16 * 1024;
19
+ // setTimeout fires at once for any delay above 2^31-1 ms (~24.8 days), so a
20
+ // longer run-phase timeout is re-armed in steps of at most this size.
21
+ const MAX_TIMER_DELAY_MS = 2 ** 31 - 1;
22
+ // How long a job container's force-remove may take before runJob stops
23
+ // waiting for it, so a daemon that stops answering cannot keep a job pending.
24
+ const REMOVE_TIMEOUT_MS = 10_000;
25
+ // How long a job that has exited may still wait for its log stream: to attach
26
+ // once the deadline has passed, and to end once the container is gone.
27
+ const LOG_ATTACH_GRACE_MS = 10_000;
15
28
  /**
16
29
  * Run a one-shot helper container to completion, streaming progress.
17
30
  * dockerode replaces the former `run --rm` CLI: create with
@@ -44,6 +57,21 @@ export async function runJob(runtime, config, client = getClient()) {
44
57
  // rather than the synthetic exit-1 "failed" that force-removing produces.
45
58
  let aborted = false;
46
59
  let onAbort;
60
+ // Same idea for the run-phase deadline: a timed-out job reports why it
61
+ // stopped instead of the exit status the force-remove produces.
62
+ let timedOut = false;
63
+ let cancelDeadline = () => { };
64
+ let graceTimer;
65
+ // Once runJob has reported, no further log line reaches the result or the
66
+ // caller's callbacks.
67
+ let stopLogs = () => { };
68
+ // Settles when the deadline fires, so a job whose force-remove fails (and
69
+ // whose wait() therefore never returns) still resolves.
70
+ let deadlineReached = new Promise(() => { });
71
+ let timeoutRemoveError;
72
+ const timedOutError = () => timeoutRemoveError === undefined
73
+ ? `Job timed out after ${config.timeout}s`
74
+ : `Job timed out after ${config.timeout}s, and its container could not be removed: ${timeoutRemoveError}`;
47
75
  try {
48
76
  const exists = await safeInspect(() => client.getImage(image).inspect());
49
77
  if (exists === null) {
@@ -153,12 +181,43 @@ export async function runJob(runtime, config, client = getClient()) {
153
181
  };
154
182
  const container = await client.createContainer(createOpts);
155
183
  await container.start();
184
+ // Await the exit from here on, not only once the log stream is attached,
185
+ // so a deadline that fires while the logs attach can tell a job that has
186
+ // already exited from one that overran.
187
+ const exited = container.wait();
188
+ let hasExited = false;
189
+ exited.then(() => {
190
+ hasExited = true;
191
+ }, () => { });
192
+ if (config.timeout !== undefined &&
193
+ Number.isFinite(config.timeout) &&
194
+ config.timeout > 0) {
195
+ const seconds = config.timeout;
196
+ deadlineReached = new Promise((resolve) => {
197
+ cancelDeadline = startDeadline(seconds, () => {
198
+ if (hasExited) {
199
+ // The job finished in time; give a log request still attaching a
200
+ // last bounded chance rather than reporting a timeout.
201
+ graceTimer = setTimeout(resolve, LOG_ATTACH_GRACE_MS);
202
+ return;
203
+ }
204
+ timedOut = true;
205
+ void removeJobContainer(client, jobName).then((failure) => {
206
+ timeoutRemoveError = failure;
207
+ resolve();
208
+ });
209
+ });
210
+ });
211
+ }
156
212
  // Cancellation: force-removing the running container makes the pending
157
213
  // wait() below reject — the same path a daemon-side disappearance takes —
158
214
  // so an aborted job unwinds through the existing wait-failure handling.
159
215
  // The `aborted` flag distinguishes that from a genuine wait() failure.
160
216
  if (config.signal) {
161
217
  onAbort = () => {
218
+ // A job that already exited keeps its own outcome.
219
+ if (hasExited)
220
+ return;
162
221
  aborted = true;
163
222
  void safe(() => client.getContainer(jobName).remove({ force: true }));
164
223
  };
@@ -168,19 +227,52 @@ export async function runJob(runtime, config, client = getClient()) {
168
227
  // not-yet-started container comes back empty/immediately-closed on podman
169
228
  // (verified live), losing all output; opening it post-start replays the
170
229
  // container's buffered output from the beginning, so nothing is missed.
171
- const stream = await container.logs({
230
+ // Raced against the deadline so a log request that never answers cannot
231
+ // keep a timed-out job pending.
232
+ const logsRequest = container.logs({
172
233
  follow: true,
173
234
  stdout: true,
174
235
  stderr: true,
175
236
  });
176
- const drained = wireJobLogStream(client, stream, pushLog, config.onProgress, config.onStdoutLine, config.onStderrLine);
177
- const waitResult = await safe(() => container.wait());
237
+ const stream = await Promise.race([
238
+ logsRequest,
239
+ deadlineReached.then(() => null),
240
+ ]);
241
+ if (stream === null) {
242
+ // Release a stream that answers after we stopped waiting for it.
243
+ logsRequest.then(destroyStream, () => { });
244
+ if (timedOut)
245
+ throw new Error(timedOutError());
246
+ }
247
+ let drained = Promise.resolve();
248
+ if (stream !== null) {
249
+ const wired = wireJobLogStream(client, stream, pushLog, config.onProgress, config.onStdoutLine, config.onStderrLine);
250
+ drained = wired.drained;
251
+ stopLogs = wired.stop;
252
+ }
253
+ const waitResult = await safe(() => Promise.race([exited, deadlineReached]));
254
+ // A job that exited in time must not be marked timed out while its log
255
+ // stream drains.
256
+ cancelDeadline();
178
257
  const exitCode = waitResult.ok
179
- ? (waitResult.value.StatusCode ?? 0)
258
+ ? // undefined when the deadline won the race
259
+ (waitResult.value
260
+ ?.StatusCode ?? 0)
180
261
  : 1;
181
262
  // Let the log stream finish flushing before we report — the follow
182
- // stream's `end` can lag the container's exit by a tick.
183
- await drained;
263
+ // stream's `end` can lag the container's exit by a tick. Bounded, so a
264
+ // stream that never ends cannot hold back the result and the cleanup;
265
+ // removing the container below closes it.
266
+ if (!timedOut) {
267
+ let drainTimer;
268
+ await Promise.race([
269
+ drained,
270
+ new Promise((resolve) => {
271
+ drainTimer = setTimeout(resolve, LOG_ATTACH_GRACE_MS);
272
+ }),
273
+ ]);
274
+ clearTimeout(drainTimer);
275
+ }
184
276
  result.log = log;
185
277
  result.completedAt = new Date().toISOString();
186
278
  if (aborted) {
@@ -190,6 +282,10 @@ export async function runJob(runtime, config, client = getClient()) {
190
282
  result.status = "cancelled";
191
283
  result.error = "Job cancelled";
192
284
  }
285
+ else if (timedOut) {
286
+ result.status = "failed";
287
+ result.error = timedOutError();
288
+ }
193
289
  else {
194
290
  result.exitCode = exitCode;
195
291
  result.status = exitCode === 0 ? "completed" : "failed";
@@ -210,6 +306,10 @@ export async function runJob(runtime, config, client = getClient()) {
210
306
  result.status = "cancelled";
211
307
  result.error = "Job cancelled";
212
308
  }
309
+ else if (timedOut) {
310
+ result.status = "failed";
311
+ result.error = timedOutError();
312
+ }
213
313
  else {
214
314
  result.status = "failed";
215
315
  // `safe()`/`safeInspect()` flatten the error to a generic userMessage and
@@ -219,6 +319,9 @@ export async function runJob(runtime, config, client = getClient()) {
219
319
  }
220
320
  }
221
321
  finally {
322
+ cancelDeadline();
323
+ clearTimeout(graceTimer);
324
+ stopLogs();
222
325
  if (config.signal && onAbort) {
223
326
  config.signal.removeEventListener("abort", onAbort);
224
327
  }
@@ -226,52 +329,167 @@ export async function runJob(runtime, config, client = getClient()) {
226
329
  // the happy path and a create-but-never-started failure; `force: true`
227
330
  // stops it first if still running, and a 404 (already gone) is benign.
228
331
  // `safe()` never throws — it returns a result — so no catch is needed.
229
- await safe(() => client.getContainer(jobName).remove({ force: true }));
332
+ await removeJobContainer(client, jobName);
230
333
  }
231
334
  return result;
232
335
  }
336
+ /**
337
+ * Force-remove a job container, giving up after `timeoutMs`. Resolves with
338
+ * the reason it failed, or `undefined` once it is gone (a 404 counts).
339
+ *
340
+ * Exposed for unit tests.
341
+ */
342
+ export async function removeJobContainer(client, jobName, timeoutMs = REMOVE_TIMEOUT_MS) {
343
+ let timer;
344
+ const gaveUp = new Promise((resolve) => {
345
+ timer = setTimeout(() => resolve(`no answer within ${timeoutMs / 1000}s`), timeoutMs);
346
+ });
347
+ const removed = safe(() => client.getContainer(jobName).remove({ force: true })).then((r) => r.ok || r.error.kind === "not-found" ? undefined : r.error.raw);
348
+ try {
349
+ return await Promise.race([removed, gaveUp]);
350
+ }
351
+ finally {
352
+ clearTimeout(timer);
353
+ }
354
+ }
355
+ /**
356
+ * Call `onElapsed` once `seconds` have passed, re-arming the timer across
357
+ * setTimeout's maximum delay. Returns a function that cancels it.
358
+ *
359
+ * Exposed for unit tests.
360
+ */
361
+ export function startDeadline(seconds, onElapsed) {
362
+ const at = Date.now() + seconds * 1000;
363
+ let timer;
364
+ const arm = () => {
365
+ const remaining = at - Date.now();
366
+ if (remaining <= 0) {
367
+ onElapsed();
368
+ return;
369
+ }
370
+ timer = setTimeout(arm, Math.min(remaining, MAX_TIMER_DELAY_MS));
371
+ };
372
+ arm();
373
+ return () => clearTimeout(timer);
374
+ }
233
375
  /**
234
376
  * Demux a job's follow-mode log stream line-wise into the progress/stdout/
235
377
  * stderr callbacks. dockerode multiplexes stdout/stderr with 8-byte frame
236
378
  * headers, so we split via `modem.demuxStream` and line-buffer each side.
237
379
  *
238
- * Returns a promise that resolves when the source stream ends, so `runJob`
239
- * can await full log drain before returning (the stream can outlive
240
- * `container.wait()` by a tick).
380
+ * `drained` resolves once the source stream has ended and every buffered
381
+ * line has been flushed, so `runJob` can await full log drain before
382
+ * returning (the stream can outlive `container.wait()` by a tick).
241
383
  */
242
384
  function wireJobLogStream(client, stream, pushLog, onProgress, onStdoutLine, onStderrLine) {
243
385
  const stdout = new PassThrough();
244
386
  const stderr = new PassThrough();
387
+ let stopped = false;
388
+ const emit = (line, onLine) => {
389
+ if (stopped)
390
+ return;
391
+ pushLog(line);
392
+ onProgress?.(line);
393
+ onLine?.(line);
394
+ };
395
+ const flushes = [];
245
396
  const lineBuffer = (sink, onLine) => {
246
397
  let buf = "";
398
+ const flush = () => {
399
+ if (buf.length > 0)
400
+ emit(buf, onLine);
401
+ buf = "";
402
+ };
403
+ flushes.push(flush);
404
+ // Decode across chunks, so a character split between two log frames
405
+ // survives intact.
406
+ sink.setEncoding("utf8");
247
407
  sink.on("data", (chunk) => {
248
- buf += chunk.toString("utf8");
408
+ buf += chunk;
249
409
  const parts = buf.split(/\r\n|\r|\n/);
250
410
  buf = parts.pop() ?? "";
251
- for (const part of parts) {
411
+ const pending = splitLongLine(buf);
412
+ buf = pending.pop() ?? "";
413
+ for (const part of [...parts, ...pending]) {
252
414
  if (part.length === 0)
253
415
  continue;
254
- pushLog(part);
255
- onProgress?.(part);
256
- onLine?.(part);
257
- }
258
- });
259
- sink.on("end", () => {
260
- if (buf.length > 0) {
261
- pushLog(buf);
262
- onProgress?.(buf);
263
- onLine?.(buf);
416
+ for (const piece of splitLongLine(part))
417
+ emit(piece, onLine);
264
418
  }
265
419
  });
420
+ sink.on("end", flush);
266
421
  };
267
422
  lineBuffer(stdout, onStdoutLine);
268
423
  lineBuffer(stderr, onStderrLine);
424
+ const drained = Promise.all([
425
+ new Promise((resolve) => stdout.on("end", resolve)),
426
+ new Promise((resolve) => stderr.on("end", resolve)),
427
+ ]).then(() => undefined);
269
428
  client.modem.demuxStream(stream, stdout, stderr);
270
- return new Promise((resolve) => {
271
- stream.on("end", resolve);
272
- stream.on("close", resolve);
273
- stream.on("error", () => resolve());
274
- });
429
+ // demuxStream writes frames into the sinks but never ends them, so the
430
+ // trailing unterminated line would never be flushed without this.
431
+ const endSinks = () => {
432
+ if (!stdout.writableEnded)
433
+ stdout.end();
434
+ if (!stderr.writableEnded)
435
+ stderr.end();
436
+ };
437
+ stream.on("end", endSinks);
438
+ stream.on("close", endSinks);
439
+ stream.on("error", endSinks);
440
+ return {
441
+ drained,
442
+ stop: () => {
443
+ if (stopped)
444
+ return;
445
+ for (const flush of flushes) {
446
+ try {
447
+ flush();
448
+ }
449
+ catch {
450
+ // A throwing consumer callback must not skip the cleanup below or
451
+ // the container removal after it.
452
+ }
453
+ }
454
+ stopped = true;
455
+ // Release a stream the daemon left open, so it holds no connection.
456
+ destroyStream(stream);
457
+ stdout.destroy();
458
+ stderr.destroy();
459
+ },
460
+ };
461
+ }
462
+ function destroyStream(stream) {
463
+ stream.destroy?.();
464
+ }
465
+ /**
466
+ * Cut `line` into pieces of at most `max` UTF-16 code units, never between
467
+ * the two halves of a surrogate pair. The last piece is whatever remains and
468
+ * may be shorter (or empty).
469
+ *
470
+ * Exposed for unit tests.
471
+ */
472
+ export function splitLongLine(line, max = JOB_LOG_MAX_LINE_LENGTH) {
473
+ if (!Number.isInteger(max) || max < 1) {
474
+ throw new RangeError(`max must be a positive integer, got ${max}`);
475
+ }
476
+ const pieces = [];
477
+ let start = 0;
478
+ while (line.length - start > max) {
479
+ let end = start + max;
480
+ // Step back only when the piece keeps at least one code unit, so a
481
+ // limit too small for the pair still advances.
482
+ if (end - 1 > start && isHighSurrogate(line.charCodeAt(end - 1))) {
483
+ end -= 1;
484
+ }
485
+ pieces.push(line.slice(start, end));
486
+ start = end;
487
+ }
488
+ pieces.push(line.slice(start));
489
+ return pieces;
490
+ }
491
+ function isHighSurrogate(code) {
492
+ return code >= 0xd800 && code <= 0xdbff;
275
493
  }
276
494
  /**
277
495
  * Build an `OrphanJobInfo` from a dockerode container summary, or null if
package/dist/jobs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { ContainerRuntimeInfo, RuntimeName, RuntimePreference, UserMappingPayload } from "./types.js";
2
+ import { type ContainerClient } from "./client.js";
2
3
  /**
3
4
  * Detect if the Signal K server is itself running inside a container.
4
5
  * Indicators:
@@ -65,6 +66,12 @@ type UserMappingIntent = {
65
66
  * container doesn't write to a host-owned bind mount).
66
67
  * - host UID resolver returns null (Windows) → no flag. Docker
67
68
  * Desktop / Windows handles UID translation internally.
69
+ * - Podman whose rootless reading is unknown (`isRootless` null) → no
70
+ * flag. The rootful branch's `User` would run a rootless container as
71
+ * the host caller's UID, and drift detection would then recreate every
72
+ * managed container to match a guess; keep-id would fail outright on a
73
+ * rootful daemon. With no flag the container keeps the runtime's
74
+ * default mapping.
68
75
  * - rootless Podman with `disableUserNamespaceRemap` active → no
69
76
  * flag. Used on hosts whose backing filesystem refuses kernel
70
77
  * idmapped mounts (ZFS being the canonical case). Container runs
@@ -147,8 +154,8 @@ interface DaemonInfo {
147
154
  * - `SecurityOptions` containing a `name=rootless` entry (rootless
148
155
  * podman lists it; docker lists `name=cgroupns` etc. but not
149
156
  * rootless)
150
- * `null` stays advisory ("not probed") — treated as not-rootless by the
151
- * userns matrix, the safe default for docker.
157
+ * `null` means "not probed": `userMappingFlags` then emits no mapping for
158
+ * podman, and docker takes its usual `User` path.
152
159
  */
153
160
  /**
154
161
  * Daemon CPU count from `/info`, or `null` when absent or not a positive
@@ -157,6 +164,14 @@ interface DaemonInfo {
157
164
  * field existed.
158
165
  */
159
166
  export declare function hostCpusFromInfo(info: DaemonInfo): number | null;
167
+ /**
168
+ * Whether rootful-only facilities apply: device cgroup rules and the system
169
+ * `fs.nr_open` ceiling. On podman only an explicit `false` counts, because an
170
+ * unknown reading is not rootful and those facilities fail or mislead under a
171
+ * rootless daemon. Docker's reading is advisory, so there only an explicit
172
+ * rootless rules them out.
173
+ */
174
+ export declare function isKnownRootful(runtime: Pick<ContainerRuntimeInfo, "runtime" | "isRootless">): boolean;
160
175
  /**
161
176
  * cgroup v2 controllers available to the runtime, read from the kernel
162
177
  * (`/sys/fs/cgroup/cgroup.controllers`) rather than `info()`. dockerode
@@ -181,10 +196,27 @@ export declare function hostCpusFromInfo(info: DaemonInfo): number | null;
181
196
  * there fails container creation outright ("the requested cgroup
182
197
  * controller `cpu` is not available"), so for rootless podman the user
183
198
  * manager's file is read first and the root file is the fallback.
199
+ * An unknown rootless reading returns `null` as well: neither file can be
200
+ * trusted to be the one the containers land under.
184
201
  */
185
202
  export declare function probeCgroupControllers(runtime: RuntimeName, rootless: boolean | null, read?: (path: string) => Promise<string>, uid?: number | undefined): Promise<string[] | null>;
186
203
  export declare function supportsKeepIdSize(version: string | null): boolean;
187
204
  export declare function honoursVolumeSubpath(version: string | null): boolean;
205
+ /** Test-only override for the pause between `/info` tries. `null` restores it. */
206
+ export declare function _setInfoRetryDelayForTesting(ms: number | null): void;
207
+ /** Test-only override for one `/info` try's deadline. `null` restores it. */
208
+ export declare function _setInfoTimeoutForTesting(ms: number | null): void;
209
+ /**
210
+ * The daemon's `/info` and whether it runs rootless. Podman's API answers
211
+ * slowly while every container starts at once and can drop a call then, and
212
+ * one failed read used to leave `isRootless` unknown for the whole run. So
213
+ * `/info` is tried again, each try aborted at a deadline, and for podman
214
+ * `/libpod/info` is asked when the compat answer still settles nothing.
215
+ */
216
+ export declare function probeDaemon(client: Pick<ContainerClient, "info" | "modem">, runtime: ContainerRuntimeInfo["runtime"]): Promise<{
217
+ info: DaemonInfo;
218
+ isRootless: boolean | null;
219
+ }>;
188
220
  /**
189
221
  * Resolve the container runtime. Forwards to the real probe unless a test has
190
222
  * substituted one — the indirection exists so a test can hold detection
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}