signalk-container 1.9.2 → 1.9.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.
package/README.md CHANGED
@@ -463,12 +463,18 @@ containers. The plugin auto-detects this scenario via `/.dockerenv` or
463
463
  For the plugin to work, two things must be true inside the Signal K
464
464
  container:
465
465
 
466
- 1. **The runtime CLI is installed.** Bake `podman` (or `podman-remote`)
467
- into your Signal K image this is the recommended path. As a quick
468
- alternative you can bind-mount the host binary read-only, but that
469
- couples the container to the host's exact runtime version.
470
- 2. **The runtime socket is bind-mounted** from the host (rootless or
471
- rootful, podman or docker — see examples below).
466
+ 1. **A matching runtime CLI is available** the CLI inside the SK
467
+ container must match the daemon on the host (Docker host `docker`;
468
+ Podman host `podman`). End users typically bind-mount the host
469
+ binary; image maintainers can bake it into a custom image.
470
+ 2. **The matching runtime socket is bind-mounted** from the host
471
+ (rootless or rootful podman, or docker).
472
+
473
+ Concrete platform-specific commands — for both end-user and
474
+ image-maintainer setups — are emitted by the deployment doctor (see
475
+ `/api/doctor/deployment` and the snippet generator below). Use those
476
+ as the source of truth; they always reflect the running plugin
477
+ version.
472
478
 
473
479
  ### Quick check: `/api/doctor/deployment`
474
480
 
@@ -638,6 +644,29 @@ is in cgroup state, not just on the command line.
638
644
  This is purely a host-side prerequisite; signalk-container cannot
639
645
  override the kernel's controller delegation.
640
646
 
647
+ #### Raspberry Pi OS: `cgroup_disable=memory` in the kernel cmdline
648
+
649
+ If you're on a Raspberry Pi 4/5 running Raspberry Pi OS Trixie (and
650
+ likely earlier Pi OS releases) and the systemd `Delegate=memory` snippet
651
+ above **doesn't work** — `cat /sys/fs/cgroup/cgroup.controllers` still
652
+ shows `cpuset cpu io pids` after a reboot — the cause is one level
653
+ deeper. The Pi's GPU firmware injects `cgroup_disable=memory` into the
654
+ kernel boot cmdline, so the memory controller never reaches systemd.
655
+
656
+ Quick check:
657
+
658
+ ```bash
659
+ grep -o "cgroup_disable=memory" /proc/cmdline
660
+ # Prints "cgroup_disable=memory" → you're hit.
661
+ ```
662
+
663
+ Full runbook with copy-pasteable commands, verification steps, and
664
+ revert instructions: **[doc/cgroup-memory-on-raspberry-pi-os.md](doc/cgroup-memory-on-raspberry-pi-os.md)**.
665
+
666
+ The deployment doctor at `/api/doctor/deployment` also detects this
667
+ scenario and surfaces the same kernel-cmdline fix in its `remediation`
668
+ array, so you don't have to guess which layer is broken first.
669
+
641
670
  ### Watch out for systemd auto-restart (Quadlet / `Restart=always`)
642
671
 
643
672
  If you run Signal K via a podman Quadlet (`*.container` in
package/dist/doctor.d.ts CHANGED
@@ -65,6 +65,18 @@ export interface SelfDeploymentProbes {
65
65
  * the doctor skips the cgroup status escalation entirely.
66
66
  */
67
67
  readCgroupControllers?: () => Promise<string[] | null>;
68
+ /**
69
+ * Read the kernel boot cmdline (production: `/proc/cmdline`). Used to
70
+ * detect the `cgroup_disable=memory` Raspberry-Pi-OS-Trixie quirk: the
71
+ * firmware-injected cmdline disables the memory cgroup controller
72
+ * before systemd ever gets a chance to delegate it. systemd's
73
+ * `Delegate=memory` then has nothing to delegate, and the "missing
74
+ * controller" symptom looks identical to plain missing delegation —
75
+ * the systemd-snippet remediation won't help. When this probe returns
76
+ * a cmdline containing the disable token, the remediation block
77
+ * surfaces the cmdline fix instead.
78
+ */
79
+ readKernelCmdline?: () => Promise<string | null>;
68
80
  }
69
81
  /**
70
82
  * Diagnose whether this Signal K deployment can drive `podman`/`docker`
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EAEpB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,MAAM,EAGZ,MAAM,iBAAiB,CAAC;AAGzB;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAC7B,IAAI,GAAE,MAAoB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAoC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;IAChC,iEAAiE;IACjE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAClB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;CACxD;AAkBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,iBAAiB,EAC7B,IAAI,GAAE,MAAoB,EAC1B,MAAM,GAAE,oBAAyB,GAChC,OAAO,CAAC,oBAAoB,CAAC,CA0I/B;AAgVD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,GAAE,kBAA8B,EACtC,QAAQ,GAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAW,GACnD,kBAAkB,CAyBpB"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EAEpB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,MAAM,EAGZ,MAAM,iBAAiB,CAAC;AAGzB;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAC7B,IAAI,GAAE,MAAoB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAoC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;IAChC,iEAAiE;IACjE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAClB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACvD;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAClD;AAkBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,iBAAiB,EAC7B,IAAI,GAAE,MAAoB,EAC1B,MAAM,GAAE,oBAAyB,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAgJ/B;AA+aD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,GAAE,kBAA8B,EACtC,QAAQ,GAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAW,GACnD,kBAAkB,CAyBpB"}
package/dist/doctor.js CHANGED
@@ -101,13 +101,14 @@ export async function selfDeployment(preference, exec = execRuntime, probes = {}
101
101
  const probeReadBinaryVersion = probes.readBinaryVersion ?? defaultReadBinaryVersion;
102
102
  const probeReadEnv = probes.readEnv ?? ((k) => process.env[k]);
103
103
  const probeReadCgroupControllers = probes.readCgroupControllers ?? defaultReadCgroupControllers;
104
+ const probeReadKernelCmdline = probes.readKernelCmdline ?? defaultReadKernelCmdline;
104
105
  const containerized = probeIsContainerized();
105
106
  const env = {
106
107
  DOCKER_HOST: probeReadEnv("DOCKER_HOST") ?? null,
107
108
  CONTAINER_HOST: probeReadEnv("CONTAINER_HOST") ?? null,
108
109
  XDG_RUNTIME_DIR: probeReadEnv("XDG_RUNTIME_DIR") ?? null,
109
110
  };
110
- const cgroupControllers = await probeCgroupControllers(probeReadCgroupControllers);
111
+ const cgroupControllers = await probeCgroupControllers(probeReadCgroupControllers, probeReadKernelCmdline);
111
112
  // 1. Binary discovery — honour preference; auto tries podman first.
112
113
  const candidates = preference === "auto" ? ["podman", "docker"] : [preference];
113
114
  let binaryName = null;
@@ -204,7 +205,7 @@ export async function selfDeployment(preference, exec = execRuntime, probes = {}
204
205
  },
205
206
  selfId,
206
207
  status: "cgroup-controllers-incomplete",
207
- remediation: remediationCgroupControllers(cgroupControllers.missing),
208
+ remediation: remediationCgroupControllers(cgroupControllers.missing, cgroupControllers.kernelDisabledMemory),
208
209
  };
209
210
  }
210
211
  return {
@@ -343,27 +344,102 @@ async function defaultReadCgroupControllers() {
343
344
  return null;
344
345
  }
345
346
  }
347
+ /**
348
+ * Production default for the kernel-cmdline probe. Reads `/proc/cmdline`,
349
+ * returning the single-line contents. Returns `null` on any read failure
350
+ * (non-Linux, restricted /proc) — never throws.
351
+ */
352
+ async function defaultReadKernelCmdline() {
353
+ try {
354
+ const raw = await readFile("/proc/cmdline", "utf8");
355
+ return raw.trim();
356
+ }
357
+ catch {
358
+ return null;
359
+ }
360
+ }
361
+ /**
362
+ * Detect whether the kernel was booted with the memory cgroup controller
363
+ * explicitly disabled. True when `cgroup_disable=memory` appears in the
364
+ * cmdline AND there is NO later `cgroup_enable=memory` overriding it.
365
+ * (Kernel parameters are evaluated left-to-right, so a later occurrence
366
+ * wins.) The Raspberry Pi OS Trixie firmware injects the disable token
367
+ * for legacy reasons; appending `cgroup_enable=memory cgroup_memory=1`
368
+ * to `/boot/firmware/cmdline.txt` is how you flip it back without
369
+ * touching the firmware blob.
370
+ */
371
+ function isKernelMemoryDisabled(cmdline) {
372
+ if (!cmdline)
373
+ return false;
374
+ const disableIdx = cmdline.lastIndexOf("cgroup_disable=memory");
375
+ if (disableIdx < 0)
376
+ return false;
377
+ const enableIdx = cmdline.lastIndexOf("cgroup_enable=memory");
378
+ return enableIdx <= disableIdx;
379
+ }
346
380
  /**
347
381
  * Run the cgroup-controllers probe and compute the missing set against
348
- * `EXPECTED_CGROUP_CONTROLLERS`. When the probe returns `null`, missing
349
- * is `[]` — we won't escalate status on a host we can't inspect.
382
+ * `EXPECTED_CGROUP_CONTROLLERS`. When the controllers probe returns
383
+ * `null`, missing is `[]` — we won't escalate status on a host we can't
384
+ * inspect. The cmdline probe runs in parallel and feeds the
385
+ * `kernelDisabledMemory` flag for the remediation block.
350
386
  */
351
- async function probeCgroupControllers(readControllers) {
352
- const available = await readControllers();
387
+ async function probeCgroupControllers(readControllers, readKernelCmdline) {
388
+ const [available, cmdline] = await Promise.all([
389
+ readControllers(),
390
+ readKernelCmdline(),
391
+ ]);
392
+ const kernelDisabledMemory = isKernelMemoryDisabled(cmdline);
353
393
  if (available === null) {
354
- return { available: null, missing: [] };
394
+ return { available: null, missing: [], kernelDisabledMemory };
355
395
  }
356
396
  const have = new Set(available);
357
397
  const missing = EXPECTED_CGROUP_CONTROLLERS.filter((c) => !have.has(c));
358
- return { available, missing };
398
+ return { available, missing, kernelDisabledMemory };
359
399
  }
360
400
  /**
361
- * Remediation block for `cgroup-controllers-incomplete`. Names the
362
- * missing controllers so the operator can match the symptom in their
363
- * config panel ("memory limit didn't stick"); the systemd snippet is
364
- * the same regardless of which controllers are absent.
401
+ * Remediation block for `cgroup-controllers-incomplete`. The cause has
402
+ * two distinct shapes; the operator needs different fixes for each.
403
+ *
404
+ * 1. Kernel was booted with `cgroup_disable=memory` (Raspberry Pi OS
405
+ * Trixie default). The memory controller never reaches systemd, so
406
+ * `Delegate=memory` does nothing. Fix is in the boot cmdline.
407
+ *
408
+ * 2. Kernel has the memory controller but the user@.service hasn't
409
+ * been told to delegate it. Fix is the systemd Delegate= snippet.
410
+ *
411
+ * We detect the kernel-level shape from /proc/cmdline and surface the
412
+ * correct fix; otherwise the systemd-level fix is the default.
365
413
  */
366
- function remediationCgroupControllers(missing) {
414
+ function remediationCgroupControllers(missing, kernelDisabledMemory) {
415
+ if (kernelDisabledMemory) {
416
+ return [
417
+ `Signal K is containerized and the kernel was booted with cgroup_disable=memory (common on Raspberry Pi OS Trixie — the GPU firmware injects this token).`,
418
+ "Until the memory controller is enabled at the kernel level, systemd's Delegate=memory has nothing to delegate, and consumer-plugin memory limits are silently dropped.",
419
+ "",
420
+ "Enable the memory controller in the kernel cmdline (one-time, requires root):",
421
+ " sudo cp /boot/firmware/cmdline.txt /boot/firmware/cmdline.txt.bak.$(date +%Y%m%d)",
422
+ " sudo sed -i 's/$/ cgroup_enable=memory cgroup_memory=1/' /boot/firmware/cmdline.txt",
423
+ " # Note: /boot/firmware/cmdline.txt must remain a single line — verify with `wc -l`.",
424
+ "",
425
+ "Reboot the host to pick up the new cmdline:",
426
+ " sudo reboot",
427
+ "",
428
+ "After reboot, the memory controller will appear in /sys/fs/cgroup/cgroup.controllers and systemd's Delegate=memory will start working.",
429
+ "If systemd's Delegate= isn't already configured for the user@.service, apply the snippet below first; otherwise the user slice still won't have memory in its subtree_control after reboot.",
430
+ " sudo mkdir -p /etc/systemd/system/user@.service.d",
431
+ " sudo tee /etc/systemd/system/user@.service.d/delegate.conf <<'EOF'",
432
+ " [Service]",
433
+ " Delegate=cpu cpuset io memory pids",
434
+ " EOF",
435
+ " sudo systemctl daemon-reload",
436
+ "",
437
+ "Verify inside the SK container after reboot:",
438
+ " podman exec <sk-container> cat /sys/fs/cgroup/cgroup.controllers",
439
+ " # or: docker exec <sk-container> cat /sys/fs/cgroup/cgroup.controllers",
440
+ " # memory should appear in the output",
441
+ ];
442
+ }
367
443
  return [
368
444
  `Signal K is containerized and the host has not delegated these cgroup v2 controllers: ${missing.join(", ")}.`,
369
445
  "Consumer plugins requesting limits on the missing controllers will have those limits silently dropped.",
@@ -443,30 +519,47 @@ const REMEDIATION_NO_RUNTIME_BARE_METAL = [
443
519
  "After install, restart Signal K.",
444
520
  ];
445
521
  const REMEDIATION_NO_RUNTIME_CONTAINERIZED = [
446
- "Signal K is running inside a container, but no container runtime",
447
- "(podman/docker) is reachable from inside this container. You need both:",
522
+ "Signal K is running inside a container, but no container runtime CLI",
523
+ "(podman or docker) is reachable from inside this container.",
524
+ "",
525
+ "Two things must be true: (1) the runtime CLI binary must exist inside",
526
+ "this container, and (2) the matching runtime socket from your host",
527
+ "must be bind-mounted in. Whichever runtime you already use on your",
528
+ "host — Docker (HALOS, Docker Desktop, docker-ce) or Podman — is the",
529
+ "one to wire up. signalk-container talks to whichever it finds.",
530
+ "",
531
+ "── If your host runs Docker (HALOS, Docker Desktop, plain docker-ce) ──",
532
+ "",
533
+ "Update your docker-compose / docker run for the SK service to add:",
448
534
  "",
449
- "1. The runtime CLI installed inside this container. Recommended:",
450
- " add `podman` (or `podman-remote`) to your Signal K image:",
451
- " RUN apt-get update && apt-get install -y podman # Debian/Ubuntu",
452
- " RUN dnf install -y podman-remote # Fedora/RHEL",
453
- " (As a quick alternative, bind-mount the host binary read-only:",
454
- " -v /usr/bin/podman:/usr/bin/podman:ro )",
535
+ " -v /usr/bin/docker:/usr/bin/docker:ro",
536
+ " -v /var/run/docker.sock:/var/run/docker.sock",
455
537
  "",
456
- "2. The runtime socket bind-mounted from the host:",
538
+ "The first line bind-mounts your host's docker CLI into the SK",
539
+ "container (no need to rebuild your image). The second exposes the",
540
+ "host's docker daemon. The SK container user must be in the host's",
541
+ "`docker` group, or you can use rootless docker.",
542
+ "",
543
+ "── If your host runs Podman (Fedora, RHEL, rootless Linux setups) ──",
544
+ "",
545
+ "Add to your SK container start command:",
546
+ "",
547
+ " -v /usr/bin/podman:/usr/bin/podman:ro",
548
+ " -v /run/user/$(id -u)/podman/podman.sock:/run/user/$(id -u)/podman/podman.sock",
549
+ " -e CONTAINER_HOST=unix:///run/user/$(id -u)/podman/podman.sock",
550
+ " --user $(id -u):$(id -g)",
457
551
  "",
458
- " Rootless Podman (recommended; matches signalk-container's default):",
459
- " -v /run/user/$(id -u)/podman/podman.sock:/run/user/$(id -u)/podman/podman.sock",
460
- " -e CONTAINER_HOST=unix:///run/user/$(id -u)/podman/podman.sock",
461
- " --user $(id -u):$(id -g)",
552
+ "(That's the rootless setup. For rootful Podman, replace the socket",
553
+ " path with /run/podman/podman.sock and drop the --user flag.)",
462
554
  "",
463
- " Rootful Podman:",
464
- " -v /run/podman/podman.sock:/run/podman/podman.sock",
465
- " -e CONTAINER_HOST=unix:///run/podman/podman.sock",
555
+ "── For image maintainers / advanced users ──",
466
556
  "",
467
- " Docker:",
468
- " -v /var/run/docker.sock:/var/run/docker.sock",
469
- " (SK container user must be in the host's docker group, or use rootless)",
557
+ "Bind-mounting the host's CLI couples the SK container to the host's",
558
+ "exact runtime version. If you publish a SK image and want a clean,",
559
+ "version-independent install, bake the CLI into the image instead:",
560
+ " RUN apt-get update && apt-get install -y docker-ce-cli # for Docker hosts",
561
+ " RUN apt-get update && apt-get install -y podman # for Podman hosts",
562
+ "You'll still need the socket bind-mount + group/user setup above.",
470
563
  ];
471
564
  const REMEDIATION_SOCKET_UNREACHABLE_PODMAN = [
472
565
  "Found podman binary, but cannot reach the podman socket.",
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -7,6 +7,22 @@ import { ContainerRuntimeInfo, RuntimePreference } from "./types.js";
7
7
  * - container env var (some setups)
8
8
  */
9
9
  export declare function isContainerized(): boolean;
10
+ /**
11
+ * Result shape for `execFile`-style runtime probes. Exposed for the
12
+ * injectable `ExecFn` used by `detectRuntime` tests.
13
+ */
14
+ export interface ExecResult {
15
+ stdout: string;
16
+ stderr: string;
17
+ exitCode: number;
18
+ }
19
+ /**
20
+ * Injectable command-runner shape. The default implementation in this
21
+ * module wraps `child_process.execFile`; tests pass a stub returning
22
+ * canned `ExecResult`s so detection logic can be exercised without a
23
+ * real podman/docker installation.
24
+ */
25
+ export type ExecFn = (cmd: string, args: string[], env?: NodeJS.ProcessEnv) => Promise<ExecResult>;
10
26
  /**
11
27
  * Resolve the effective host user (uid/gid) that managed containers
12
28
  * should run as. Source of truth is the Signal K server's own
@@ -71,7 +87,7 @@ export declare function userMappingFlags(runtime: ContainerRuntimeInfo, user: Us
71
87
  uid: number;
72
88
  gid: number;
73
89
  } | null): string[];
74
- export declare function detectRuntime(preference: RuntimePreference): Promise<ContainerRuntimeInfo | null>;
90
+ export declare function detectRuntime(preference: RuntimePreference, exec?: ExecFn): Promise<ContainerRuntimeInfo | null>;
75
91
  export declare function runtimeCmd(info: ContainerRuntimeInfo): string;
76
92
  export declare function execRuntime(info: ContainerRuntimeInfo, args: string[]): Promise<{
77
93
  stdout: string;
@@ -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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"}
package/dist/runtime.js CHANGED
@@ -21,7 +21,7 @@ function cleanEnv() {
21
21
  }
22
22
  return env;
23
23
  }
24
- function exec(cmd, args, env) {
24
+ const defaultExec = (cmd, args, env) => {
25
25
  return new Promise((resolve) => {
26
26
  execFile(cmd, args, { env: env ?? cleanEnv(), timeout: 10000 }, (error, stdout, stderr) => {
27
27
  resolve({
@@ -35,8 +35,30 @@ function exec(cmd, args, env) {
35
35
  });
36
36
  });
37
37
  });
38
+ };
39
+ /**
40
+ * Socket paths probed when falling back to podman-remote mode. The
41
+ * canonical mount point for both Docker-style and Podman setups is
42
+ * `/var/run/docker.sock`; `/run/docker.sock` covers distros where
43
+ * `/var/run` isn't symlinked to `/run`.
44
+ */
45
+ const REMOTE_SOCKET_PATHS = ["/var/run/docker.sock", "/run/docker.sock"];
46
+ /**
47
+ * Pick a socket to use for podman-remote fallback. `CONTAINER_HOST`
48
+ * (podman's canonical remote-mode env var) wins when set; otherwise
49
+ * we look for a bind-mounted Docker-style socket. Returns the
50
+ * `unix://` URL form podman expects via `--url`.
51
+ */
52
+ function findRemoteSocket() {
53
+ if (process.env.CONTAINER_HOST)
54
+ return process.env.CONTAINER_HOST;
55
+ for (const path of REMOTE_SOCKET_PATHS) {
56
+ if (existsSync(path))
57
+ return `unix://${path}`;
58
+ }
59
+ return null;
38
60
  }
39
- async function tryRuntime(name, env) {
61
+ async function tryRuntime(name, env, exec = defaultExec) {
40
62
  const result = await exec(name, ["--version"], env);
41
63
  if (result.exitCode !== 0)
42
64
  return null;
@@ -46,8 +68,31 @@ async function tryRuntime(name, env) {
46
68
  isPodmanDockerShim = result.stdout.toLowerCase().includes("podman");
47
69
  }
48
70
  const realRuntime = isPodmanDockerShim ? "podman" : name;
49
- const cgroupControllers = await probeCgroupControllers(realRuntime, env);
50
- const isRootless = await probeRootless(realRuntime, env);
71
+ // For podman, validate the binary can actually operate. Inside a
72
+ // container, the in-image podman often fails its first real call
73
+ // with `exec: "newuidmap": executable file not found in $PATH`
74
+ // because the image lacks the `uidmap` package and rootless
75
+ // user-namespace mapping can't proceed. If a host podman socket is
76
+ // bind-mounted in we transparently switch to `--remote --url
77
+ // <socket>` so commands route to the host daemon — the actual
78
+ // runtime stays podman, the in-container binary just acts as a
79
+ // client.
80
+ let remoteSocketUrl;
81
+ if (realRuntime === "podman") {
82
+ const directInfo = await exec(name, ["info"], env);
83
+ if (directInfo.exitCode !== 0) {
84
+ const socket = isContainerized() ? findRemoteSocket() : null;
85
+ if (socket === null)
86
+ return null;
87
+ const remoteInfo = await exec(name, ["--remote", "--url", socket, "info"], env);
88
+ if (remoteInfo.exitCode !== 0)
89
+ return null;
90
+ remoteSocketUrl = socket;
91
+ }
92
+ }
93
+ const prefixArgs = remoteArgs(remoteSocketUrl);
94
+ const cgroupControllers = await probeCgroupControllers(realRuntime, env, prefixArgs, exec);
95
+ const isRootless = await probeRootless(realRuntime, env, prefixArgs, exec);
51
96
  const hostUser = probeHostUser();
52
97
  return {
53
98
  runtime: realRuntime,
@@ -56,8 +101,17 @@ async function tryRuntime(name, env) {
56
101
  cgroupControllers,
57
102
  isRootless,
58
103
  hostUser,
104
+ remoteSocketUrl,
59
105
  };
60
106
  }
107
+ /**
108
+ * Prefix args to prepend to every podman invocation when the runtime
109
+ * is operating in remote-fallback mode. Empty for local invocations
110
+ * and for docker (DOCKER_HOST env handles docker's equivalent path).
111
+ */
112
+ function remoteArgs(remoteSocketUrl) {
113
+ return remoteSocketUrl ? ["--remote", "--url", remoteSocketUrl] : [];
114
+ }
61
115
  /**
62
116
  * Resolve the effective host user (uid/gid) that managed containers
63
117
  * should run as. Source of truth is the Signal K server's own
@@ -155,11 +209,11 @@ function assertNonNegativeInt(field, value) {
155
209
  * accepts the same `--user` flag form as rootful, so the distinction
156
210
  * doesn't change our flag-emission logic.
157
211
  */
158
- async function probeRootless(runtime, env) {
212
+ async function probeRootless(runtime, env, prefixArgs = [], exec = defaultExec) {
159
213
  if (runtime !== "podman") {
160
214
  return false;
161
215
  }
162
- const result = await exec("podman", ["info", "--format", "{{.Host.Security.Rootless}}"], env);
216
+ const result = await exec("podman", [...prefixArgs, "info", "--format", "{{.Host.Security.Rootless}}"], env);
163
217
  if (result.exitCode !== 0) {
164
218
  return null;
165
219
  }
@@ -181,7 +235,7 @@ async function probeRootless(runtime, env) {
181
235
  * docker (which doesn't expose this via `info --format` and where
182
236
  * full controller availability is the typical case).
183
237
  */
184
- async function probeCgroupControllers(runtime, env) {
238
+ async function probeCgroupControllers(runtime, env, prefixArgs = [], exec = defaultExec) {
185
239
  if (runtime !== "podman") {
186
240
  // Docker doesn't expose CgroupControllers via `info --format`.
187
241
  // Assume all controllers are available — docker typically runs
@@ -190,7 +244,7 @@ async function probeCgroupControllers(runtime, env) {
190
244
  // can still see the original runtime error and adjust.
191
245
  return null;
192
246
  }
193
- const result = await exec("podman", ["info", "--format", "{{json .Host.CgroupControllers}}"], env);
247
+ const result = await exec("podman", [...prefixArgs, "info", "--format", "{{json .Host.CgroupControllers}}"], env);
194
248
  if (result.exitCode !== 0) {
195
249
  // Older podman versions, or podman info hung — fall back to
196
250
  // "not probed" rather than misleadingly empty.
@@ -207,15 +261,15 @@ async function probeCgroupControllers(runtime, env) {
207
261
  }
208
262
  return null;
209
263
  }
210
- export async function detectRuntime(preference) {
264
+ export async function detectRuntime(preference, exec = defaultExec) {
211
265
  const env = cleanEnv();
212
266
  if (preference !== "auto") {
213
- return tryRuntime(preference, env);
267
+ return tryRuntime(preference, env, exec);
214
268
  }
215
- const podman = await tryRuntime("podman", env);
269
+ const podman = await tryRuntime("podman", env, exec);
216
270
  if (podman)
217
271
  return podman;
218
- const docker = await tryRuntime("docker", env);
272
+ const docker = await tryRuntime("docker", env, exec);
219
273
  if (docker)
220
274
  return docker;
221
275
  return null;
@@ -223,8 +277,19 @@ export async function detectRuntime(preference) {
223
277
  export function runtimeCmd(info) {
224
278
  return info.isPodmanDockerShim ? "docker" : info.runtime;
225
279
  }
280
+ /**
281
+ * Build the full argv for a runtime invocation. Prepends
282
+ * `--remote --url <socket>` when `info.remoteSocketUrl` is set so
283
+ * commands route to a host podman daemon instead of attempting local
284
+ * execution; otherwise returns args unchanged.
285
+ */
286
+ function runtimeArgv(info, args) {
287
+ return info.remoteSocketUrl
288
+ ? ["--remote", "--url", info.remoteSocketUrl, ...args]
289
+ : args;
290
+ }
226
291
  export async function execRuntime(info, args) {
227
- return exec(runtimeCmd(info), args, cleanEnv());
292
+ return defaultExec(runtimeCmd(info), runtimeArgv(info, args), cleanEnv());
228
293
  }
229
294
  /**
230
295
  * Buffered line splitter for stdout/stderr chunks. Returns a function
@@ -258,6 +323,7 @@ export function makeLineSplitter(emit) {
258
323
  }
259
324
  export async function execRuntimeLong(info, args, onProgress, timeout, onStdoutLine, onStderrLine) {
260
325
  const cmd = runtimeCmd(info);
326
+ const fullArgs = runtimeArgv(info, args);
261
327
  const env = cleanEnv();
262
328
  const log = [];
263
329
  const maxLogLines = 200;
@@ -281,7 +347,7 @@ export async function execRuntimeLong(info, args, onProgress, timeout, onStdoutL
281
347
  //
282
348
  // child_process treats timeout=0 as "no timeout", so we forward it
283
349
  // when the caller didn't supply one.
284
- const proc = execFile(cmd, args, {
350
+ const proc = execFile(cmd, fullArgs, {
285
351
  env,
286
352
  maxBuffer: 10 * 1024 * 1024,
287
353
  timeout: timeout ?? 0,
@@ -347,12 +413,13 @@ export const SIGTERM_GRACE_PERIOD_MS = 2000;
347
413
  */
348
414
  export function spawnRuntimeStreaming(info, args, onLine, options) {
349
415
  const cmd = options?.binary ?? runtimeCmd(info);
416
+ const fullArgs = runtimeArgv(info, args);
350
417
  const env = options?.env ?? cleanEnv();
351
418
  const mergeStderr = options?.mergeStderr ?? false;
352
419
  let stopped = false;
353
420
  let proc = null;
354
421
  try {
355
- proc = spawn(cmd, args, {
422
+ proc = spawn(cmd, fullArgs, {
356
423
  env,
357
424
  stdio: ["ignore", "pipe", "pipe"],
358
425
  });
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -49,6 +49,22 @@ export interface ContainerRuntimeInfo {
49
49
  uid: number;
50
50
  gid: number;
51
51
  } | null;
52
+ /**
53
+ * Socket URL (e.g. `unix:///var/run/docker.sock`) for podman remote
54
+ * mode. Set when the in-container podman binary can't operate
55
+ * locally — typically because the image lacks the `uidmap` package
56
+ * and rootless user-namespace mapping fails with
57
+ * `exec: "newuidmap": executable file not found in $PATH` — but a
58
+ * host podman socket has been bind-mounted into the container.
59
+ *
60
+ * When set, every podman invocation is prefixed with
61
+ * `--remote --url <socket>` so commands route to the host daemon
62
+ * instead of attempting local execution. The actual runtime is
63
+ * still podman; the in-container binary just acts as a client.
64
+ *
65
+ * `undefined` for docker and for podman running directly.
66
+ */
67
+ remoteSocketUrl?: string;
52
68
  }
53
69
  export type ContainerState = "running" | "stopped" | "missing" | "no-runtime";
54
70
  /**
@@ -890,10 +906,20 @@ export interface SelfDeploymentResult {
890
906
  * true AND `missing` is non-empty, `status` escalates to
891
907
  * `cgroup-controllers-incomplete` (lower priority than runtime/socket/
892
908
  * self-id failures — those block more functionality).
909
+ *
910
+ * `kernelDisabledMemory` is true when `/proc/cmdline` contains
911
+ * `cgroup_disable=memory` without a later overriding
912
+ * `cgroup_enable=memory`. Hit on Raspberry Pi OS Trixie (and other
913
+ * RPi OS variants); the firmware-injected cmdline disables the memory
914
+ * controller before systemd ever sees it, so systemd's
915
+ * `Delegate=memory` has nothing to delegate. The doctor's remediation
916
+ * block surfaces the cmdline.txt fix in that case instead of the
917
+ * systemd-only fix that wouldn't help.
893
918
  */
894
919
  cgroupControllers: {
895
920
  available: string[] | null;
896
921
  missing: string[];
922
+ kernelDisabledMemory: boolean;
897
923
  };
898
924
  status: SelfDeploymentStatus;
899
925
  /** Empty when `status === "ok"`. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC9C,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,WAAW,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;IAC9C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,IAAI,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC5D;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;CAC7D;AAED,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAC5C,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;;;;;;;;;;;;;OAgBG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,IAAI,oBAAoB,GAAG,IAAI,CAAC;IAC1C;;;;;;;;OAQG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C;;;;OAIG;IACH,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjE;;;;;;;OAOG;IACH,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAAC;IACpD,aAAa,CACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;;;;;OAQG;IACH,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,eAAe,CACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACvD;;;;;;;;;;;;;;;;OAgBG;IACH,uBAAuB,CACrB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChE;;;;;;;;;;;;OAYG;IACH,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrB;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,MAAM,EAAE;QAC1B,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,qBAAqB,CACnB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;OAIG;IACH,QAAQ,EAAE,WAAW,CAAC;IACtB;;;;;OAKG;IACH,OAAO,EAAE,OAAO,oBAAoB,EAAE,gBAAgB,CAAC;IACvD;;;;;;OAMG;IACH,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;;;;;;OAYG;IACH,eAAe,CACb,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,GAC7B,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE5D;;;;;;;;;;;OAWG;IACH,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEhD;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAClB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,MAAM,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAC5B,IAAI,GACJ,YAAY,GACZ,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,+BAA+B,CAAC;AAEpC,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,eAAe,EAAE,OAAO,CAAC;IACzB,mDAAmD;IACnD,MAAM,EAAE;QACN,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;QACzB,oFAAoF;QACpF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,8EAA8E;QAC9E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACF,+CAA+C;IAC/C,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,CAAC;QACnB,8EAA8E;QAC9E,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;QACzB,gEAAgE;QAChE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,6DAA6D;QAC7D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;IACF,gEAAgE;IAChE,GAAG,EAAE;QACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF;;;;;OAKG;IACH,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC;KAC9C,CAAC;IACF;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,EAAE;QACjB,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,MAAM,EAAE,oBAAoB,CAAC;IAC7B,oCAAoC;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,KAAK,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B;4EACwE;IACxE,OAAO,EAAE,WAAW,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CAC9D;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,MAAM,EAAE,UAAU,GAAG,mBAAmB,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACxD;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpC;;;;;;;OAOG;IACH,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACrE;AAOD,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ # Enabling the memory cgroup controller on Raspberry Pi OS
2
+
3
+ ## Why this matters
4
+
5
+ On a Raspberry Pi 4 or 5 running Raspberry Pi OS Trixie (Debian 13 base, and likely earlier Pi OS releases), the GPU firmware injects `cgroup_disable=memory` into the kernel boot cmdline. That disables the **memory cgroup controller** at the kernel level — before `systemd` even starts.
6
+
7
+ Consequence for signalk-container: every consumer plugin that requests a memory limit (e.g. `memory: '1g'`) gets that limit **silently dropped**, because the controller systemd would otherwise delegate doesn't exist on this kernel. The container runs with no memory cap; on a Pi 5 with a busy kopia + rclone backup or a memory-hungry chart provider, that can OOM-kill the entire SK process.
8
+
9
+ This page is the operator's fix.
10
+
11
+ ## Diagnose
12
+
13
+ ```bash
14
+ grep -o "cgroup_disable=memory" /proc/cmdline
15
+ # Prints "cgroup_disable=memory" → you're hit.
16
+ # Empty output → not this case; see signalk-container's README "Cgroup
17
+ # controller delegation" section for the systemd-Delegate= fix instead.
18
+ ```
19
+
20
+ The signalk-container `/api/doctor/deployment` endpoint flags this case automatically with `status: cgroup-controllers-incomplete` and surfaces these same commands in its `remediation` array.
21
+
22
+ ## Fix
23
+
24
+ The kernel evaluates cmdline tokens left-to-right; **a later token wins**. Append `cgroup_enable=memory cgroup_memory=1` to `/boot/firmware/cmdline.txt` so it sits _after_ the firmware-injected `cgroup_disable=memory`.
25
+
26
+ ```bash
27
+ sudo cp /boot/firmware/cmdline.txt /boot/firmware/cmdline.txt.bak.$(date +%Y%m%d)
28
+ sudo sed -i 's/$/ cgroup_enable=memory cgroup_memory=1/' /boot/firmware/cmdline.txt
29
+ ```
30
+
31
+ > [!important]
32
+ > `/boot/firmware/cmdline.txt` MUST remain a single line. Verify:
33
+ >
34
+ > ```bash
35
+ > sudo wc -l /boot/firmware/cmdline.txt # 0 (no trailing newline is fine, > 1 line is broken)
36
+ > sudo cat /boot/firmware/cmdline.txt # eyeball the appended tokens
37
+ > ```
38
+
39
+ Reboot for the kernel to re-parse the cmdline:
40
+
41
+ ```bash
42
+ sudo reboot
43
+ ```
44
+
45
+ ## Verify after reboot
46
+
47
+ ```bash
48
+ grep -oE "cgroup_enable=memory|cgroup_disable=memory" /proc/cmdline
49
+ # Both tokens appear — that's expected; the later cgroup_enable wins.
50
+
51
+ cat /sys/fs/cgroup/cgroup.controllers
52
+ # Output must include "memory":
53
+ # cpuset cpu io memory pids
54
+ ```
55
+
56
+ Then check that the SK container sees it too:
57
+
58
+ ```bash
59
+ podman exec <sk-container> cat /sys/fs/cgroup/cgroup.controllers
60
+ # or: docker exec <sk-container> cat /sys/fs/cgroup/cgroup.controllers
61
+ # Should match the host view — memory present.
62
+ ```
63
+
64
+ ## If memory is still missing after reboot
65
+
66
+ The kernel side is fixed but you may also need the systemd Delegate= snippet so the controller actually reaches the user slice the SK container runs in:
67
+
68
+ ```bash
69
+ sudo mkdir -p /etc/systemd/system/user@.service.d
70
+ sudo tee /etc/systemd/system/user@.service.d/delegate.conf <<'EOF'
71
+ [Service]
72
+ Delegate=cpu cpuset io memory pids
73
+ EOF
74
+ sudo systemctl daemon-reload
75
+ ```
76
+
77
+ Then log the SK-owning user out and back in (or reboot once more). This is the same systemd snippet described in signalk-container's main README under "Cgroup controller delegation" — both layers (kernel + user-slice delegation) need to be in place on Pi OS.
78
+
79
+ ## Revert
80
+
81
+ If you ever need to roll back:
82
+
83
+ ```bash
84
+ sudo cp /boot/firmware/cmdline.txt.bak.<your-date> /boot/firmware/cmdline.txt
85
+ sudo reboot
86
+ ```
87
+
88
+ ## Related
89
+
90
+ - signalk-container README: `Cgroup controller delegation` — generic systemd-Delegate= fix and the broader rationale
91
+ - signalk-container `/api/doctor/deployment` — runtime detection of both the kernel-disabled-memory case and the missing-systemd-delegation case, with the right remediation surfaced for each
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "signalk-container",
3
- "version": "1.9.2",
3
+ "version": "1.9.4",
4
4
  "description": "Shared container runtime management (Podman/Docker) for Signal K plugins",
5
5
  "keywords": [
6
6
  "signalk-node-server-plugin",