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 +35 -6
- package/dist/doctor.d.ts +12 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +125 -32
- package/dist/doctor.js.map +1 -1
- package/dist/runtime.d.ts +17 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +82 -15
- package/dist/runtime.js.map +1 -1
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -1
- package/doc/cgroup-memory-on-raspberry-pi-os.md +91 -0
- package/package.json +1 -1
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. **
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
2. **The runtime socket is bind-mounted** from the host
|
|
471
|
-
rootful
|
|
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`
|
package/dist/doctor.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
349
|
-
* is `[]` — we won't escalate status on a host we can't
|
|
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
|
|
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`.
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
*
|
|
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
|
|
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
|
-
"
|
|
450
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
459
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
468
|
-
"
|
|
469
|
-
"
|
|
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.",
|
package/dist/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAW5C,OAAO,EAEL,mBAAmB,EACnB,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAiB9E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA6B,EAC7B,KAAa,EACb,IAA6B,EAC7B,OAAe,WAAW;IAE1B,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG;QACX,KAAK;QACL,MAAM;QACN,GAAG,SAAS;QACZ,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;QAC5B,IAAI;QACJ,IAAI;QACJ,yBAAyB;KAC1B,CAAC;IACF,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM;gBACN,KAAK,EAAE,8BAA8B,CAAC,CAAC,QAAQ,EAAE;aAClD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM;gBACN,KAAK,EAAE,4DAA4D;aACpE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAiCD;;;;;;;;;;;;;GAaG;AACH,MAAM,2BAA2B,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAExE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAA6B,EAC7B,OAAe,WAAW,EAC1B,SAA+B,EAAE;IAEjC,MAAM,oBAAoB,GAAG,MAAM,CAAC,eAAe,IAAI,eAAe,CAAC;IACvE,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,IAAI,iBAAiB,CAAC;IAC/D,MAAM,sBAAsB,GAC1B,MAAM,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;IACvD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,0BAA0B,GAC9B,MAAM,CAAC,qBAAqB,IAAI,4BAA4B,CAAC;IAE/D,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG;QACV,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,IAAI,IAAI;QAChD,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,IAAI,IAAI;QACtD,eAAe,EAAE,YAAY,CAAC,iBAAiB,CAAC,IAAI,IAAI;KACzD,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CACpD,0BAA0B,CAC3B,CAAC;IAEF,oEAAoE;IACpE,MAAM,UAAU,GACd,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE9D,IAAI,UAAU,GAAuB,IAAI,CAAC;IAC1C,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,aAAa,GAAkB,IAAI,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzD,UAAU,GAAG,IAAI,CAAC;QAClB,UAAU,GAAG,IAAI,CAAC;QAClB,aAAa,GAAG,OAAO,CAAC;QACxB,MAAM;IACR,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,eAAe,EAAE,aAAa;YAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;YACjD,MAAM,EAAE;gBACN,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,4BAA4B;aACpC;YACD,GAAG;YACH,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACrC,iBAAiB;YACjB,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,aAAa;gBACxB,CAAC,CAAC,oCAAoC;gBACtC,CAAC,CAAC,iCAAiC;SACtC,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG;QACjB,eAAe,EAAE,aAAa;QAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;QACtE,GAAG;QACH,iBAAiB;KAClB,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO;YACL,GAAG,UAAU;YACb,MAAM,EAAE;gBACN,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,IAAI;gBACd,UAAU;gBACV,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,UAAU,gBAAgB,IAAI,CAAC,QAAQ,EAAE;aACnE;YACD,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACrC,MAAM;YACN,WAAW,EAAE,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,IAAI,MAAM,GAAmC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3E,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,WAAW,GAAyB;YACxC,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,aAAa,IAAI,SAAS;YACnC,kBAAkB,EAAE,KAAK;YACzB,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;QACF,MAAM,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO;gBACL,GAAG,UAAU;gBACb,MAAM,EAAE;oBACN,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,UAAU;oBACV,KAAK,EAAE,IAAI;iBACZ;gBACD,MAAM;gBACN,MAAM,EAAE,oBAAoB;gBAC5B,WAAW,EAAE,8BAA8B;aAC5C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,IAAI,aAAa,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO;YACL,GAAG,UAAU;YACb,MAAM,EAAE;gBACN,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU;gBACV,KAAK,EAAE,IAAI;aACZ;YACD,MAAM;YACN,MAAM,EAAE,+BAA+B;YACvC,WAAW,EAAE,4BAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC;SACrE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,UAAU;QACb,MAAM,EAAE;YACN,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU;YACV,KAAK,EAAE,IAAI;SACZ;QACD,MAAM;QACN,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,EAAE;KAChB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,IAAiB;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CACN,IAAI,EACJ,CAAC,IAAI,EAAE,cAAc,IAAI,EAAE,CAAC,EAC5B,EAAE,OAAO,EAAE,IAAI,EAAE,EACjB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAChB,IAAI,KAAK;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,wBAAwB,CAC/B,IAAiB,EACjB,IAAY;IAEZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,iEAAiE;QACjE,gEAAgE;QAChE,iCAAiC;QACjC,QAAQ,CACN,IAAI,IAAI,IAAI,EACZ,CAAC,WAAW,CAAC,EACb,EAAE,OAAO,EAAE,IAAI,EAAE,EACjB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAChB,IAAI,KAAK;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC3B,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AASD;;;;;GAKG;AACH,KAAK,UAAU,WAAW,CACxB,MAAmB,EACnB,OAAsB,EACtB,IAAY;IAEZ,MAAM,WAAW,GAAyB;QACxC,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,OAAO,IAAI,SAAS;QAC7B,kBAAkB,EAAE,KAAK;KAC1B,CAAC;IACF,MAAM,MAAM,GACV,MAAM,KAAK,QAAQ;QACjB,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,0CAA0C,CAAC;IACjD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;SACxB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAmB,IAAI,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,MAAM;YAAE,QAAQ,GAAG,IAAI,CAAC;aACnC,IAAI,OAAO,KAAK,OAAO;YAAE,QAAQ,GAAG,KAAK,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACpE,0CAA0C;IAC1C,IACE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC3C,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACpC,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EACvC,CAAC;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,uEAAuE;IACvE,qEAAqE;IACrE,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,MAAmB,EACnB,GAAgC;IAEhC,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC;IACxD,oEAAoE;IACpE,oEAAoE;IACpE,YAAY;IACZ,OAAO,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,4BAA4B;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAC;QACxE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,eAA+C;IAE/C,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;IAC1C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,OAAiB;IACrD,OAAO;QACL,yFAAyF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC9G,wGAAwG;QACxG,EAAE;QACF,0DAA0D;QAC1D,qDAAqD;QACrD,sEAAsE;QACtE,aAAa;QACb,sCAAsC;QACtC,OAAO;QACP,gCAAgC;QAChC,EAAE;QACF,4EAA4E;QAC5E,6IAA6I;QAC7I,uFAAuF;QACvF,oEAAoE;QACpE,0EAA0E;KAC3E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,uBAAuB,CACpC,WAAiC,EACjC,OAA4C;IAE5C,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5D,IAAI,WAAW,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,2BAA2B,CAClC,MAA4B,EAC5B,MAAmB,EACnB,GAAgC;IAEhC,IAAI,MAAM,KAAK,mBAAmB;QAAE,OAAO,6BAA6B,CAAC;IACzE,OAAO,MAAM,KAAK,QAAQ;QACxB,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,UAAyB;IACxD,OAAO;QACL,+DAA+D;QAC/D,eAAe,UAAU,IAAI,SAAS,EAAE;QACxC,EAAE;QACF,oBAAoB;QACpB,gCAAgC;QAChC,8BAA8B;QAC9B,EAAE;QACF,qDAAqD;QACrD,gDAAgD;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,iCAAiC,GAAa;IAClD,0CAA0C;IAC1C,sEAAsE;IACtE,qEAAqE;IACrE,mEAAmE;IACnE,kCAAkC;CACnC,CAAC;AAEF,MAAM,oCAAoC,GAAa;IACrD,kEAAkE;IAClE,yEAAyE;IACzE,EAAE;IACF,kEAAkE;IAClE,8DAA8D;IAC9D,yEAAyE;IACzE,wEAAwE;IACxE,mEAAmE;IACnE,8CAA8C;IAC9C,EAAE;IACF,mDAAmD;IACnD,EAAE;IACF,wEAAwE;IACxE,qFAAqF;IACrF,qEAAqE;IACrE,+BAA+B;IAC/B,EAAE;IACF,oBAAoB;IACpB,yDAAyD;IACzD,uDAAuD;IACvD,EAAE;IACF,YAAY;IACZ,mDAAmD;IACnD,8EAA8E;CAC/E,CAAC;AAEF,MAAM,qCAAqC,GAAa;IACtD,0DAA0D;IAC1D,iDAAiD;IACjD,EAAE;IACF,oBAAoB;IACpB,yCAAyC;IACzC,+CAA+C;IAC/C,EAAE;IACF,sEAAsE;IACtE,kFAAkF;IAClF,kEAAkE;CACnE,CAAC;AAEF,MAAM,6BAA6B,GAAa;IAC9C,qDAAqD;IACrD,EAAE;IACF,yEAAyE;IACzE,wEAAwE;IACxE,gBAAgB;IAChB,EAAE;IACF,qEAAqE;IACrE,kDAAkD;IAClD,cAAc;IACd,gCAAgC;CACjC,CAAC;AAEF,MAAM,8BAA8B,GAAa;IAC/C,2EAA2E;IAC3E,wEAAwE;IACxE,EAAE;IACF,+DAA+D;IAC/D,yDAAyD;IACzD,EAAE;IACF,sEAAsE;CACvE,CAAC;AAEF;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA4B,EAC5B,SAA6B,SAAS,EACtC,WAAgD,IAAI;IAEpD,MAAM,OAAO,GAAgB,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC;IAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,IAAI,CAAC;IAClC,MAAM,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,IAAI,CAAC;IAElC,MAAM,GAAG,GAAmB;QAC1B,OAAO;QACP,QAAQ;QACR,GAAG;QACH,GAAG;QACH,mBAAmB,EACjB,MAAM,CAAC,eAAe;YACtB,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;YAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;QAChC,kBAAkB,EAAE,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;QAC1E,aAAa,EAAE,QAAQ,KAAK,IAAI;KACjC,CAAC;IAEF,MAAM,OAAO,GACX,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE7C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AACnE,CAAC;AAgBD;;;;;GAKG;AACH,SAAS,YAAY,CAAC,OAAoB,EAAE,QAAwB;IAClE,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IACvC,OAAO,OAAO,KAAK,QAAQ,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,GAAmB;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa;QAChC,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG;QACrC,CAAC,CAAC,gEAAgE,CAAC;IACrE,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,UAAU,GACd,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,kBAAkB;QAC/C,CAAC,CAAC,sCAAsC;QACxC,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,aAAa,GACjB,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ;QACvC,CAAC,CAAC;YACE,gBAAgB;YAChB,+DAA+D;SAChE;QACH,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,KAAK,GAAa;QACtB,WAAW;QACX,YAAY;QACZ,mCAAmC;QACnC,QAAQ;QACR,cAAc;QACd,GAAG,WAAW,CAAC,UAAU;QACzB,wCAAwC;QACxC,kBAAkB;QAClB,GAAG,WAAW,CAAC,OAAO;KACvB,CAAC;IACF,IAAI,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CACR,YAAY,EACZ,YAAY,oBAAoB,IAAI,oBAAoB,GAAG,CAC5D,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAmB;IAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;IACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa;QAChC,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE;QAChC,CAAC,CAAC,4BAA4B,CAAC;IACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GACZ,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ;QACvC,CAAC,CAAC,CAAC,oDAAoD,CAAC;QACxD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,SAAS,GACb,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,kBAAkB;QAC/C,CAAC,CAAC,CAAC,iCAAiC,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,KAAK,GAAa;QACtB,GAAG,GAAG,SAAS;QACf,gBAAgB;QAChB,QAAQ;QACR,GAAG,MAAM,CAAC,OAAO;QACjB,mCAAmC;QACnC,GAAG,SAAS;QACZ,GAAG,QAAQ;QACX,MAAM,oBAAoB,IAAI,oBAAoB,EAAE;QACpD,wBAAwB;KACzB,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAWD;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,GAAmB,EACnB,MAA0B;IAE1B,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9D,MAAM,QAAQ,GAAG,aAAa,MAAM,qBAAqB,CAAC;QAC1D,MAAM,MAAM,GAAG,UAAU,QAAQ,EAAE,CAAC;QACpC,OAAO;YACL,UAAU,EAAE,CAAC,WAAW,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC/C,OAAO,EAAE,CAAC,0BAA0B,MAAM,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAC,MAAM,QAAQ,IAAI,QAAQ,EAAE,EAAE,qBAAqB,MAAM,EAAE,CAAC;SACvE,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QAC3C,MAAM,MAAM,GAAG,UAAU,QAAQ,EAAE,CAAC;QACpC,OAAO;YACL,UAAU,EAAE,CAAC,WAAW,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC/C,OAAO,EAAE,CAAC,0BAA0B,MAAM,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAC,MAAM,QAAQ,IAAI,QAAQ,EAAE,EAAE,qBAAqB,MAAM,EAAE,CAAC;SACvE,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,KAAK,MAAM,CAAC;IACZ,OAAO;QACL,UAAU,EAAE,CAAC,mDAAmD,CAAC;QACjE,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,CAAC,8CAA8C,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,OAAoB;IAC5C,MAAM,GAAG,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC;IAC9D,OAAO;QACL,oEAAoE;QACpE,8CAA8C;QAC9C,4CAA4C,GAAG,iCAAiC;QAChF,4BAA4B;QAC5B,OAAO,KAAK,QAAQ;YAClB,CAAC,CAAC,oCAAoC;YACtC,CAAC,CAAC,oCAAoC;KACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,GAAmB,EACnB,MAA4B;IAE5B,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CACN,mEAAmE;YACjE,6DAA6D;YAC7D,mCAAmC,CACtC,CAAC;IACJ,CAAC;SAAM,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,CACN,gEAAgE;YAC9D,yCAAyC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG;YAChE,6DAA6D,CAChE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CACN,6DAA6D;YAC3D,6DAA6D;YAC7D,+DAA+D;YAC/D,6BAA6B,CAChC,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9C,GAAG,CAAC,IAAI,CACN,gEAAgE;YAC9D,2DAA2D;YAC3D,gEAAgE;YAChE,gEAAgE;YAChE,eAAe,CAClB,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9C,GAAG,CAAC,IAAI,CACN,iEAAiE;YAC/D,8DAA8D,CACjE,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
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;
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EAEpB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAMzC;
|
|
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
|
-
|
|
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
|
-
|
|
50
|
-
|
|
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
|
|
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,
|
|
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,
|
|
422
|
+
proc = spawn(cmd, fullArgs, {
|
|
356
423
|
env,
|
|
357
424
|
stdio: ["ignore", "pipe", "pipe"],
|
|
358
425
|
});
|
package/dist/runtime.js.map
CHANGED
|
@@ -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"`. */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|