rightsize 0.7.13 → 0.7.15

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.
Files changed (46) hide show
  1. package/README.md +3 -1
  2. package/dist/backend-msb/agent-relay.d.ts +47 -0
  3. package/dist/backend-msb/agent-relay.d.ts.map +1 -0
  4. package/dist/backend-msb/agent-relay.js +50 -0
  5. package/dist/backend-msb/agent-relay.js.map +1 -0
  6. package/dist/backend-msb/backend.d.ts +67 -24
  7. package/dist/backend-msb/backend.d.ts.map +1 -1
  8. package/dist/backend-msb/backend.js +144 -26
  9. package/dist/backend-msb/backend.js.map +1 -1
  10. package/dist/backend-msb/commands.d.ts +37 -20
  11. package/dist/backend-msb/commands.d.ts.map +1 -1
  12. package/dist/backend-msb/commands.js +72 -39
  13. package/dist/backend-msb/commands.js.map +1 -1
  14. package/dist/backend-msb/exec-tunnel.d.ts +8 -6
  15. package/dist/backend-msb/exec-tunnel.d.ts.map +1 -1
  16. package/dist/backend-msb/exec-tunnel.js +18 -11
  17. package/dist/backend-msb/exec-tunnel.js.map +1 -1
  18. package/dist/backend-msb/invoke.d.ts +7 -7
  19. package/dist/backend-msb/invoke.js +7 -7
  20. package/dist/backend-msb/provisioner.d.ts +1 -1
  21. package/dist/backend-msb/provisioner.js +1 -1
  22. package/dist/backend-msb/restore-missing-bindings.d.ts +38 -0
  23. package/dist/backend-msb/restore-missing-bindings.d.ts.map +1 -0
  24. package/dist/backend-msb/restore-missing-bindings.js +40 -0
  25. package/dist/backend-msb/restore-missing-bindings.js.map +1 -0
  26. package/dist/core/backend.d.ts +6 -0
  27. package/dist/core/backend.d.ts.map +1 -1
  28. package/dist/core/checkpoint/copied-files.d.ts +16 -0
  29. package/dist/core/checkpoint/copied-files.d.ts.map +1 -0
  30. package/dist/core/checkpoint/copied-files.js +29 -0
  31. package/dist/core/checkpoint/copied-files.js.map +1 -0
  32. package/dist/core/errors.d.ts +67 -1
  33. package/dist/core/errors.d.ts.map +1 -1
  34. package/dist/core/errors.js +82 -2
  35. package/dist/core/errors.js.map +1 -1
  36. package/dist/core/generic-container.d.ts +28 -4
  37. package/dist/core/generic-container.d.ts.map +1 -1
  38. package/dist/core/generic-container.js +38 -4
  39. package/dist/core/generic-container.js.map +1 -1
  40. package/dist/core/model.d.ts +12 -3
  41. package/dist/core/model.d.ts.map +1 -1
  42. package/dist/index.d.ts +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"exec-tunnel.js","sourceRoot":"","sources":["../../src/backend-msb/exec-tunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-tunnel.js","sourceRoot":"","sources":["../../src/backend-msb/exec-tunnel.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import type { ExecResult } from "../core/model.js";
2
2
  /**
3
- * Every msb child this backend spawns gets a closed/null stdin. `msb exec`
4
- * (and, empirically, plain `msb run`/`logs`/`ls` too) forwards a held-open
5
- * stdin pipe straight through and blocks on it hitting EOF — a Node
6
- * `"pipe"` stdin option never closes on its own, so any child spawned that
7
- * way hangs forever the instant msb tries to read from it. `"ignore"`
8
- * signals EOF immediately, which is exactly what every non-interactive
9
- * invocation here wants.
3
+ * Every msb child this backend spawns, other than the exec tunnel's, gets a
4
+ * closed/null stdin. `msb exec` forwards a non-terminal stdin to the guest
5
+ * command while it runs (before msb 0.7.5 it read host stdin to EOF before
6
+ * starting the command, so a held-open pipe hung the call). A Node `"pipe"`
7
+ * stdin option never closes on its own, so a guest command that reads stdin
8
+ * would wait on input nobody sends. `"ignore"` signals EOF immediately, which
9
+ * is exactly what every non-interactive invocation here wants.
10
10
  */
11
11
  export declare const CLOSED_STDIN: "ignore";
12
12
  /**
@@ -2,13 +2,13 @@ import { spawn } from "node:child_process";
2
2
  import * as readline from "node:readline";
3
3
  import { BackendError } from "../core/errors.js";
4
4
  /**
5
- * Every msb child this backend spawns gets a closed/null stdin. `msb exec`
6
- * (and, empirically, plain `msb run`/`logs`/`ls` too) forwards a held-open
7
- * stdin pipe straight through and blocks on it hitting EOF — a Node
8
- * `"pipe"` stdin option never closes on its own, so any child spawned that
9
- * way hangs forever the instant msb tries to read from it. `"ignore"`
10
- * signals EOF immediately, which is exactly what every non-interactive
11
- * invocation here wants.
5
+ * Every msb child this backend spawns, other than the exec tunnel's, gets a
6
+ * closed/null stdin. `msb exec` forwards a non-terminal stdin to the guest
7
+ * command while it runs (before msb 0.7.5 it read host stdin to EOF before
8
+ * starting the command, so a held-open pipe hung the call). A Node `"pipe"`
9
+ * stdin option never closes on its own, so a guest command that reads stdin
10
+ * would wait on input nobody sends. `"ignore"` signals EOF immediately, which
11
+ * is exactly what every non-interactive invocation here wants.
12
12
  */
13
13
  export const CLOSED_STDIN = "ignore";
14
14
  function drainLines(stream, onLine) {
@@ -4,7 +4,7 @@ import type { Platform } from "./platform.js";
4
4
  * while msb 0.6.10-0.6.13 were broken on Windows (fixed upstream in 0.6.14).
5
5
  * MSB_PATH users on Windows must avoid 0.6.10-0.6.13.
6
6
  */
7
- export declare const MSB_VERSION = "0.7.3";
7
+ export declare const MSB_VERSION = "0.7.8";
8
8
  /** Test seam: the full resolution logic parameterized over the release base URL, cache dir, and environment. */
9
9
  export declare function ensureInstalledAt(baseUrl: string, cacheDir: string, env: Record<string, string | undefined>): Promise<string>;
10
10
  /** Resolves (downloading and verifying if needed) a runnable `msb` binary path, using the real GitHub release base, `RIGHTSIZE_CACHE_DIR`, and `process.env`. */
@@ -12,7 +12,7 @@ import { PlatformInfo } from "./platform.js";
12
12
  * while msb 0.6.10-0.6.13 were broken on Windows (fixed upstream in 0.6.14).
13
13
  * MSB_PATH users on Windows must avoid 0.6.10-0.6.13.
14
14
  */
15
- export const MSB_VERSION = "0.7.3";
15
+ export const MSB_VERSION = "0.7.8";
16
16
  function releaseBaseUrl(version) {
17
17
  return `https://github.com/superradcompany/microsandbox/releases/download/v${version}`;
18
18
  }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * True if `output` (an `msb restore` invocation's combined stdout/stderr) is
3
+ * msb refusing to restore a snapshot whose source sandbox had files copied in
4
+ * at start (`withCopyFileToContainer`), because the restore did not supply a
5
+ * destination for each of them. A copied file is a start-time bind mount of a
6
+ * host file, so the snapshot holds no content for it; msb 0.7.8 records the
7
+ * mount in the snapshots it creates and refuses to restore without it.
8
+ * Captured from msb 0.7.8:
9
+ *
10
+ * ```text
11
+ * error: invalid config: restore requires destination bindings for: mount /etc/app/b.conf; provide a destination mount for each path or explicitly allow missing resources
12
+ * → map each path with -v SOURCE:GUEST or --mount-disk SOURCE:GUEST
13
+ * → or pass --allow-missing-resources to start without them
14
+ * ```
15
+ *
16
+ * The 0.7.6 binary carries the same sentence with `invalid config:` missing
17
+ * in front and a different tail (`; provide --volume mappings, select
18
+ * captured disks with --volume GUEST, or explicitly use
19
+ * --allow-missing-resources`), used for other restore shapes. A snapshot
20
+ * taken by 0.7.6 does not carry the mount record, so restoring it never
21
+ * produces this refusal: the file comes back empty.
22
+ *
23
+ * Matches only the stable sentence `restore requires destination bindings
24
+ * for`, with any run of whitespace (a wrapped line included) between the
25
+ * words. It does not depend on the `invalid config:` prefix, the version-
26
+ * specific tail, the hint lines, the arrows or the line structure, all of
27
+ * which change with the msb version and with how a Windows host captures the
28
+ * output (PowerShell decorates the first line with `msb.exe : ` and mangles
29
+ * the arrow). The entries after `for:` can be disk entries as well as `mount
30
+ * <path>`, so nothing here parses them.
31
+ *
32
+ * The caller must not retry on a match: the same restore is refused the same
33
+ * way every time. It must also never answer the refusal by passing
34
+ * `--allow-missing-resources`, which would start the sandbox with the copied
35
+ * files silently absent.
36
+ */
37
+ export declare function isRestoreMissingBindingsFailure(output: string): boolean;
38
+ //# sourceMappingURL=restore-missing-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-missing-bindings.d.ts","sourceRoot":"","sources":["../../src/backend-msb/restore-missing-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvE"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * True if `output` (an `msb restore` invocation's combined stdout/stderr) is
3
+ * msb refusing to restore a snapshot whose source sandbox had files copied in
4
+ * at start (`withCopyFileToContainer`), because the restore did not supply a
5
+ * destination for each of them. A copied file is a start-time bind mount of a
6
+ * host file, so the snapshot holds no content for it; msb 0.7.8 records the
7
+ * mount in the snapshots it creates and refuses to restore without it.
8
+ * Captured from msb 0.7.8:
9
+ *
10
+ * ```text
11
+ * error: invalid config: restore requires destination bindings for: mount /etc/app/b.conf; provide a destination mount for each path or explicitly allow missing resources
12
+ * → map each path with -v SOURCE:GUEST or --mount-disk SOURCE:GUEST
13
+ * → or pass --allow-missing-resources to start without them
14
+ * ```
15
+ *
16
+ * The 0.7.6 binary carries the same sentence with `invalid config:` missing
17
+ * in front and a different tail (`; provide --volume mappings, select
18
+ * captured disks with --volume GUEST, or explicitly use
19
+ * --allow-missing-resources`), used for other restore shapes. A snapshot
20
+ * taken by 0.7.6 does not carry the mount record, so restoring it never
21
+ * produces this refusal: the file comes back empty.
22
+ *
23
+ * Matches only the stable sentence `restore requires destination bindings
24
+ * for`, with any run of whitespace (a wrapped line included) between the
25
+ * words. It does not depend on the `invalid config:` prefix, the version-
26
+ * specific tail, the hint lines, the arrows or the line structure, all of
27
+ * which change with the msb version and with how a Windows host captures the
28
+ * output (PowerShell decorates the first line with `msb.exe : ` and mangles
29
+ * the arrow). The entries after `for:` can be disk entries as well as `mount
30
+ * <path>`, so nothing here parses them.
31
+ *
32
+ * The caller must not retry on a match: the same restore is refused the same
33
+ * way every time. It must also never answer the refusal by passing
34
+ * `--allow-missing-resources`, which would start the sandbox with the copied
35
+ * files silently absent.
36
+ */
37
+ export function isRestoreMissingBindingsFailure(output) {
38
+ return /restore\s+requires\s+destination\s+bindings\s+for/i.test(output);
39
+ }
40
+ //# sourceMappingURL=restore-missing-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-missing-bindings.js","sourceRoot":"","sources":["../../src/backend-msb/restore-missing-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAc;IAC5D,OAAO,oDAAoD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC"}
@@ -134,6 +134,12 @@ export interface SandboxBackend {
134
134
  * the named-checkpoint registry and on the `Checkpoint` it hands back,
135
135
  * never `ref` itself. Never called on a backend whose
136
136
  * `capabilities.checkpoint` is `false`.
137
+ *
138
+ * Files copied in at start (`handle.spec.mounts`) are bind mounts of host
139
+ * files and are not part of what either backend captures. Docker leaves
140
+ * them as they are. Microsandbox boots the sandbox again from its snapshot,
141
+ * so it mounts each one again from its host file, and throws
142
+ * `CheckpointHostFileMissingError` before stopping anything if one is gone.
137
143
  */
138
144
  createCheckpoint(handle: SandboxHandle, ref: string): Promise<string>;
139
145
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/core/backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/core/backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { FileMount } from "../model.js";
2
+ /**
3
+ * Throws `CheckpointHostFileMissingError` for the first mount, in spec order,
4
+ * whose host file is gone. Used by the microsandbox checkpoint, which stops the
5
+ * container, snapshots it and boots it again with `msb restore --volume` for
6
+ * every copied file, so each host file has to exist before the first of those
7
+ * steps. A snapshot holds no content for a copied file, and a boot that finds
8
+ * the host file missing would come after the source sandbox is already gone.
9
+ *
10
+ * Only "no such file or directory" counts as missing. Any other `stat` failure
11
+ * (a permission error on a parent directory, say) is left for msb to report
12
+ * with its own message, so this never claims a file no longer exists when it
13
+ * might still.
14
+ */
15
+ export declare function requireCopiedHostFilesExist(mounts: readonly FileMount[]): Promise<void>;
16
+ //# sourceMappingURL=copied-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copied-files.d.ts","sourceRoot":"","sources":["../../../src/core/checkpoint/copied-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,wBAAsB,2BAA2B,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7F"}
@@ -0,0 +1,29 @@
1
+ import * as fs from "node:fs/promises";
2
+ import { CheckpointHostFileMissingError } from "../errors.js";
3
+ /**
4
+ * Throws `CheckpointHostFileMissingError` for the first mount, in spec order,
5
+ * whose host file is gone. Used by the microsandbox checkpoint, which stops the
6
+ * container, snapshots it and boots it again with `msb restore --volume` for
7
+ * every copied file, so each host file has to exist before the first of those
8
+ * steps. A snapshot holds no content for a copied file, and a boot that finds
9
+ * the host file missing would come after the source sandbox is already gone.
10
+ *
11
+ * Only "no such file or directory" counts as missing. Any other `stat` failure
12
+ * (a permission error on a parent directory, say) is left for msb to report
13
+ * with its own message, so this never claims a file no longer exists when it
14
+ * might still.
15
+ */
16
+ export async function requireCopiedHostFilesExist(mounts) {
17
+ for (const mount of mounts) {
18
+ try {
19
+ await fs.stat(mount.hostPath);
20
+ }
21
+ catch (err) {
22
+ const code = err.code;
23
+ if (code === "ENOENT" || code === "ENOTDIR") {
24
+ throw new CheckpointHostFileMissingError(mount.guestPath, mount.hostPath);
25
+ }
26
+ }
27
+ }
28
+ }
29
+ //# sourceMappingURL=copied-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copied-files.js","sourceRoot":"","sources":["../../../src/core/checkpoint/copied-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAG9D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,MAA4B;IAC5E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;YACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,IAAI,8BAA8B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -42,7 +42,11 @@ export declare class ContainerLaunchError extends Error {
42
42
  }
43
43
  /** Thrown on subprocess/daemon failures; message carries full stderr/body. */
44
44
  export declare class BackendError extends Error {
45
- constructor(message: string);
45
+ /** The underlying error this one wraps, when there is one. */
46
+ readonly cause?: unknown | undefined;
47
+ constructor(message: string,
48
+ /** The underlying error this one wraps, when there is one. */
49
+ cause?: unknown | undefined);
46
50
  }
47
51
  /** Thrown when the msb toolchain provisioner can't get a runnable `msb` binary in place (download, checksum, or lock failure). */
48
52
  export declare class ProvisionError extends Error {
@@ -300,4 +304,66 @@ export declare class CheckpointWorkloadCommandMissingError extends Error {
300
304
  /** The checkpoint ref being restored. */
301
305
  ref: string);
302
306
  }
307
+ /**
308
+ * Thrown by `checkpoint()` on microsandbox when a file added with
309
+ * `withCopyFileToContainer` has lost its host file. Copied files are not part
310
+ * of a checkpoint: they are start-time mounts of host files, so a snapshot
311
+ * holds no content for them. microsandbox's `checkpoint()` stops the
312
+ * container, snapshots it and boots it again, and that boot mounts each copied
313
+ * file again from its host file, so the host file has to still be there.
314
+ *
315
+ * Thrown from two places, both before any destructive step:
316
+ * `GenericContainer.checkpoint()` itself (ahead of the named-checkpoint replace
317
+ * semantics' removal of whatever currently sits under the same ref, so a
318
+ * refused re-checkpoint never replaces a prior checkpoint) and, redundantly,
319
+ * `MsbCliBackend.createCheckpoint` (ahead of stopping the sandbox) for any
320
+ * caller that reaches the backend directly. docker never throws it: its
321
+ * checkpoint is a commit of the running container and does not reboot it.
322
+ */
323
+ export declare class CheckpointHostFileMissingError extends Error {
324
+ /** The guest path the copied file is mounted at. */
325
+ readonly guestPath: string;
326
+ /** The host file that was meant to back it and no longer exists. */
327
+ readonly hostPath: string;
328
+ constructor(
329
+ /** The guest path the copied file is mounted at. */
330
+ guestPath: string,
331
+ /** The host file that was meant to back it and no longer exists. */
332
+ hostPath: string);
333
+ }
334
+ /**
335
+ * Thrown when microsandbox refuses to restore a checkpoint because the
336
+ * container it was taken from had files copied in with
337
+ * `withCopyFileToContainer`. Those files are mounts of host files, not part of
338
+ * the checkpoint. msb 0.7.8 records them in the snapshots it creates and
339
+ * refuses a restore that does not supply each one again; a snapshot made by an
340
+ * older msb restores with the file empty instead. msb's own output lists the
341
+ * missing guest paths and is carried in `output` and in the message.
342
+ *
343
+ * The remedy is to add the same files again, at the same guest paths, on the
344
+ * container started from the checkpoint:
345
+ * `GenericContainer.fromCheckpoint(cp).withCopyFileToContainer(...)`. Never
346
+ * retried: another attempt would be refused the same way.
347
+ *
348
+ * Thrown by `start()` on a container built with `fromCheckpoint()`. It could
349
+ * also come from `checkpoint()`'s own reboot, which supplies the container's
350
+ * copied files itself, so only a container whose mounts the library could not
351
+ * see would reach that. docker never throws it: it cannot tell, and starts the
352
+ * container with the path left empty.
353
+ */
354
+ export declare class CheckpointMissingCopiedFilesError extends Error {
355
+ /** The sandbox the restore was meant to create. */
356
+ readonly sandbox: string;
357
+ /** The checkpoint ref being restored. */
358
+ readonly ref: string;
359
+ /** msb's own output for the refused restore; it names the missing guest paths. */
360
+ readonly output: string;
361
+ constructor(
362
+ /** The sandbox the restore was meant to create. */
363
+ sandbox: string,
364
+ /** The checkpoint ref being restored. */
365
+ ref: string,
366
+ /** msb's own output for the refused restore; it names the missing guest paths. */
367
+ output: string);
368
+ }
303
369
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
@@ -51,8 +51,12 @@ export class ContainerLaunchError extends Error {
51
51
  }
52
52
  /** Thrown on subprocess/daemon failures; message carries full stderr/body. */
53
53
  export class BackendError extends Error {
54
- constructor(message) {
55
- super(message);
54
+ cause;
55
+ constructor(message,
56
+ /** The underlying error this one wraps, when there is one. */
57
+ cause) {
58
+ super(message, cause !== undefined ? { cause } : undefined);
59
+ this.cause = cause;
56
60
  this.name = "BackendError";
57
61
  }
58
62
  }
@@ -387,4 +391,80 @@ export class CheckpointWorkloadCommandMissingError extends Error {
387
391
  this.name = "CheckpointWorkloadCommandMissingError";
388
392
  }
389
393
  }
394
+ /**
395
+ * Thrown by `checkpoint()` on microsandbox when a file added with
396
+ * `withCopyFileToContainer` has lost its host file. Copied files are not part
397
+ * of a checkpoint: they are start-time mounts of host files, so a snapshot
398
+ * holds no content for them. microsandbox's `checkpoint()` stops the
399
+ * container, snapshots it and boots it again, and that boot mounts each copied
400
+ * file again from its host file, so the host file has to still be there.
401
+ *
402
+ * Thrown from two places, both before any destructive step:
403
+ * `GenericContainer.checkpoint()` itself (ahead of the named-checkpoint replace
404
+ * semantics' removal of whatever currently sits under the same ref, so a
405
+ * refused re-checkpoint never replaces a prior checkpoint) and, redundantly,
406
+ * `MsbCliBackend.createCheckpoint` (ahead of stopping the sandbox) for any
407
+ * caller that reaches the backend directly. docker never throws it: its
408
+ * checkpoint is a commit of the running container and does not reboot it.
409
+ */
410
+ export class CheckpointHostFileMissingError extends Error {
411
+ guestPath;
412
+ hostPath;
413
+ constructor(
414
+ /** The guest path the copied file is mounted at. */
415
+ guestPath,
416
+ /** The host file that was meant to back it and no longer exists. */
417
+ hostPath) {
418
+ super(`checkpoint() can't keep the copied file at ${guestPath}: its host file ${hostPath} no longer exists. ` +
419
+ "Copied files are not part of a checkpoint; on microsandbox, checkpoint() mounts them again from their " +
420
+ "host files when it reboots the container.");
421
+ this.guestPath = guestPath;
422
+ this.hostPath = hostPath;
423
+ this.name = "CheckpointHostFileMissingError";
424
+ }
425
+ }
426
+ /**
427
+ * Thrown when microsandbox refuses to restore a checkpoint because the
428
+ * container it was taken from had files copied in with
429
+ * `withCopyFileToContainer`. Those files are mounts of host files, not part of
430
+ * the checkpoint. msb 0.7.8 records them in the snapshots it creates and
431
+ * refuses a restore that does not supply each one again; a snapshot made by an
432
+ * older msb restores with the file empty instead. msb's own output lists the
433
+ * missing guest paths and is carried in `output` and in the message.
434
+ *
435
+ * The remedy is to add the same files again, at the same guest paths, on the
436
+ * container started from the checkpoint:
437
+ * `GenericContainer.fromCheckpoint(cp).withCopyFileToContainer(...)`. Never
438
+ * retried: another attempt would be refused the same way.
439
+ *
440
+ * Thrown by `start()` on a container built with `fromCheckpoint()`. It could
441
+ * also come from `checkpoint()`'s own reboot, which supplies the container's
442
+ * copied files itself, so only a container whose mounts the library could not
443
+ * see would reach that. docker never throws it: it cannot tell, and starts the
444
+ * container with the path left empty.
445
+ */
446
+ export class CheckpointMissingCopiedFilesError extends Error {
447
+ sandbox;
448
+ ref;
449
+ output;
450
+ constructor(
451
+ /** The sandbox the restore was meant to create. */
452
+ sandbox,
453
+ /** The checkpoint ref being restored. */
454
+ ref,
455
+ /** msb's own output for the refused restore; it names the missing guest paths. */
456
+ output) {
457
+ super(`msb refused to restore sandbox '${sandbox}' from checkpoint '${ref}': the container it was taken from ` +
458
+ "had files copied in with withCopyFileToContainer, and copied files are not part of a checkpoint (they " +
459
+ "are mounts of host files, so the checkpoint holds no content for them). Add the same files again, at " +
460
+ "the same guest paths, on the container you start from the checkpoint: " +
461
+ 'GenericContainer.fromCheckpoint(cp).withCopyFileToContainer(MountableFile.forHostPath("<host file>"), ' +
462
+ '"<guest path>"). msb\'s output names the missing guest paths:\n' +
463
+ output);
464
+ this.sandbox = sandbox;
465
+ this.ref = ref;
466
+ this.output = output;
467
+ this.name = "CheckpointMissingCopiedFilesError";
468
+ }
469
+ }
390
470
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAGvC;IAEA;IAEA;IANX;IACE,uDAAuD;IAC9C,OAAe;IACxB,yDAAyD;IAChD,OAAe;IACxB,qFAAqF;IAC5E,MAAe;QAExB,KAAK,CAAC,YAAY,OAAO,8BAA8B,OAAO,YAAY,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QANjG,YAAO,GAAP,OAAO,CAAQ;QAEf,YAAO,GAAP,OAAO,CAAQ;QAEf,WAAM,GAAN,MAAM,CAAS;QAGxB,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAInC;IAHX,YACE,OAAe;IACf,4FAA4F;IACnF,KAAe;QAExB,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAFnD,UAAK,GAAL,KAAK,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,gFAAgF;AAChF,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,8EAA8E;AAC9E,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,kIAAkI;AAClI,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CACH,mGAAmG;YACjG,oGAAoG;YACpG,iDAAiD,CACpD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAGpC;IAFX;IACE,mDAAmD;IAC1C,OAAe;QAExB,KAAK,CACH,2FAA2F,OAAO,KAAK;YACrG,oGAAoG;YACpG,iFAAiF,CACpF,CAAC;QANO,YAAO,GAAP,OAAO,CAAQ;QAOxB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAGxC;IAFX;IACE,yDAAyD;IAChD,OAAe;QAExB,KAAK,CACH,yCAAyC,OAAO,kDAAkD;YAChG,kCAAkC,CACrC,CAAC;QALO,YAAO,GAAP,OAAO,CAAQ;QAMxB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAG5C;IAEA;IAJX;IACE,+CAA+C;IACtC,gBAAwB;IACjC,+CAA+C;IACtC,aAAqB;QAE9B,KAAK,CACH,uCAAuC,gBAAgB,sCAAsC;YAC3F,IAAI,aAAa,6BAA6B,gBAAgB,0CAA0C;YACxG,yBAAyB,aAAa,oBAAoB,CAC7D,CAAC;QARO,qBAAgB,GAAhB,gBAAgB,CAAQ;QAExB,kBAAa,GAAb,aAAa,CAAQ;QAO9B,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD;QACE,KAAK,CACH,8FAA8F;YAC5F,sGAAsG;YACtG,uDAAuD,CAC1D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IAG/C;IAFX;IACE,+FAA+F;IACtF,OAAe;QAExB,KAAK,CACH,wGAAwG;YACtG,WAAW,OAAO,+EAA+E;YACjG,kGAAkG;YAClG,2GAA2G,CAC9G,CAAC;QAPO,YAAO,GAAP,OAAO,CAAQ;QAQxB,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IAClD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAGxC;IAFX;IACE,+CAA+C;IACtC,aAAqB;QAE9B,KAAK,CAAC,gDAAgD,aAAa,oDAAoD,CAAC,CAAC;QAFhH,kBAAa,GAAb,aAAa,CAAQ;QAG9B,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAGxC;IAFX;IACE,+CAA+C;IACtC,cAAsB;QAE/B,KAAK,CACH,oBAAoB,cAAc,wEAAwE;YACxG,qGAAqG;YACrG,2CAA2C,CAC9C,CAAC;QANO,mBAAc,GAAd,cAAc,CAAQ;QAO/B,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAG5C;IAEA;IAJX;IACE,oFAAoF;IAC3E,GAAW;IACpB,qDAAqD;IAC5C,OAAe;QAExB,KAAK,CACH,6BAA6B,GAAG,qDAAqD,OAAO,YAAY;YACtG,oFAAoF,CACvF,CAAC;QAPO,QAAG,GAAH,GAAG,CAAQ;QAEX,YAAO,GAAP,OAAO,CAAQ;QAMxB,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAGpC;IAEA;IAJX;IACE,wFAAwF;IAC/E,kBAA0B;IACnC,0DAA0D;IACjD,kBAA0B;QAEnC,KAAK,CACH,qBAAqB,kBAAkB,qBAAqB,kBAAkB,uBAAuB;YACnG,iBAAiB,kBAAkB,2CAA2C;YAC9E,2DAA2D,kBAAkB,IAAI,CACpF,CAAC;QARO,uBAAkB,GAAlB,kBAAkB,CAAQ;QAE1B,uBAAkB,GAAlB,kBAAkB,CAAQ;QAOnC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAG7C;IAEA;IAJX;IACE,iEAAiE;IACxD,WAAmB;IAC5B,6DAA6D;IACpD,MAAc;QAEvB,KAAK,CAAC,uBAAuB,WAAW,oBAAoB,MAAM,EAAE,CAAC,CAAC;QAJ7D,gBAAW,GAAX,WAAW,CAAQ;QAEnB,WAAM,GAAN,MAAM,CAAQ;QAGvB,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CACH,mGAAmG;YACjG,iCAAiC,CACpC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAGzC;IAEA;IAJX;IACE,4CAA4C;IACnC,OAAe;IACxB,mDAAmD;IAC1C,QAAgB;QAEzB,KAAK,CACH,iBAAiB,OAAO,6BAA6B,QAAQ,6CAA6C;YACxG,qBAAqB,CACxB,CAAC;QAPO,YAAO,GAAP,OAAO,CAAQ;QAEf,aAAQ,GAAR,QAAQ,CAAQ;QAMzB,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD;QACE,KAAK,CACH,yGAAyG;YACvG,sBAAsB,CACzB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD;QACE,KAAK,CACH,wGAAwG;YACtG,uEAAuE,CAC1E,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,qCAAsC,SAAQ,KAAK;IAGnD;IAFX;IACE,yCAAyC;IAChC,GAAW;QAEpB,KAAK,CACH,oCAAoC,GAAG,gEAAgE;YACrG,iGAAiG;YACjG,mGAAmG;YACnG,4CAA4C,CAC/C,CAAC;QAPO,QAAG,GAAH,GAAG,CAAQ;QAQpB,IAAI,CAAC,IAAI,GAAG,uCAAuC,CAAC;IACtD,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
@@ -68,10 +68,17 @@ export declare class GenericContainer implements AsyncDisposable, NetworkMember
68
68
  * env/command/exposed ports/memory limit default to `cp.spec` — chain
69
69
  * further builder calls (a different `waitingFor`, `withBackend`, …)
70
70
  * before `start()`, the same as any other container. Never carries over
71
- * `cp.spec`'s network/aliases/mounts — the captured state already has the
72
- * filesystem baked in, and (as with `withReuse()`'s own network
73
- * restriction) network topology is never part of what a checkpoint
74
- * captures. `start()` throws `CheckpointBackendMismatchError` before any
71
+ * `cp.spec`'s network/aliases (as with `withReuse()`'s own network
72
+ * restriction, network topology is never part of what a checkpoint
73
+ * captures) or mounts. Files added with `withCopyFileToContainer` are
74
+ * mounts of host files, not part of a checkpoint on either backend, so
75
+ * add them again on the returned container, at the same guest paths:
76
+ * `GenericContainer.fromCheckpoint(cp).withCopyFileToContainer(file,
77
+ * guestPath)`. On microsandbox a checkpoint taken by msb 0.7.8 refuses to
78
+ * restore without them, and `start()` throws
79
+ * `CheckpointMissingCopiedFilesError` (a checkpoint taken by an older msb
80
+ * restores with the file empty); on docker the path is left empty.
81
+ * `start()` throws `CheckpointBackendMismatchError` before any
75
82
  * backend call if the active backend isn't the one that created `cp`, and
76
83
  * `ReuseFromCheckpointError` if this container is also marked
77
84
  * `withReuse()` — reuse's identity hash never covers a checkpoint ref. On
@@ -122,6 +129,13 @@ export declare class GenericContainer implements AsyncDisposable, NetworkMember
122
129
  * The mount is read-write, and it is a view of the host file rather than a copy of it —
123
130
  * docker binds the host path directly, microsandbox hard-links it into its staging
124
131
  * directory — so a guest write reaches the host file itself.
132
+ *
133
+ * A copied file is not part of a checkpoint, on either backend: the snapshot holds no
134
+ * content for it. `checkpoint()` on microsandbox keeps it by mounting it again from its
135
+ * host file when it reboots the container (the host file must still exist); a container
136
+ * started from a checkpoint has to add it again with this method. See
137
+ * `GenericContainer.fromCheckpoint`. Files put into a running container with
138
+ * `copyFileToContainer` / `copyContentToContainer` are ordinary guest files, unlike this.
125
139
  */
126
140
  withCopyFileToContainer(file: MountableFile, guestPath: string): this;
127
141
  /** Sets the readiness check `start()` waits on before returning. Defaults to `Wait.forListeningPort()`. */
@@ -412,6 +426,16 @@ export declare class GenericContainer implements AsyncDisposable, NetworkMember
412
426
  * before the rejection propagates, so a revived-but-never-ready workload
413
427
  * never sits around as an orphan.
414
428
  *
429
+ * Files added with `withCopyFileToContainer` are mounts of host files, not
430
+ * part of a checkpoint on either backend. On microsandbox this container
431
+ * keeps them: the reboot above mounts each one again from its host file, so
432
+ * the host file has to still exist, and a missing one throws
433
+ * `CheckpointHostFileMissingError` before the container is stopped or any
434
+ * prior checkpoint under `name` is replaced. docker's commit leaves the
435
+ * running container alone, so there is nothing to keep and nothing to check.
436
+ * A container started from the checkpoint has to add the files again; see
437
+ * `GenericContainer.fromCheckpoint`.
438
+ *
415
439
  * Checkpoints are never auto-reaped (a committed image or a disk snapshot
416
440
  * is not a container) — see the checkpoints guide for the manual cleanup
417
441
  * one-liners and the `Checkpoints.remove` cleanup affordance.
@@ -1 +1 @@
1
- {"version":3,"file":"generic-container.d.ts","sourceRoot":"","sources":["../../src/core/generic-container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic-container.d.ts","sourceRoot":"","sources":["../../src/core/generic-container.ts"],"names":[],"mappings":"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"}