signalk-container 1.26.0 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +11 -0
- package/README.md +1 -1
- package/dist/doctor.d.ts +14 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +139 -2
- package/dist/doctor.js.map +1 -1
- package/dist/doctorReport.d.ts +3 -1
- package/dist/doctorReport.d.ts.map +1 -1
- package/dist/doctorReport.js +18 -0
- package/dist/doctorReport.js.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -2
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/doc/run-in-container.md +7 -0
- package/package.json +1 -1
- package/public/configpanel-entry.js +10 -10
package/AGENTS.md
CHANGED
|
@@ -72,6 +72,17 @@ Rootless podman below 5.5.0 silently ignores `HostConfig.Ulimits` on the docker-
|
|
|
72
72
|
- When the host outright REJECTS the ask at container start (crun/runc `setrlimit` — classified `ulimit-rejected` in `src/errors.ts`, checked before the `permission` patterns because the raw text contains "operation not permitted"), the `ensureRunning` create path retries ONCE without the nofile entry — only when the rejection text names nofile (`NOFILE_REJECTION_RE`) — so the container starts on the runtime's default limits, then emits the clamp advisory with `granted` = the observed live hard limit (0 when no source is readable, e.g. podman machine on macOS where the ceiling probe returns null and the ask went through unclamped). Never loop the retry — the nofile ask is dropped at most once. The fallback shares one retry loop with the optimistic-device fallback: a create can trip both, in either order, and every retry rebuilds from the union of ALL concessions so far (dropped device binds + `DEVICES_UNRESOLVED_LABEL` stamp + dropped nofile ask) — a retry rebuilt from the pristine config would re-introduce something the runtime already refused and fail the start that both fallbacks are intended to save.
|
|
73
73
|
- The fallback container carries no nofile entry in its inspect echo, so the regrant reads `asked` from the live limit. Where neither source is readable (macOS) the regrant never fires; elsewhere it may attempt one recreate with the original ask, which fails the same way, re-enters the fallback, and is then bounded by `nofileRegrantAttempts` — do not add a separate attempt map for the fallback, and do not weaken that guard.
|
|
74
74
|
|
|
75
|
+
### Platform recognition (HaLOS)
|
|
76
|
+
|
|
77
|
+
`selfDeployment` reports `platform` (`HostPlatform | null`), detected from a platform-specific marker visible to the SK process (`detectPlatform` probe). Recognition only swaps the remediation **text** — it never changes `status`. When a recognised platform has a known, single fix for a failure mode, the doctor renders a platform-specific guide instead of the generic remediation; `remediationHalosDockerSocket` is the first such case (HaLOS + containerized + `permission-denied`), reading the socket's real GID via the `readSocketGid` probe.
|
|
78
|
+
|
|
79
|
+
The concrete package paths, the compose-edit mechanics, and the exact paste block live in `remediationHalosDockerSocket` / `halosFixScript` in `src/doctor.ts` — that function is the single source of truth, so do not restate them here or in operator docs (they drift when HaLOS packaging changes). The invariants that constrain any such guide:
|
|
80
|
+
|
|
81
|
+
- **The executable block must be safe to paste verbatim.** It derives the docker-socket GID itself at run time (`stat -c %g`) rather than baking a value in — so it works even when the `readSocketGid` probe returned null, and it never carries a `<placeholder>` that a verbatim paste would write literally into the compose. The probe value is used only for the human-readable prose; the block never depends on it.
|
|
82
|
+
- **It must edit narrowly.** It rewrites `group_add` only when the compose has exactly one `group_add:` block **and that block belongs to the `signalk-server` service** — a sole `group_add` on a different service must be refused, never mis-edited (the `sed` targets the first block, so the guard has to prove that block is the right one). Any other shape (multiple blocks, none, missing file, unreadable socket) no-ops with a note.
|
|
83
|
+
- **It must be idempotent** (operators re-run it after a platform update re-installs the file); the "already present" check is quoting-agnostic (`- 993` / `- "993"` / `- '993'`).
|
|
84
|
+
- **A non-packaged deployment must fall through.** Bare-metal Signal K on a HaLOS host (not containerized) gets the generic remediation, not this guide.
|
|
85
|
+
|
|
75
86
|
### Podman SELinux flag
|
|
76
87
|
|
|
77
88
|
`volumeArg(hostPath, containerPath, runtime)` adds `:Z` for podman bind mounts (Fedora/RHEL SELinux relabel). Named volumes — host strings without a leading `/` or `.` — MUST NOT receive `:Z`; podman rejects them with `"invalid option z for named volume"`. Always go through `volumeArg`, never build `-v host:container[:flags]` strings inline.
|
package/README.md
CHANGED
|
@@ -709,7 +709,7 @@ services:
|
|
|
709
709
|
|
|
710
710
|
You'll see "could not detect self container id" in the SignalK log when the cascade has failed; the override resolves it without code changes.
|
|
711
711
|
|
|
712
|
-
For a full walkthrough of the in-container deployment (socket bind-mount, self-container-id override, reference quadlet, troubleshooting table) see **[doc/run-in-container.md](doc/run-in-container.md)**.
|
|
712
|
+
For a full walkthrough of the in-container deployment (socket bind-mount, self-container-id override, reference quadlet, troubleshooting table) see **[doc/run-in-container.md](doc/run-in-container.md)**. On [HaLOS](https://github.com/halos-org/halos) the Doctor recognises the platform and renders a paste-once fix for the docker-socket permission it ships with — see [doc/run-in-container.md#halos](doc/run-in-container.md#halos).
|
|
713
713
|
|
|
714
714
|
## Connecting back to a container service (`signalkAccessiblePorts`)
|
|
715
715
|
|
package/dist/doctor.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ContainerConfig, ContainerRuntimeInfo, RuntimePreference, SelfDeploymentResult, SelfDeploymentStatus, SetupSnippetFormat, SetupSnippetResult } from "./types.js";
|
|
1
|
+
import type { ContainerConfig, ContainerRuntimeInfo, HostPlatform, RuntimePreference, SelfDeploymentResult, SelfDeploymentStatus, SetupSnippetFormat, SetupSnippetResult } from "./types.js";
|
|
2
2
|
import { type ContainerClient, type LibpodNetworkBackendInfo, type ResolvedClient } from "./client.js";
|
|
3
3
|
/**
|
|
4
4
|
* Outcome of an image-compliance probe. `ok` is the headline; `output`
|
|
@@ -119,6 +119,19 @@ export interface SelfDeploymentProbes {
|
|
|
119
119
|
* `client.ts`; tests inject a fake payload.
|
|
120
120
|
*/
|
|
121
121
|
readNetworkBackendInfo?: (client: ContainerClient) => Promise<LibpodNetworkBackendInfo | null>;
|
|
122
|
+
/**
|
|
123
|
+
* Recognise the host platform from markers visible to this process
|
|
124
|
+
* (production: `HALOS_RUNTIME_DIR` exists → `"halos"`). Returns `null`
|
|
125
|
+
* when no marker matches. Drives platform-specific remediation only.
|
|
126
|
+
*/
|
|
127
|
+
detectPlatform?: () => Promise<HostPlatform | null>;
|
|
128
|
+
/**
|
|
129
|
+
* Numeric group id owning a unix socket, or `null` when it cannot be
|
|
130
|
+
* read (absent, unsearchable parent, non-POSIX). Used to render the
|
|
131
|
+
* exact `group_add` value in the permission-denied guides instead of
|
|
132
|
+
* sending the operator off to `getent group docker`.
|
|
133
|
+
*/
|
|
134
|
+
readSocketGid?: (socketPath: string) => Promise<number | null>;
|
|
122
135
|
}
|
|
123
136
|
/**
|
|
124
137
|
* One row from `/proc/mounts`. Only the fields the doctor cares about.
|
package/dist/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/doctor.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { readFile, readdir } from "node:fs/promises";
|
|
1
|
+
import { readFile, readdir, stat } from "node:fs/promises";
|
|
2
2
|
import { userInfo } from "node:os";
|
|
3
3
|
import { posix } from "node:path";
|
|
4
4
|
import { PassThrough } from "node:stream";
|
|
@@ -429,7 +429,10 @@ export async function selfDeployment(preference, client = null, probes = {}) {
|
|
|
429
429
|
const probeReadLingerDir = probes.readLingerDir ?? defaultReadLingerDir;
|
|
430
430
|
const probeResolveLingerUser = probes.resolveLingerUser ?? defaultResolveLingerUser;
|
|
431
431
|
const probeReadNetworkBackendInfo = probes.readNetworkBackendInfo ?? libpodNetworkBackendInfo;
|
|
432
|
+
const probeDetectPlatform = probes.detectPlatform ?? defaultDetectPlatform;
|
|
433
|
+
const probeReadSocketGid = probes.readSocketGid ?? defaultReadSocketGid;
|
|
432
434
|
const containerized = probeIsContainerized();
|
|
435
|
+
const platform = await probeDetectPlatform();
|
|
433
436
|
const env = {
|
|
434
437
|
DOCKER_HOST: probeReadEnv("DOCKER_HOST") ?? null,
|
|
435
438
|
CONTAINER_HOST: probeReadEnv("CONTAINER_HOST") ?? null,
|
|
@@ -442,6 +445,7 @@ export async function selfDeployment(preference, client = null, probes = {}) {
|
|
|
442
445
|
if (!resolved) {
|
|
443
446
|
return {
|
|
444
447
|
isContainerized: containerized,
|
|
448
|
+
platform,
|
|
445
449
|
binary: { name: null, path: null, version: null },
|
|
446
450
|
daemon: {
|
|
447
451
|
reachable: false,
|
|
@@ -510,6 +514,7 @@ export async function selfDeployment(preference, client = null, probes = {}) {
|
|
|
510
514
|
// break on the port.
|
|
511
515
|
const baseResult = {
|
|
512
516
|
isContainerized: containerized,
|
|
517
|
+
platform,
|
|
513
518
|
binary: { name: binaryName, path: null, version: binaryVersion },
|
|
514
519
|
env,
|
|
515
520
|
cgroupControllers,
|
|
@@ -519,6 +524,14 @@ export async function selfDeployment(preference, client = null, probes = {}) {
|
|
|
519
524
|
};
|
|
520
525
|
if (!info.reachable) {
|
|
521
526
|
const status = classifyDaemonFailure(info.errorKind);
|
|
527
|
+
// HaLOS ships Signal K as a container app whose compose already mounts
|
|
528
|
+
// the host `/run` (so the docker socket is present) but whose
|
|
529
|
+
// `group_add` lacks the docker group — the one deployment where a
|
|
530
|
+
// refused socket has a single, known fix. Render that fix with the
|
|
531
|
+
// socket's actual GID instead of the generic compose advice.
|
|
532
|
+
const remediation = status === "permission-denied" && containerized && platform === "halos"
|
|
533
|
+
? remediationHalosDockerSocket(socketPath, await probeReadSocketGid(socketPath))
|
|
534
|
+
: remediationForDaemonFailure(status, binaryName, env);
|
|
522
535
|
return {
|
|
523
536
|
...baseResult,
|
|
524
537
|
daemon: {
|
|
@@ -529,7 +542,7 @@ export async function selfDeployment(preference, client = null, probes = {}) {
|
|
|
529
542
|
},
|
|
530
543
|
selfId: { value: null, source: null },
|
|
531
544
|
status,
|
|
532
|
-
remediation
|
|
545
|
+
remediation,
|
|
533
546
|
};
|
|
534
547
|
}
|
|
535
548
|
// 3. Self-id cascade (containerized only — bare-metal has no notion of self-id).
|
|
@@ -884,6 +897,130 @@ function remediationDockerSocket(dockerHost) {
|
|
|
884
897
|
" -v /var/run/docker.sock:/var/run/docker.sock",
|
|
885
898
|
];
|
|
886
899
|
}
|
|
900
|
+
/**
|
|
901
|
+
* Directory halos-core-containers publishes on every HaLOS host
|
|
902
|
+
* (`domain.env`, `routing-labels/`). HaLOS's `signalk-server` app
|
|
903
|
+
* bind-mounts the host `/run` into the Signal K container, so seeing this
|
|
904
|
+
* directory from inside the container identifies the platform.
|
|
905
|
+
*/
|
|
906
|
+
const HALOS_RUNTIME_DIR = "/run/halos";
|
|
907
|
+
/**
|
|
908
|
+
* Where HaLOS's container-app packaging installs the Signal K compose
|
|
909
|
+
* file and what its systemd unit is called. Both come from
|
|
910
|
+
* halos-org/container-packaging-tools (`/var/lib/container-apps/<app>/`,
|
|
911
|
+
* `<app>.service`) with the app id `signalk-server`.
|
|
912
|
+
*/
|
|
913
|
+
const HALOS_SIGNALK_COMPOSE = "/var/lib/container-apps/signalk-server/docker-compose.yml";
|
|
914
|
+
const HALOS_SIGNALK_SERVICE = "signalk-server";
|
|
915
|
+
async function defaultDetectPlatform() {
|
|
916
|
+
try {
|
|
917
|
+
const s = await stat(HALOS_RUNTIME_DIR);
|
|
918
|
+
return s.isDirectory() ? "halos" : null;
|
|
919
|
+
}
|
|
920
|
+
catch {
|
|
921
|
+
return null;
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
async function defaultReadSocketGid(socketPath) {
|
|
925
|
+
try {
|
|
926
|
+
const s = await stat(socketPath);
|
|
927
|
+
return s.isSocket() ? s.gid : null;
|
|
928
|
+
}
|
|
929
|
+
catch {
|
|
930
|
+
return null;
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
/**
|
|
934
|
+
* The paste block for the HaLOS guide, as a self-contained POSIX-sh
|
|
935
|
+
* script. It derives the socket's group id at run time (`stat -c %g`)
|
|
936
|
+
* rather than baking a value in, so it is always safe to paste verbatim —
|
|
937
|
+
* even when the plugin could not read the gid itself — and never carries a
|
|
938
|
+
* placeholder that a verbatim paste would write literally. It edits the
|
|
939
|
+
* `signalk-server` service's `group_add` list only, guarding on:
|
|
940
|
+
*
|
|
941
|
+
* - the socket group being readable (else it prints why and stops);
|
|
942
|
+
* - the compose file existing (else it points at the by-hand note);
|
|
943
|
+
* - the compose having exactly one `group_add:` block AND that block
|
|
944
|
+
* belonging to the `signalk-server` service (so it can never add the
|
|
945
|
+
* group to an unrelated service, and never edits the wrong service when
|
|
946
|
+
* the sole block is someone else's);
|
|
947
|
+
* - the gid not already being present in that list, matched regardless of
|
|
948
|
+
* YAML quoting (`- 993` / `- "993"` / `- '993'`), so re-runs are no-ops.
|
|
949
|
+
*
|
|
950
|
+
* `socketPath` and the service token are the only interpolated values;
|
|
951
|
+
* both come from plugin-internal constants / the resolved socket path, not
|
|
952
|
+
* user input reaching this string.
|
|
953
|
+
*/
|
|
954
|
+
function halosFixScript(socketPath) {
|
|
955
|
+
const svc = HALOS_SIGNALK_SERVICE;
|
|
956
|
+
// Lines of the signalk-server service block (until the next top-level
|
|
957
|
+
// service key), used to confirm the sole group_add is that service's.
|
|
958
|
+
const svcBlock = String.raw `awk '$0==" ${svc}:"{i=1;next} /^ [A-Za-z0-9._-]+:[[:space:]]*$/{i=0} i' "$F"`;
|
|
959
|
+
return [
|
|
960
|
+
` SOCK=${socketPath}`,
|
|
961
|
+
` F=${HALOS_SIGNALK_COMPOSE}`,
|
|
962
|
+
String.raw ` G=$(stat -c %g "$SOCK" 2>/dev/null)`,
|
|
963
|
+
String.raw ` if [ -z "$G" ]; then echo "Could not read the group of $SOCK — is the socket present?";`,
|
|
964
|
+
String.raw ` elif [ ! -f "$F" ]; then echo "Not the standard HaLOS app ($F not found) — see the note below";`,
|
|
965
|
+
String.raw ` elif [ "$(grep -c '^[[:space:]]*group_add:[[:space:]]*$' "$F")" != "1" ] || ! ` +
|
|
966
|
+
String.raw `${svcBlock} | grep -qE '^[[:space:]]*group_add:[[:space:]]*$'; then ` +
|
|
967
|
+
String.raw `echo "Unexpected compose shape — add the group by hand (see the note below)";`,
|
|
968
|
+
String.raw ` elif grep -Eq "^[[:space:]]*-[[:space:]]*[\"']?$G[\"']?([[:space:]]|$|#)" "$F"; then ` +
|
|
969
|
+
String.raw `echo "Already set (nothing to do)";`,
|
|
970
|
+
String.raw ` else sudo sed -i "s/^\( *\)group_add:$/&\n\1 - \"$G\" # docker socket (Signal K Container Manager)/" "$F" ` +
|
|
971
|
+
String.raw `&& sudo systemctl restart ${svc} && echo "Done — added group $G and restarted ${svc}"; fi`,
|
|
972
|
+
];
|
|
973
|
+
}
|
|
974
|
+
/**
|
|
975
|
+
* Step-by-step guide for a HaLOS operator whose Signal K container is
|
|
976
|
+
* refused by the docker socket. HaLOS has no UI setting for extra
|
|
977
|
+
* container groups and its unit passes `-f` explicitly (so a compose
|
|
978
|
+
* override file is not picked up); the workable fix is one edit to the
|
|
979
|
+
* packaged compose file, which the guide renders as a paste-once block
|
|
980
|
+
* (`halosFixScript`). The socket's real GID is shown in the prose when the
|
|
981
|
+
* plugin could read it, but the paste block always derives it itself so it
|
|
982
|
+
* is safe to run even when it could not.
|
|
983
|
+
*/
|
|
984
|
+
function remediationHalosDockerSocket(socketPath, socketGid) {
|
|
985
|
+
const owner = socketGid === null
|
|
986
|
+
? "but the Signal K container's user is not in the group that owns it,"
|
|
987
|
+
: `but the Signal K container's user is not in its owning group (GID ${socketGid}),`;
|
|
988
|
+
return [
|
|
989
|
+
"HaLOS detected. If you installed Signal K from the HaLOS app store (the",
|
|
990
|
+
"standard 'signalk-server' container app), HaLOS already mounts the host",
|
|
991
|
+
`docker socket (${socketPath}),`,
|
|
992
|
+
owner,
|
|
993
|
+
"so every request is refused. A one-time edit to that app's compose file",
|
|
994
|
+
"grants the group. No other change is needed.",
|
|
995
|
+
"",
|
|
996
|
+
"Step 1 — open a terminal on the HaLOS box. No install or SSH is needed:",
|
|
997
|
+
" in your browser open https://halos.local/system/terminal",
|
|
998
|
+
" (that is Cockpit's built-in Terminal — log in as the pi/admin user).",
|
|
999
|
+
" SSH works too if you prefer: ssh pi@halos.local",
|
|
1000
|
+
"",
|
|
1001
|
+
"Step 2 — copy the whole block below, paste it into the terminal, press",
|
|
1002
|
+
" Enter. It reads the docker group itself and edits only the signalk-server",
|
|
1003
|
+
" service, so it is safe to run as-is: on any other shape it changes",
|
|
1004
|
+
" nothing and tells you to edit by hand:",
|
|
1005
|
+
"",
|
|
1006
|
+
...halosFixScript(socketPath),
|
|
1007
|
+
"",
|
|
1008
|
+
'Step 3 — when it prints "Done", Signal K restarts (allow about a minute).',
|
|
1009
|
+
" Reload this page and open Doctor again: it should report 'Runtime ready'.",
|
|
1010
|
+
"",
|
|
1011
|
+
"Notes:",
|
|
1012
|
+
" - Nothing else about HaLOS changes; the group only lets Signal K talk",
|
|
1013
|
+
" to docker so plugins can start their own containers.",
|
|
1014
|
+
" - Updating the app in HaLOS re-installs the compose file and undoes the",
|
|
1015
|
+
" edit. This Doctor will flag it again — just repeat step 2.",
|
|
1016
|
+
" - If step 2 said it was not the standard HaLOS app or the compose shape",
|
|
1017
|
+
" was unexpected, add the group by hand: find the group that owns the",
|
|
1018
|
+
" docker socket with stat -c %g " + socketPath + " , then add a line",
|
|
1019
|
+
' - "<that number>"',
|
|
1020
|
+
" under the signalk-server service's 'group_add:' list in the compose",
|
|
1021
|
+
" file that starts your Signal K container, save, and restart it.",
|
|
1022
|
+
];
|
|
1023
|
+
}
|
|
887
1024
|
const REMEDIATION_NO_RUNTIME_BARE_METAL = [
|
|
888
1025
|
"No container runtime socket answered the Docker API. Install a runtime",
|
|
889
1026
|
"and make sure its socket is running:",
|
package/dist/doctor.js.map
CHANGED
|
@@ -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/doctorReport.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SelfDeploymentResult, SelfDeploymentStatus } from "./types.js";
|
|
1
|
+
import type { HostPlatform, SelfDeploymentResult, SelfDeploymentStatus } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Boundary validator for the `/doctor/deployment` REST response. The
|
|
4
4
|
* config-panel fetch trusts the server, but a stale plugin version or a
|
|
@@ -14,6 +14,8 @@ export declare function isSelfDeploymentResult(value: unknown): value is SelfDep
|
|
|
14
14
|
* all six statuses. Shared by the Doctor popup and the copy-able report.
|
|
15
15
|
*/
|
|
16
16
|
export declare function headlineForStatus(status: SelfDeploymentStatus): string;
|
|
17
|
+
/** Human label for a recognised host platform. */
|
|
18
|
+
export declare function platformLabel(platform: HostPlatform): string;
|
|
17
19
|
/**
|
|
18
20
|
* Render a `SelfDeploymentResult` as a plain-text report suitable for the
|
|
19
21
|
* clipboard or a support thread. One labelled fact per line, then the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctorReport.d.ts","sourceRoot":"","sources":["../src/doctorReport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"doctorReport.d.ts","sourceRoot":"","sources":["../src/doctorReport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAMpB;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,oBAAoB,CAmD/B;AAgCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAetE;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAK5D;AAWD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CA+GlE"}
|
package/dist/doctorReport.js
CHANGED
|
@@ -18,6 +18,15 @@ export function isSelfDeploymentResult(value) {
|
|
|
18
18
|
return false;
|
|
19
19
|
if (!Array.isArray(value.remediation))
|
|
20
20
|
return false;
|
|
21
|
+
// `platform` is absent in payloads from older servers; a present value
|
|
22
|
+
// must be null or a recognised platform token. Accepting an arbitrary
|
|
23
|
+
// string would let `platformLabel` (exhaustive over HostPlatform) render
|
|
24
|
+
// `undefined` in the report and modal.
|
|
25
|
+
if ("platform" in value &&
|
|
26
|
+
value.platform !== null &&
|
|
27
|
+
value.platform !== "halos") {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
21
30
|
if (!isObj(value.binary))
|
|
22
31
|
return false;
|
|
23
32
|
if (!isObj(value.daemon) || typeof value.daemon.reachable !== "boolean")
|
|
@@ -113,6 +122,13 @@ export function headlineForStatus(status) {
|
|
|
113
122
|
return "Host cgroup controllers not fully delegated";
|
|
114
123
|
}
|
|
115
124
|
}
|
|
125
|
+
/** Human label for a recognised host platform. */
|
|
126
|
+
export function platformLabel(platform) {
|
|
127
|
+
switch (platform) {
|
|
128
|
+
case "halos":
|
|
129
|
+
return "HaLOS";
|
|
130
|
+
}
|
|
131
|
+
}
|
|
116
132
|
function or(value, dash = "—") {
|
|
117
133
|
return value == null || value === "" ? dash : value;
|
|
118
134
|
}
|
|
@@ -132,6 +148,8 @@ export function formatDoctorReport(r) {
|
|
|
132
148
|
lines.push(`status: ${r.status}`);
|
|
133
149
|
lines.push("");
|
|
134
150
|
lines.push(`containerized: ${yesNo(r.isContainerized)}`);
|
|
151
|
+
if (r.platform)
|
|
152
|
+
lines.push(`platform: ${platformLabel(r.platform)}`);
|
|
135
153
|
lines.push(`runtime: ${or(r.binary.name)} ${or(r.binary.version, "")}`.trimEnd());
|
|
136
154
|
lines.push(`daemon reachable: ${yesNo(r.daemon.reachable)}`);
|
|
137
155
|
lines.push(`rootless: ${yesNo(r.daemon.rootless)}`);
|
package/dist/doctorReport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctorReport.js","sourceRoot":"","sources":["../src/doctorReport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctorReport.js","sourceRoot":"","sources":["../src/doctorReport.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IRouter } from "express";
|
|
2
|
-
import { PluginConfig } from "./types.js";
|
|
2
|
+
import { PluginConfig, SelfDeploymentResult } from "./types.js";
|
|
3
3
|
import { type NotificationApp } from "./notifications.js";
|
|
4
4
|
interface App {
|
|
5
5
|
debug: (...args: unknown[]) => void;
|
|
@@ -150,4 +150,11 @@ declare const _default: (app: App) => {
|
|
|
150
150
|
registerWithRouter(router: IRouter): void;
|
|
151
151
|
};
|
|
152
152
|
export default _default;
|
|
153
|
+
/**
|
|
154
|
+
* One-line dashboard text for a degraded doctor result. On HaLOS a refused
|
|
155
|
+
* docker socket has a known three-step fix, so the line says so up front
|
|
156
|
+
* rather than reading like a generic failure; every other case keeps the
|
|
157
|
+
* status headline.
|
|
158
|
+
*/
|
|
159
|
+
export declare function pluginErrorForDoctor(doctor: SelfDeploymentResult, headline: string): string;
|
|
153
160
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAgBL,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAgBL,YAAY,EAIZ,oBAAoB,EAMrB,MAAM,YAAY,CAAC;AAWpB,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAsE5B,UAAU,GAAG;IACX,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAClB,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,KAAK,IAAI,KAC5C,IAAI,CAAC;IACV;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;yBAee,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAw/DN,YAAY;;+BAwSC,OAAO;;AAhyEtC,wBAmwFE;AA2BF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR"}
|
package/dist/index.js
CHANGED
|
@@ -1843,7 +1843,7 @@ export default (app) => {
|
|
|
1843
1843
|
// short because it shows inline in the admin UI.
|
|
1844
1844
|
const doctor = await selfDeployment(preference);
|
|
1845
1845
|
const headline = headlineForDoctorStatus(doctor.status);
|
|
1846
|
-
app.setPluginError(
|
|
1846
|
+
app.setPluginError(pluginErrorForDoctor(doctor, headline));
|
|
1847
1847
|
if (doctor.remediation.length > 0) {
|
|
1848
1848
|
app.error(`signalk-container deployment doctor — ${headline}:\n${doctor.remediation.join("\n")}`);
|
|
1849
1849
|
}
|
|
@@ -1868,7 +1868,7 @@ export default (app) => {
|
|
|
1868
1868
|
const surfacing = doctorSurfacing(doctor.status, doctor.remediation.length);
|
|
1869
1869
|
if (surfacing === "error") {
|
|
1870
1870
|
const headline = headlineForDoctorStatus(doctor.status);
|
|
1871
|
-
app.setPluginError(
|
|
1871
|
+
app.setPluginError(pluginErrorForDoctor(doctor, headline));
|
|
1872
1872
|
if (doctor.remediation.length > 0) {
|
|
1873
1873
|
app.error(`signalk-container deployment doctor — ${headline}:\n${doctor.remediation.join("\n")}`);
|
|
1874
1874
|
}
|
|
@@ -2470,6 +2470,18 @@ function headlineForDoctorStatus(status) {
|
|
|
2470
2470
|
return "Runtime ready";
|
|
2471
2471
|
}
|
|
2472
2472
|
}
|
|
2473
|
+
/**
|
|
2474
|
+
* One-line dashboard text for a degraded doctor result. On HaLOS a refused
|
|
2475
|
+
* docker socket has a known three-step fix, so the line says so up front
|
|
2476
|
+
* rather than reading like a generic failure; every other case keeps the
|
|
2477
|
+
* status headline.
|
|
2478
|
+
*/
|
|
2479
|
+
export function pluginErrorForDoctor(doctor, headline) {
|
|
2480
|
+
const lead = doctor.platform === "halos" && doctor.status === "permission-denied"
|
|
2481
|
+
? "HaLOS: Signal K is not yet allowed to use docker (one-time fix)"
|
|
2482
|
+
: headline;
|
|
2483
|
+
return `${lead}. Open this plugin's config screen and click Doctor for details and remediation.`;
|
|
2484
|
+
}
|
|
2473
2485
|
function parseDurationOrDefault(input, fallback) {
|
|
2474
2486
|
if (!input)
|
|
2475
2487
|
return fallback;
|