jishushell 0.4.10 → 0.4.17
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/INSTALL-NOTICE +10 -12
- package/dist/cli/app.d.ts +3 -0
- package/dist/cli/app.js +156 -0
- package/dist/cli/app.js.map +1 -0
- package/dist/{doctor.d.ts → cli/doctor.d.ts} +6 -1
- package/dist/{doctor.js → cli/doctor.js} +343 -14
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/helpers.d.ts +4 -0
- package/dist/cli/helpers.js +32 -0
- package/dist/cli/helpers.js.map +1 -0
- package/dist/cli/job.d.ts +3 -0
- package/dist/cli/job.js +260 -0
- package/dist/cli/job.js.map +1 -0
- package/dist/cli/llm.d.ts +24 -0
- package/dist/cli/llm.js +593 -0
- package/dist/cli/llm.js.map +1 -0
- package/dist/cli/openclaw.d.ts +12 -0
- package/dist/cli/openclaw.js +156 -0
- package/dist/cli/openclaw.js.map +1 -0
- package/dist/cli/panel.d.ts +25 -0
- package/dist/cli/panel.js +734 -0
- package/dist/cli/panel.js.map +1 -0
- package/dist/cli.js +67 -326
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +11 -4
- package/dist/config.js.map +1 -1
- package/dist/control.d.ts +13 -41
- package/dist/control.js +12 -1355
- package/dist/control.js.map +1 -1
- package/dist/routes/apps.d.ts +3 -0
- package/dist/routes/apps.js +99 -0
- package/dist/routes/apps.js.map +1 -0
- package/dist/routes/instances.js +12 -6
- package/dist/routes/instances.js.map +1 -1
- package/dist/routes/llm.d.ts +15 -0
- package/dist/routes/llm.js +246 -0
- package/dist/routes/llm.js.map +1 -0
- package/dist/routes/setup.js +29 -2
- package/dist/routes/setup.js.map +1 -1
- package/dist/routes/system.js +31 -6
- package/dist/routes/system.js.map +1 -1
- package/dist/server.js +40 -4
- package/dist/server.js.map +1 -1
- package/dist/services/app-compiler.d.ts +15 -0
- package/dist/services/app-compiler.js +169 -0
- package/dist/services/app-compiler.js.map +1 -0
- package/dist/services/app-manager.d.ts +17 -0
- package/dist/services/app-manager.js +168 -0
- package/dist/services/app-manager.js.map +1 -0
- package/dist/services/instance-manager.d.ts +51 -3
- package/dist/services/instance-manager.js +233 -30
- package/dist/services/instance-manager.js.map +1 -1
- package/dist/services/job-manager.d.ts +22 -0
- package/dist/services/job-manager.js +102 -0
- package/dist/services/job-manager.js.map +1 -0
- package/dist/services/llm-proxy/adapters.js +5 -1
- package/dist/services/llm-proxy/adapters.js.map +1 -1
- package/dist/services/llm-proxy/index.d.ts +30 -0
- package/dist/services/llm-proxy/index.js +71 -1
- package/dist/services/llm-proxy/index.js.map +1 -1
- package/dist/services/llm-proxy/ssrf.js +1 -1
- package/dist/services/llm-proxy/ssrf.js.map +1 -1
- package/dist/services/nomad-manager.js +192 -29
- package/dist/services/nomad-manager.js.map +1 -1
- package/dist/services/panel-manager.d.ts +40 -0
- package/dist/services/panel-manager.js +346 -0
- package/dist/services/panel-manager.js.map +1 -0
- package/dist/services/process-manager.js +20 -7
- package/dist/services/process-manager.js.map +1 -1
- package/dist/services/setup-manager.js +316 -31
- package/dist/services/setup-manager.js.map +1 -1
- package/dist/services/update-manager.d.ts +47 -0
- package/dist/services/update-manager.js +305 -0
- package/dist/services/update-manager.js.map +1 -0
- package/dist/types.d.ts +62 -0
- package/install/jishu-install.sh +279 -37
- package/install/post-install.sh +64 -5
- package/package.json +6 -2
- package/public/assets/Dashboard-CQsp1Mr9.js +1 -0
- package/public/assets/InitPassword-BEC8SE4A.js +1 -0
- package/public/assets/InstanceDetail-B5wTgNEg.js +17 -0
- package/public/assets/{Login-CUoEZOWR.js → Login-D1Bt-Lyk.js} +1 -1
- package/public/assets/NewInstance-GQzm3K9D.js +1 -0
- package/public/assets/Settings-ByjGlqhP.js +1 -0
- package/public/assets/Setup-cMF21Y-8.js +1 -0
- package/public/assets/index-B6qQP4mH.css +1 -0
- package/public/assets/index-BuTQtuNy.js +16 -0
- package/public/assets/{providers-lBSOjUWy.js → providers-V-vwrExZ.js} +1 -1
- package/public/index.html +2 -2
- package/dist/doctor.js.map +0 -1
- package/install/jishu-install-china.sh +0 -3092
- package/public/assets/Dashboard-DhsrzJ4F.js +0 -1
- package/public/assets/InitPassword-BjubiVdd.js +0 -1
- package/public/assets/InstanceDetail-DMcywsof.js +0 -17
- package/public/assets/NewInstance-Bk0G4EiJ.js +0 -1
- package/public/assets/Settings-D5tHL_h5.js +0 -1
- package/public/assets/Setup-4t6E3Rut.js +0 -1
- package/public/assets/index-BJ47MWpF.css +0 -1
- package/public/assets/index-DbX85irc.js +0 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-manager.js","sourceRoot":"","sources":["../../src/services/process-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"process-manager.js","sourceRoot":"","sources":["../../src/services/process-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { execFileSync, execSync, spawn as nodeSpawn } from "child_process";
|
|
2
|
-
import { chmodSync, existsSync, readFileSync, symlinkSync, unlinkSync } from "fs";
|
|
2
|
+
import { chmodSync, copyFileSync, existsSync, mkdtempSync, readFileSync, renameSync, rmSync, symlinkSync, unlinkSync } from "fs";
|
|
3
3
|
import { userInfo } from "node:os";
|
|
4
4
|
import { randomBytes } from "node:crypto";
|
|
5
5
|
import { tmpdir } from "node:os";
|
|
@@ -24,7 +24,7 @@ const NOMAD_ALLOC_DIR = join(JISHUSHELL_HOME, "nomad", "data", "alloc");
|
|
|
24
24
|
const COLIMA_DIR = join(JISHUSHELL_HOME, "colima");
|
|
25
25
|
const COLIMA_PROFILE = "jishushell";
|
|
26
26
|
const COLIMA_SOCKET = join(COLIMA_DIR, COLIMA_PROFILE, "docker.sock");
|
|
27
|
-
const NOMAD_VERSION = "1.
|
|
27
|
+
const NOMAD_VERSION = "1.6.5";
|
|
28
28
|
let _serverPort = 8090;
|
|
29
29
|
export function setServerPort(port) { _serverPort = port; }
|
|
30
30
|
// ── Resolve non-root service user (board-agnostic) ─────────────────
|
|
@@ -769,6 +769,227 @@ function getNomadDownloadUrl() {
|
|
|
769
769
|
const os = process.platform === "linux" ? "linux" : "darwin";
|
|
770
770
|
return `https://releases.hashicorp.com/nomad/${NOMAD_VERSION}/nomad_${NOMAD_VERSION}_${os}_${arch}.zip`;
|
|
771
771
|
}
|
|
772
|
+
/**
|
|
773
|
+
* Signal nomad agents by exact process name (pgrep -x nomad) to avoid the
|
|
774
|
+
* classic pkill -f self-match bug: a command line like "pkill -f 'nomad agent'"
|
|
775
|
+
* literally contains the pattern and pkill kills itself before reaching the
|
|
776
|
+
* real nomad process. pgrep's own comm is "pgrep" (not "nomad") so -x nomad
|
|
777
|
+
* cannot self-match. Unprivileged kill is tried first; sudo -n as a fallback
|
|
778
|
+
* if the running nomad is owned by root (1.6.5 User=root unit).
|
|
779
|
+
*/
|
|
780
|
+
function killNomadByProcName() {
|
|
781
|
+
const collect = () => {
|
|
782
|
+
try {
|
|
783
|
+
const out = execSync("pgrep -x nomad 2>/dev/null || true", { encoding: "utf-8" }).trim();
|
|
784
|
+
return out.split("\n").filter(Boolean);
|
|
785
|
+
}
|
|
786
|
+
catch {
|
|
787
|
+
return [];
|
|
788
|
+
}
|
|
789
|
+
};
|
|
790
|
+
const sendSignal = (sig, pids) => {
|
|
791
|
+
if (pids.length === 0)
|
|
792
|
+
return;
|
|
793
|
+
try {
|
|
794
|
+
execFileSync("sudo", ["-n", "kill", `-${sig}`, ...pids], { timeout: 5000, stdio: "pipe" });
|
|
795
|
+
return;
|
|
796
|
+
}
|
|
797
|
+
catch { }
|
|
798
|
+
try {
|
|
799
|
+
execSync(`kill -${sig} ${pids.join(" ")} 2>/dev/null || true`, { timeout: 5000 });
|
|
800
|
+
}
|
|
801
|
+
catch { }
|
|
802
|
+
};
|
|
803
|
+
let pids = collect();
|
|
804
|
+
sendSignal("TERM", pids);
|
|
805
|
+
if (pids.length > 0) {
|
|
806
|
+
// Short grace period, then SIGKILL any survivors.
|
|
807
|
+
execSync("sleep 2");
|
|
808
|
+
pids = collect();
|
|
809
|
+
sendSignal("KILL", pids);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
/** Compare two "a.b.c" semver strings; returns a > b. */
|
|
813
|
+
function isNomadVersionGreater(a, b) {
|
|
814
|
+
const parse = (v) => v.replace(/^v/, "").split(".").map(n => parseInt(n, 10) || 0);
|
|
815
|
+
const [aMaj, aMin, aPat] = parse(a);
|
|
816
|
+
const [bMaj, bMin, bPat] = parse(b);
|
|
817
|
+
if (aMaj !== bMaj)
|
|
818
|
+
return aMaj > bMaj;
|
|
819
|
+
if (aMin !== bMin)
|
|
820
|
+
return aMin > bMin;
|
|
821
|
+
return aPat > bPat;
|
|
822
|
+
}
|
|
823
|
+
/**
|
|
824
|
+
* Auto-migrate from a higher Nomad version (e.g. 1.11.3 BSL) back to the
|
|
825
|
+
* jishushell target (1.6.5 MPL). Called when installNomad detects a local
|
|
826
|
+
* binary whose semver is > NOMAD_VERSION. Destructive to Nomad's raft state
|
|
827
|
+
* (schema is not backward compatible) but preserves instance configs under
|
|
828
|
+
* ~/.jishushell/instances/*. A single tar.gz snapshot of the old data_dir
|
|
829
|
+
* is kept under ~/.jishushell/nomad/backups/ for forensic inspection.
|
|
830
|
+
*
|
|
831
|
+
* Safe-first: the new binary is downloaded and verified BEFORE any existing
|
|
832
|
+
* state is touched. If any stage 1 step fails, state is untouched.
|
|
833
|
+
*
|
|
834
|
+
* Throws on failure so the caller's outer catch reports the error.
|
|
835
|
+
*/
|
|
836
|
+
async function migrateNomadToTarget(currentVersion) {
|
|
837
|
+
console.log(`[nomad] Auto-migrating v${currentVersion} → v${NOMAD_VERSION} (BSL → MPL)`);
|
|
838
|
+
console.log("[nomad] Raft state is not backward-compatible; allocation history will be reset.");
|
|
839
|
+
console.log("[nomad] Instance configs under ~/.jishushell/instances/ are preserved.");
|
|
840
|
+
// ── Stage 1: download + verify new binary into a staging dir ─────────
|
|
841
|
+
const stageDir = mkdtempSync(join(tmpdir(), "nomad-migrate-"));
|
|
842
|
+
let backupFile = "";
|
|
843
|
+
try {
|
|
844
|
+
const stagedBin = join(stageDir, "nomad");
|
|
845
|
+
const zipPath = join(stageDir, "nomad.zip");
|
|
846
|
+
const url = getNomadDownloadUrl();
|
|
847
|
+
const arch = process.arch === "arm64" ? "arm64" : "amd64";
|
|
848
|
+
const os = process.platform === "linux" ? "linux" : "darwin";
|
|
849
|
+
const sumsUrl = `https://releases.hashicorp.com/nomad/${NOMAD_VERSION}/nomad_${NOMAD_VERSION}_SHA256SUMS`;
|
|
850
|
+
const sumsPath = join(stageDir, "SHA256SUMS");
|
|
851
|
+
console.log(`[nomad] Staging v${NOMAD_VERSION} (${os}/${arch})...`);
|
|
852
|
+
execFileSync("curl", ["-fsSL", url, "-o", zipPath], { timeout: 300000, stdio: "pipe" });
|
|
853
|
+
execFileSync("curl", ["-fsSL", sumsUrl, "-o", sumsPath], { timeout: 30000, stdio: "pipe" });
|
|
854
|
+
const sums = readFileSync(sumsPath, "utf-8");
|
|
855
|
+
const sumLine = sums.split("\n").find(l => l.includes(`nomad_${NOMAD_VERSION}_${os}_${arch}.zip`));
|
|
856
|
+
if (!sumLine)
|
|
857
|
+
throw new Error(`No checksum entry for nomad_${NOMAD_VERSION}_${os}_${arch}.zip`);
|
|
858
|
+
const expected = sumLine.split(/\s+/)[0];
|
|
859
|
+
// Match the bash installer: prefer sha256sum (GNU coreutils, Linux),
|
|
860
|
+
// fall back to shasum -a 256 (BSD, macOS default — sha256sum is not
|
|
861
|
+
// preinstalled there). Without this, triggering auto-migration from
|
|
862
|
+
// the WebUI / Node path on macOS would fail even though the shell
|
|
863
|
+
// installer works fine.
|
|
864
|
+
let actual;
|
|
865
|
+
try {
|
|
866
|
+
actual = execSync(`sha256sum "${zipPath}" | awk '{print $1}'`, { encoding: "utf-8" }).trim();
|
|
867
|
+
}
|
|
868
|
+
catch {
|
|
869
|
+
actual = execSync(`shasum -a 256 "${zipPath}" | awk '{print $1}'`, { encoding: "utf-8" }).trim();
|
|
870
|
+
}
|
|
871
|
+
if (expected !== actual) {
|
|
872
|
+
throw new Error(`Nomad checksum mismatch: expected ${expected}, got ${actual}`);
|
|
873
|
+
}
|
|
874
|
+
console.log("[nomad] Checksum verified");
|
|
875
|
+
execFileSync("unzip", ["-o", zipPath, "-d", stageDir], { timeout: 30000 });
|
|
876
|
+
chmodSync(stagedBin, 0o755);
|
|
877
|
+
const stagedVersionLine = execFileSync(stagedBin, ["version"], { encoding: "utf-8", timeout: 5000 }).trim().split("\n")[0];
|
|
878
|
+
if (!stagedVersionLine.includes(`v${NOMAD_VERSION}`)) {
|
|
879
|
+
throw new Error(`Staged binary reports "${stagedVersionLine}", expected v${NOMAD_VERSION}`);
|
|
880
|
+
}
|
|
881
|
+
console.log(`[nomad] Staged ${stagedVersionLine}`);
|
|
882
|
+
// ── Stage 2: destructive state changes begin ───────────────────────
|
|
883
|
+
console.log("[nomad] Stopping services...");
|
|
884
|
+
try {
|
|
885
|
+
execFileSync("sudo", ["-n", "systemctl", "stop", "jishushell"], { timeout: 15000, stdio: "pipe" });
|
|
886
|
+
}
|
|
887
|
+
catch { }
|
|
888
|
+
try {
|
|
889
|
+
execFileSync("sudo", ["-n", "systemctl", "stop", "nomad"], { timeout: 15000, stdio: "pipe" });
|
|
890
|
+
}
|
|
891
|
+
catch { }
|
|
892
|
+
// pkill -f 'nomad agent' matches pkill's own cmdline and self-terminates
|
|
893
|
+
// before reaching the real nomad process. Use pgrep -x nomad (exact proc
|
|
894
|
+
// name match; pgrep's comm is "pgrep") to avoid the self-match bug.
|
|
895
|
+
killNomadByProcName();
|
|
896
|
+
await new Promise(r => setTimeout(r, 2000));
|
|
897
|
+
// ── Stage 3: tar backup (single snapshot, overwrite any previous) ──
|
|
898
|
+
const backupDir = join(NOMAD_CONFIG_DIR, "backups");
|
|
899
|
+
if (existsSync(NOMAD_DATA_DIR)) {
|
|
900
|
+
try {
|
|
901
|
+
ensureDirHost(backupDir);
|
|
902
|
+
}
|
|
903
|
+
catch { }
|
|
904
|
+
const ts = new Date().toISOString().replace(/[-:]/g, "").replace(/\..+/, "").replace("T", "-");
|
|
905
|
+
const candidate = join(backupDir, `data-${ts}.tar.gz`);
|
|
906
|
+
console.log(`[nomad] Backing up raft state → ${candidate}`);
|
|
907
|
+
try {
|
|
908
|
+
execSync(`tar czf "${candidate}" -C "${NOMAD_CONFIG_DIR}" data 2>/dev/null`, { timeout: 120000 });
|
|
909
|
+
backupFile = candidate;
|
|
910
|
+
// Keep only the most recent snapshot
|
|
911
|
+
try {
|
|
912
|
+
const list = execSync(`ls -t "${backupDir}"/data-*.tar.gz 2>/dev/null | tail -n +2 || true`, { encoding: "utf-8" }).trim();
|
|
913
|
+
for (const old of list.split("\n").filter(Boolean)) {
|
|
914
|
+
try {
|
|
915
|
+
unlinkSync(old);
|
|
916
|
+
}
|
|
917
|
+
catch { }
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
catch { }
|
|
921
|
+
}
|
|
922
|
+
catch {
|
|
923
|
+
console.warn("[nomad] Backup tar failed — continuing (raft state will still be wiped)");
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
// ── Stage 4: wipe raft state + env files (schema incompatible) ─────
|
|
927
|
+
try {
|
|
928
|
+
execFileSync("sudo", ["-n", "rm", "-rf", NOMAD_DATA_DIR], { timeout: 15000, stdio: "pipe" });
|
|
929
|
+
}
|
|
930
|
+
catch {
|
|
931
|
+
try {
|
|
932
|
+
rmSync(NOMAD_DATA_DIR, { recursive: true, force: true });
|
|
933
|
+
}
|
|
934
|
+
catch { }
|
|
935
|
+
}
|
|
936
|
+
try {
|
|
937
|
+
unlinkSync(join(JISHUSHELL_HOME, "nomad.env"));
|
|
938
|
+
}
|
|
939
|
+
catch { }
|
|
940
|
+
try {
|
|
941
|
+
execFileSync("sudo", ["-n", "rm", "-f", "/etc/jishushell/nomad.env"], { timeout: 5000, stdio: "pipe" });
|
|
942
|
+
}
|
|
943
|
+
catch { }
|
|
944
|
+
// ── Stage 5: orphaned gateway containers ───────────────────────────
|
|
945
|
+
// Panel normally has docker group via jishushell.service SupplementaryGroups,
|
|
946
|
+
// but postinstall may run this helper from a shell where the invoking
|
|
947
|
+
// user is not in docker group. Probe first, fall back to sudo docker.
|
|
948
|
+
try {
|
|
949
|
+
let dockerCmd = "docker";
|
|
950
|
+
try {
|
|
951
|
+
execSync("docker ps >/dev/null 2>&1", { timeout: 5000 });
|
|
952
|
+
}
|
|
953
|
+
catch {
|
|
954
|
+
dockerCmd = "sudo -n docker";
|
|
955
|
+
}
|
|
956
|
+
const names = execSync(`${dockerCmd} ps -a --format '{{.Names}}' 2>/dev/null | grep '^gateway-' || true`, { encoding: "utf-8" }).trim();
|
|
957
|
+
if (names) {
|
|
958
|
+
const rows = names.split("\n").filter(Boolean);
|
|
959
|
+
for (const name of rows) {
|
|
960
|
+
try {
|
|
961
|
+
execSync(`${dockerCmd} rm -f "${name}" 2>/dev/null`, { timeout: 10000 });
|
|
962
|
+
}
|
|
963
|
+
catch { }
|
|
964
|
+
}
|
|
965
|
+
console.log(`[nomad] Removed ${rows.length} orphaned gateway container(s)`);
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
catch { }
|
|
969
|
+
// ── Stage 6: swap binary into place (atomic via temp name + rename)
|
|
970
|
+
ensureDirHost(BIN_DIR);
|
|
971
|
+
const destTmp = `${NOMAD_BIN}.tmp.${process.pid}`;
|
|
972
|
+
copyFileSync(stagedBin, destTmp);
|
|
973
|
+
chmodSync(destTmp, 0o755);
|
|
974
|
+
renameSync(destTmp, NOMAD_BIN);
|
|
975
|
+
console.log(`[nomad] Migrated to v${NOMAD_VERSION}`);
|
|
976
|
+
if (backupFile)
|
|
977
|
+
console.log(`[nomad] Backup (forensic, not self-recovery): ${backupFile}`);
|
|
978
|
+
console.log("[nomad] JishuShell will re-bootstrap ACL and resubmit jobs on next start.");
|
|
979
|
+
}
|
|
980
|
+
catch (err) {
|
|
981
|
+
if (backupFile) {
|
|
982
|
+
console.error(`[nomad] Migration failed — backup preserved at ${backupFile}`);
|
|
983
|
+
}
|
|
984
|
+
throw err;
|
|
985
|
+
}
|
|
986
|
+
finally {
|
|
987
|
+
try {
|
|
988
|
+
rmSync(stageDir, { recursive: true, force: true });
|
|
989
|
+
}
|
|
990
|
+
catch { }
|
|
991
|
+
}
|
|
992
|
+
}
|
|
772
993
|
export async function installNomad() {
|
|
773
994
|
try {
|
|
774
995
|
if (existsSync(NOMAD_BIN)) {
|
|
@@ -790,8 +1011,38 @@ export async function installNomad() {
|
|
|
790
1011
|
}
|
|
791
1012
|
catch { }
|
|
792
1013
|
// Boundary check 3: does it actually run?
|
|
1014
|
+
let versionLine = "";
|
|
793
1015
|
try {
|
|
794
|
-
|
|
1016
|
+
versionLine = execSync(`"${NOMAD_BIN}" version`, { encoding: "utf-8", timeout: 5000 }).trim().split("\n")[0];
|
|
1017
|
+
}
|
|
1018
|
+
catch {
|
|
1019
|
+
// Binary is corrupt or wrong arch — remove and reinstall
|
|
1020
|
+
try {
|
|
1021
|
+
unlinkSync(NOMAD_BIN);
|
|
1022
|
+
}
|
|
1023
|
+
catch { }
|
|
1024
|
+
}
|
|
1025
|
+
if (versionLine) {
|
|
1026
|
+
const match = versionLine.match(/v(\d+\.\d+\.\d+)/);
|
|
1027
|
+
const currentVersion = match ? match[1] : "";
|
|
1028
|
+
if (currentVersion && isNomadVersionGreater(currentVersion, NOMAD_VERSION)) {
|
|
1029
|
+
// Current > target — auto-migrate (nomad 1.11.3 BSL → 1.6.5 MPL).
|
|
1030
|
+
// Migration failure is a hard stop: the old state has been
|
|
1031
|
+
// partially mutated (or about to be), returning falls through
|
|
1032
|
+
// to the reinstall path which would make a bad situation worse.
|
|
1033
|
+
try {
|
|
1034
|
+
await migrateNomadToTarget(currentVersion);
|
|
1035
|
+
}
|
|
1036
|
+
catch (migErr) {
|
|
1037
|
+
return {
|
|
1038
|
+
ok: false,
|
|
1039
|
+
message: "Nomad auto-migration failed",
|
|
1040
|
+
error: migErr?.message || String(migErr),
|
|
1041
|
+
};
|
|
1042
|
+
}
|
|
1043
|
+
const newLine = execSync(`"${NOMAD_BIN}" version`, { encoding: "utf-8", timeout: 5000 }).trim().split("\n")[0];
|
|
1044
|
+
return { ok: true, message: `Nomad migrated to ${newLine}` };
|
|
1045
|
+
}
|
|
795
1046
|
// Ensure Nomad is started even if already installed
|
|
796
1047
|
if (!isPortListening(4646)) {
|
|
797
1048
|
try {
|
|
@@ -802,14 +1053,7 @@ export async function installNomad() {
|
|
|
802
1053
|
await startNomad();
|
|
803
1054
|
}
|
|
804
1055
|
}
|
|
805
|
-
return { ok: true, message: `Nomad already installed: ${
|
|
806
|
-
}
|
|
807
|
-
catch {
|
|
808
|
-
// Binary is corrupt or wrong arch — remove and reinstall
|
|
809
|
-
try {
|
|
810
|
-
unlinkSync(NOMAD_BIN);
|
|
811
|
-
}
|
|
812
|
-
catch { }
|
|
1056
|
+
return { ok: true, message: `Nomad already installed: ${versionLine}` };
|
|
813
1057
|
}
|
|
814
1058
|
}
|
|
815
1059
|
}
|
|
@@ -934,7 +1178,6 @@ client {
|
|
|
934
1178
|
|
|
935
1179
|
plugin "docker" {
|
|
936
1180
|
config {
|
|
937
|
-
disable_log_collection = true
|
|
938
1181
|
volumes {
|
|
939
1182
|
enabled = true
|
|
940
1183
|
}
|
|
@@ -1090,14 +1333,27 @@ async function bootstrapNomadACL() {
|
|
|
1090
1333
|
}
|
|
1091
1334
|
const resetIndex = resetMatch[1];
|
|
1092
1335
|
console.log(`[nomad] Bootstrap already done (reset index: ${resetIndex}). Performing ACL bootstrap reset...`);
|
|
1093
|
-
// Write the reset trigger file (Nomad reads this on startup to allow re-bootstrap)
|
|
1336
|
+
// Write the reset trigger file (Nomad reads this on startup to allow re-bootstrap).
|
|
1337
|
+
// NOMAD_DATA_DIR/server is owned by root because nomad.service runs as User=root
|
|
1338
|
+
// (docker driver on 1.6.5 requires euid==0). The panel runs as a non-root user, so
|
|
1339
|
+
// plain writeConfigFile would fail with EACCES — route through `sudo tee` instead.
|
|
1094
1340
|
const resetFile = join(NOMAD_DATA_DIR, "server", "acl-bootstrap-reset");
|
|
1095
1341
|
try {
|
|
1096
1342
|
writeConfigFile(resetFile, resetIndex);
|
|
1097
1343
|
}
|
|
1098
1344
|
catch (writeErr) {
|
|
1099
|
-
|
|
1100
|
-
|
|
1345
|
+
try {
|
|
1346
|
+
execFileSync("sudo", ["-n", "mkdir", "-p", dirname(resetFile)], { timeout: 5000, stdio: "pipe" });
|
|
1347
|
+
execFileSync("sudo", ["-n", "tee", resetFile], {
|
|
1348
|
+
timeout: 5000,
|
|
1349
|
+
input: resetIndex,
|
|
1350
|
+
stdio: ["pipe", "ignore", "pipe"],
|
|
1351
|
+
});
|
|
1352
|
+
}
|
|
1353
|
+
catch (sudoErr) {
|
|
1354
|
+
console.warn("[nomad] Could not write acl-bootstrap-reset file:", sudoErr.message || writeErr.message);
|
|
1355
|
+
return;
|
|
1356
|
+
}
|
|
1101
1357
|
}
|
|
1102
1358
|
// Restart Nomad so it picks up the reset file
|
|
1103
1359
|
try {
|
|
@@ -1106,9 +1362,14 @@ async function bootstrapNomadACL() {
|
|
|
1106
1362
|
catch {
|
|
1107
1363
|
// No passwordless sudo — try pkill/re-spawn path (best effort)
|
|
1108
1364
|
try {
|
|
1109
|
-
execFileSync("
|
|
1365
|
+
execFileSync("sudo", ["-n", "pkill", "-TERM", "-f", "nomad agent"], { stdio: "pipe" });
|
|
1366
|
+
}
|
|
1367
|
+
catch {
|
|
1368
|
+
try {
|
|
1369
|
+
execFileSync("pkill", ["-TERM", "-f", "nomad agent"], { stdio: "pipe" });
|
|
1370
|
+
}
|
|
1371
|
+
catch { }
|
|
1110
1372
|
}
|
|
1111
|
-
catch { }
|
|
1112
1373
|
}
|
|
1113
1374
|
// Wait for Nomad to come back
|
|
1114
1375
|
for (let i = 0; i < 20; i++) {
|
|
@@ -1240,11 +1501,8 @@ export async function stopNomad() {
|
|
|
1240
1501
|
// running allocs without killing them (drain_on_shutdown is deliberately
|
|
1241
1502
|
// not configured, so the docker containers keep running and will be
|
|
1242
1503
|
// re-attached when Nomad comes back).
|
|
1243
|
-
//
|
|
1244
|
-
|
|
1245
|
-
execSync("pkill -TERM -f 'nomad agent'", { timeout: 5000 });
|
|
1246
|
-
}
|
|
1247
|
-
catch { }
|
|
1504
|
+
// Use killNomadByProcName (pgrep -x) to avoid pkill -f self-matching.
|
|
1505
|
+
killNomadByProcName();
|
|
1248
1506
|
// Wait up to 10s for the process to exit. No drain means shutdown is
|
|
1249
1507
|
// near-instant — most of this budget is slack for slow disks on Pi.
|
|
1250
1508
|
for (let i = 0; i < 10; i++) {
|
|
@@ -1307,17 +1565,18 @@ export function installNomadSystemd() {
|
|
|
1307
1565
|
execSync(`launchctl load -w "${plistPath}"`, { timeout: 15000 });
|
|
1308
1566
|
return { ok: true, message: "Nomad launchd agent installed and started" };
|
|
1309
1567
|
}
|
|
1310
|
-
// Nomad
|
|
1311
|
-
//
|
|
1312
|
-
|
|
1568
|
+
// Nomad 1.6.5's docker driver fingerprint requires euid==0 — PR #18197 lifted
|
|
1569
|
+
// that restriction only in 1.7+, and we intentionally stay on the 1.6 MPL line.
|
|
1570
|
+
// The panel stays as the installing user via a separate jishushell.service unit;
|
|
1571
|
+
// it talks to this agent over HTTP, so no files under ~/.jishushell/nomad/data/
|
|
1572
|
+
// are read directly by the panel.
|
|
1313
1573
|
const serviceContent = `[Unit]
|
|
1314
1574
|
Description=Nomad Agent
|
|
1315
1575
|
After=network-online.target docker.service
|
|
1316
1576
|
Wants=network-online.target
|
|
1317
1577
|
|
|
1318
1578
|
[Service]
|
|
1319
|
-
User
|
|
1320
|
-
SupplementaryGroups=docker
|
|
1579
|
+
User=root
|
|
1321
1580
|
Type=simple
|
|
1322
1581
|
EnvironmentFile=-/etc/jishushell/nomad.env
|
|
1323
1582
|
ExecStart=${nomadPath} agent -config=${configPath}
|
|
@@ -1512,14 +1771,40 @@ function checkDockerImageExists() {
|
|
|
1512
1771
|
return true;
|
|
1513
1772
|
}
|
|
1514
1773
|
catch {
|
|
1515
|
-
//
|
|
1516
|
-
//
|
|
1517
|
-
//
|
|
1774
|
+
// Fallback scan: list all local images and try to find any known runtime image.
|
|
1775
|
+
// This handles two scenarios:
|
|
1776
|
+
// 1. panel.json was wiped (e.g. after `jishushell reset`) and the pinned version
|
|
1777
|
+
// tag is no longer stored, causing getOpenclawDockerImage() to return the default
|
|
1778
|
+
// `:latest` tag which may have been removed locally during the first-run migration.
|
|
1779
|
+
// 2. The environment uses a locally built runtime image (e.g. jishushell-hermes:latest)
|
|
1780
|
+
// that differs from the registry default.
|
|
1781
|
+
// When a candidate is found we restore panel.json (self-heal) so the fast path works next time.
|
|
1518
1782
|
try {
|
|
1519
1783
|
const invocation = resolveDockerInvocation();
|
|
1520
1784
|
const out = execFileSync(invocation.cmd, [...invocation.argsPrefix, "images", "--format", "{{.Repository}}:{{.Tag}}"], { encoding: "utf8", timeout: 5000 });
|
|
1521
|
-
|
|
1785
|
+
const lines = out.split("\n").map((l) => l.trim()).filter(Boolean);
|
|
1786
|
+
// 1. Same repository as DEFAULT_OPENCLAW_DOCKER_IMAGE (e.g. after pinned-tag migration).
|
|
1787
|
+
const defaultImage = DEFAULT_OPENCLAW_DOCKER_IMAGE;
|
|
1788
|
+
const repoColonIdx = defaultImage.lastIndexOf(":");
|
|
1789
|
+
const repoSlashIdx = defaultImage.lastIndexOf("/");
|
|
1790
|
+
if (repoColonIdx > repoSlashIdx) {
|
|
1791
|
+
const repo = defaultImage.slice(0, repoColonIdx);
|
|
1792
|
+
const repoPrefix = repo + ":";
|
|
1793
|
+
const found = lines.find((l) => l.startsWith(repoPrefix) && !l.endsWith(":<none>") && !l.endsWith(":none"));
|
|
1794
|
+
if (found) {
|
|
1795
|
+
setOpenclawDockerImage(found);
|
|
1796
|
+
return true;
|
|
1797
|
+
}
|
|
1798
|
+
}
|
|
1799
|
+
// 2. Backward compat: older locally-built jishushell-openclaw:* image names.
|
|
1800
|
+
// These use the same slim base architecture as ghcr.io/x-aijishu/openclaw-runtime:*
|
|
1801
|
+
// and are fully compatible. Self-heal panel.json so the tag stored there becomes
|
|
1802
|
+
// the concrete existing tag, preventing repeated DEFAULT-migration side effects.
|
|
1803
|
+
const legacyFound = lines.find((l) => /^jishushell-openclaw:[^\s]+/.test(l) && !l.endsWith(":<none>") && !l.endsWith(":none"));
|
|
1804
|
+
if (legacyFound) {
|
|
1805
|
+
setOpenclawDockerImage(legacyFound);
|
|
1522
1806
|
return true;
|
|
1807
|
+
}
|
|
1523
1808
|
}
|
|
1524
1809
|
catch { }
|
|
1525
1810
|
return false;
|