@pleri/olam-cli 0.1.196 → 0.1.199

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.md +52 -0
  2. package/dist/ask/knowledge-pack.generated.d.ts.map +1 -1
  3. package/dist/ask/knowledge-pack.generated.js +10 -8
  4. package/dist/ask/knowledge-pack.generated.js.map +1 -1
  5. package/dist/commands/auth-list-json.d.ts +34 -0
  6. package/dist/commands/auth-list-json.d.ts.map +1 -1
  7. package/dist/commands/auth-list-json.js +24 -0
  8. package/dist/commands/auth-list-json.js.map +1 -1
  9. package/dist/commands/auth-migrate.d.ts +212 -0
  10. package/dist/commands/auth-migrate.d.ts.map +1 -0
  11. package/dist/commands/auth-migrate.js +465 -0
  12. package/dist/commands/auth-migrate.js.map +1 -0
  13. package/dist/commands/auth.d.ts.map +1 -1
  14. package/dist/commands/auth.js +239 -184
  15. package/dist/commands/auth.js.map +1 -1
  16. package/dist/commands/bootstrap.d.ts +4 -0
  17. package/dist/commands/bootstrap.d.ts.map +1 -1
  18. package/dist/commands/bootstrap.js +10 -0
  19. package/dist/commands/bootstrap.js.map +1 -1
  20. package/dist/commands/dispatch.d.ts.map +1 -1
  21. package/dist/commands/dispatch.js +11 -1
  22. package/dist/commands/dispatch.js.map +1 -1
  23. package/dist/commands/doctor.d.ts +33 -0
  24. package/dist/commands/doctor.d.ts.map +1 -1
  25. package/dist/commands/doctor.js +299 -12
  26. package/dist/commands/doctor.js.map +1 -1
  27. package/dist/commands/kg-mirror.d.ts +18 -2
  28. package/dist/commands/kg-mirror.d.ts.map +1 -1
  29. package/dist/commands/kg-mirror.js +78 -3
  30. package/dist/commands/kg-mirror.js.map +1 -1
  31. package/dist/commands/mcp/complete.d.ts +36 -0
  32. package/dist/commands/mcp/complete.d.ts.map +1 -0
  33. package/dist/commands/mcp/complete.js +66 -0
  34. package/dist/commands/mcp/complete.js.map +1 -0
  35. package/dist/commands/mcp/index.d.ts +1 -1
  36. package/dist/commands/mcp/index.d.ts.map +1 -1
  37. package/dist/commands/mcp/index.js +3 -1
  38. package/dist/commands/mcp/index.js.map +1 -1
  39. package/dist/commands/memory/bridge.d.ts +1 -1
  40. package/dist/commands/memory/bridge.d.ts.map +1 -1
  41. package/dist/commands/memory/bridge.js +2 -6
  42. package/dist/commands/memory/bridge.js.map +1 -1
  43. package/dist/commands/memory/secret.d.ts.map +1 -1
  44. package/dist/commands/memory/secret.js +4 -3
  45. package/dist/commands/memory/secret.js.map +1 -1
  46. package/dist/commands/observe.d.ts +3 -3
  47. package/dist/commands/observe.d.ts.map +1 -1
  48. package/dist/commands/observe.js +11 -8
  49. package/dist/commands/observe.js.map +1 -1
  50. package/dist/commands/runbooks.d.ts.map +1 -1
  51. package/dist/commands/runbooks.js +77 -10
  52. package/dist/commands/runbooks.js.map +1 -1
  53. package/dist/commands/services-tls.d.ts.map +1 -1
  54. package/dist/commands/services-tls.js +41 -0
  55. package/dist/commands/services-tls.js.map +1 -1
  56. package/dist/commands/services.d.ts +45 -3
  57. package/dist/commands/services.d.ts.map +1 -1
  58. package/dist/commands/services.js +198 -71
  59. package/dist/commands/services.js.map +1 -1
  60. package/dist/commands/setup-phase-8-kg-hook.d.ts +48 -0
  61. package/dist/commands/setup-phase-8-kg-hook.d.ts.map +1 -0
  62. package/dist/commands/setup-phase-8-kg-hook.js +93 -0
  63. package/dist/commands/setup-phase-8-kg-hook.js.map +1 -0
  64. package/dist/commands/setup-phase-9-memory-bridge.d.ts +36 -0
  65. package/dist/commands/setup-phase-9-memory-bridge.d.ts.map +1 -0
  66. package/dist/commands/setup-phase-9-memory-bridge.js +59 -0
  67. package/dist/commands/setup-phase-9-memory-bridge.js.map +1 -0
  68. package/dist/commands/setup.d.ts +34 -1
  69. package/dist/commands/setup.d.ts.map +1 -1
  70. package/dist/commands/setup.js +328 -23
  71. package/dist/commands/setup.js.map +1 -1
  72. package/dist/commands/update.d.ts +24 -0
  73. package/dist/commands/update.d.ts.map +1 -1
  74. package/dist/commands/update.js +53 -0
  75. package/dist/commands/update.js.map +1 -1
  76. package/dist/commands/upgrade.d.ts +5 -0
  77. package/dist/commands/upgrade.d.ts.map +1 -1
  78. package/dist/commands/upgrade.js +31 -8
  79. package/dist/commands/upgrade.js.map +1 -1
  80. package/dist/image-digests.json +8 -8
  81. package/dist/index.js +4302 -2466
  82. package/dist/lib/auth-backend.d.ts +168 -0
  83. package/dist/lib/auth-backend.d.ts.map +1 -0
  84. package/dist/lib/auth-backend.js +172 -0
  85. package/dist/lib/auth-backend.js.map +1 -0
  86. package/dist/lib/auth-list-cache.d.ts +67 -0
  87. package/dist/lib/auth-list-cache.d.ts.map +1 -0
  88. package/dist/lib/auth-list-cache.js +84 -0
  89. package/dist/lib/auth-list-cache.js.map +1 -0
  90. package/dist/lib/auth-list.d.ts +107 -0
  91. package/dist/lib/auth-list.d.ts.map +1 -0
  92. package/dist/lib/auth-list.js +123 -0
  93. package/dist/lib/auth-list.js.map +1 -0
  94. package/dist/lib/auth-login.d.ts +92 -0
  95. package/dist/lib/auth-login.d.ts.map +1 -0
  96. package/dist/lib/auth-login.js +124 -0
  97. package/dist/lib/auth-login.js.map +1 -0
  98. package/dist/lib/auth-mutator-backend.d.ts +54 -0
  99. package/dist/lib/auth-mutator-backend.d.ts.map +1 -0
  100. package/dist/lib/auth-mutator-backend.js +62 -0
  101. package/dist/lib/auth-mutator-backend.js.map +1 -0
  102. package/dist/lib/auth-remote.d.ts +50 -0
  103. package/dist/lib/auth-remote.d.ts.map +1 -1
  104. package/dist/lib/auth-remote.js +84 -2
  105. package/dist/lib/auth-remote.js.map +1 -1
  106. package/dist/lib/bootstrap-kubernetes.d.ts +93 -12
  107. package/dist/lib/bootstrap-kubernetes.d.ts.map +1 -1
  108. package/dist/lib/bootstrap-kubernetes.js +364 -53
  109. package/dist/lib/bootstrap-kubernetes.js.map +1 -1
  110. package/dist/lib/config.d.ts +7 -0
  111. package/dist/lib/config.d.ts.map +1 -1
  112. package/dist/lib/config.js.map +1 -1
  113. package/dist/lib/health-probes.d.ts +0 -22
  114. package/dist/lib/health-probes.d.ts.map +1 -1
  115. package/dist/lib/health-probes.js +23 -2
  116. package/dist/lib/health-probes.js.map +1 -1
  117. package/dist/lib/peripheral-registry.d.ts +11 -0
  118. package/dist/lib/peripheral-registry.d.ts.map +1 -1
  119. package/dist/lib/peripheral-registry.js +5 -0
  120. package/dist/lib/peripheral-registry.js.map +1 -1
  121. package/dist/lib/plans-client.d.ts.map +1 -1
  122. package/dist/lib/plans-client.js +6 -3
  123. package/dist/lib/plans-client.js.map +1 -1
  124. package/dist/mcp-server.js +14 -3
  125. package/hermes-bundle/version.json +1 -1
  126. package/host-cp/k8s/manifests/30-configmap.yaml +4 -0
  127. package/host-cp/k8s/manifests/50-deployment.yaml +13 -1
  128. package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
  129. package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
  130. package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
  131. package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +1 -1
  132. package/host-cp/src/dispatch-persister.mjs +157 -0
  133. package/host-cp/src/pr-nanny.mjs +7 -0
  134. package/host-cp/src/server.mjs +175 -3
  135. package/host-cp/src/world-watchdog-pid-lookup.mjs +119 -0
  136. package/host-cp/src/world-watchdog-probes.mjs +271 -0
  137. package/host-cp/src/world-watchdog-recovery.mjs +192 -0
  138. package/host-cp/src/world-watchdog.mjs +313 -0
  139. package/package.json +1 -1
@@ -12,8 +12,11 @@
12
12
  * install` for missing brew-formulae.
13
13
  * 1. Secrets — generate `~/.olam/{auth-secret,kg-bearer-token,
14
14
  * auth-db-secret,mcp-auth-jwt-secret,memory-bearer-secret}` if absent.
15
- * 2. Colima (macOS only) — ensure running; chmod /var/run/docker.sock
16
- * inside the VM (virtiofs mitigation).
15
+ * 2. Container runtime (macOS only) — honour host.preferred_runtime;
16
+ * auto-detect otherwise (prefer an installed Docker Desktop over
17
+ * imposing Colima). For Docker Desktop: select the `desktop-linux`
18
+ * context + ensure the daemon is up. For Colima: ensure running +
19
+ * chmod /var/run/docker.sock inside the VM (virtiofs mitigation).
17
20
  * 3. k3d cluster — create `<cluster>` with the gh-config bind. Skipped
18
21
  * if cluster already exists.
19
22
  * 4. Observability — chain bundled scripts in `<install>/host-cp/
@@ -27,12 +30,13 @@
27
30
  * `upgrade-kubernetes.ts` (Phase 1b C2 + Phase 2 C/D). This module is
28
31
  * the prereq + cluster-create + observability wrapper around it.
29
32
  */
30
- import { spawnSync } from "node:child_process";
31
- import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync, chmodSync, } from "node:fs";
33
+ import { spawn, spawnSync } from "node:child_process";
34
+ import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync, chmodSync, statSync, } from "node:fs";
32
35
  import { join } from "node:path";
33
36
  import { homedir, platform } from "node:os";
34
37
  import { randomBytes } from "node:crypto";
35
38
  import pc from "picocolors";
39
+ import ora from "ora";
36
40
  import { printError, printSuccess, printInfo, printWarning, printHeader, } from "../output.js";
37
41
  import { installRoot } from "../install-root.js";
38
42
  import { resolveK8sAssetsRoot } from "./k8s-bootstrap.js";
@@ -97,8 +101,111 @@ function runCapture(cmd, args) {
97
101
  function step(label) {
98
102
  process.stdout.write("\n" + pc.bold(pc.cyan(`==> ${label}`)) + "\n");
99
103
  }
104
+ /** Truncate a single status line so the spinner never wraps the terminal. */
105
+ function truncate(text, max) {
106
+ const clean = text.replace(/\s+/g, " ").trim();
107
+ return clean.length > max ? clean.slice(0, max - 1) + "…" : clean;
108
+ }
109
+ /**
110
+ * Run a child process with live, single-line progress (default) or full
111
+ * sequential streaming (verbose / non-TTY). Combined stdout+stderr is always
112
+ * captured to `~/.olam/logs/<logName>.log` for post-hoc debugging regardless
113
+ * of mode. Async (uses `spawn`) so the spinner can actually animate — the
114
+ * legacy `spawnSync` path blocked the event loop and showed nothing for the
115
+ * full 90-155s of each observability script.
116
+ */
117
+ export function runLiveTask(label, cmd, args, opts) {
118
+ const logDir = join(homedir(), ".olam", "logs");
119
+ mkdirSync(logDir, { recursive: true });
120
+ const logPath = join(logDir, `${opts.logName}.log`);
121
+ const startMs = Date.now();
122
+ const settle = opts.settle ?? "auto";
123
+ const useSpinner = !opts.verbose && Boolean(process.stdout.isTTY);
124
+ return new Promise((resolve) => {
125
+ const child = spawn(cmd, [...args], {
126
+ env: opts.env ?? process.env,
127
+ stdio: ["ignore", "pipe", "pipe"],
128
+ });
129
+ const chunks = [];
130
+ let latestLine = "";
131
+ let outBuf = "";
132
+ let errBuf = "";
133
+ const spinner = useSpinner ? ora({ text: label }).start() : null;
134
+ const elapsed = () => ((Date.now() - startMs) / 1000).toFixed(0);
135
+ const render = () => {
136
+ if (!spinner)
137
+ return;
138
+ const suffix = latestLine ? ` ${pc.dim("·")} ${truncate(latestLine, 60)}` : "";
139
+ spinner.text = `${label}${suffix} ${pc.dim(`(${elapsed()}s)`)}`;
140
+ };
141
+ const ticker = spinner ? setInterval(render, 1000) : null;
142
+ if (ticker && typeof ticker.unref === "function")
143
+ ticker.unref();
144
+ const onData = (buf, which) => {
145
+ const text = buf.toString("utf-8");
146
+ chunks.push(text);
147
+ const acc = (which === "out" ? outBuf : errBuf) + text;
148
+ const lines = acc.split("\n");
149
+ const remainder = lines.pop() ?? "";
150
+ if (which === "out")
151
+ outBuf = remainder;
152
+ else
153
+ errBuf = remainder;
154
+ for (const raw of lines) {
155
+ const line = raw.replace(/\s+$/, "");
156
+ if (line.length === 0)
157
+ continue;
158
+ if (spinner) {
159
+ latestLine = line;
160
+ render();
161
+ }
162
+ else if (opts.verbose) {
163
+ process.stdout.write(` ${pc.dim(`[${label}]`)} ${line}\n`);
164
+ }
165
+ }
166
+ };
167
+ child.stdout?.on("data", (b) => onData(b, "out"));
168
+ child.stderr?.on("data", (b) => onData(b, "err"));
169
+ const finalize = (code) => {
170
+ if (ticker)
171
+ clearInterval(ticker);
172
+ const durationMs = Date.now() - startMs;
173
+ writeFileSync(logPath, chunks.join(""), "utf-8");
174
+ const ok = code === 0;
175
+ const secs = `${(durationMs / 1000).toFixed(1)}s`;
176
+ if (spinner) {
177
+ if (settle === "auto") {
178
+ if (ok)
179
+ spinner.succeed(`${label} ${pc.dim(`(${secs})`)}`);
180
+ else
181
+ spinner.fail(`${label} — failed (${secs}) — log=${logPath}`);
182
+ }
183
+ else {
184
+ // Caller owns the final line; clear the transient progress line.
185
+ spinner.stop();
186
+ }
187
+ }
188
+ else if (settle === "auto") {
189
+ // No spinner (verbose or non-TTY): the live line never rendered, so emit
190
+ // a plain terminal status line. Manual-settle callers print their own.
191
+ if (ok) {
192
+ process.stdout.write(`${pc.green("ok")} ${label} ${pc.dim(`(${secs})`)}\n`);
193
+ }
194
+ else {
195
+ process.stderr.write(`${pc.red("error")} ${label} — failed (${secs}) — log=${logPath}\n`);
196
+ }
197
+ }
198
+ resolve({ ok, exitCode: code, durationMs, logPath });
199
+ };
200
+ child.on("error", (err) => {
201
+ chunks.push(`\n[spawn error] ${err.message}\n`);
202
+ finalize(-1);
203
+ });
204
+ child.on("close", (code) => finalize(code));
205
+ });
206
+ }
100
207
  function preflight(opts) {
101
- step("0/6 — preflight (tool detection)");
208
+ step("0/7 — preflight (tool detection)");
102
209
  const missing = detectMissingTools();
103
210
  if (missing.length === 0) {
104
211
  printSuccess("all required tools present");
@@ -150,15 +257,25 @@ function preflight(opts) {
150
257
  }
151
258
  }
152
259
  printSuccess("gh authenticated");
153
- // docker reachability
260
+ // docker reachability. On macOS the runtime (Docker Desktop / Colima)
261
+ // may not be started yet — ensureContainerRuntime (step 2/7) brings it
262
+ // up, so a cold daemon here is only a warning. On Linux the operator
263
+ // owns the daemon, so an unreachable daemon stays a hard failure.
154
264
  if (!runCapture("docker", ["info"]).ok) {
155
- printError("docker daemon unreachable — start Docker Desktop or colima");
156
- process.exit(1);
265
+ if (platform() === "darwin") {
266
+ printWarning("docker daemon not reachable yet — starting the container runtime next");
267
+ }
268
+ else {
269
+ printError("docker daemon unreachable — start Docker Desktop or colima");
270
+ process.exit(1);
271
+ }
272
+ }
273
+ else {
274
+ printSuccess("docker daemon reachable");
157
275
  }
158
- printSuccess("docker daemon reachable");
159
276
  }
160
277
  function ensureSecrets() {
161
- step("1/6 — operator secrets");
278
+ step("1/7 — operator secrets");
162
279
  mkdirSync(OLAM_HOME, { recursive: true });
163
280
  ensureSecretsDir();
164
281
  for (const name of SECRET_FILES) {
@@ -176,10 +293,89 @@ function ensureSecrets() {
176
293
  printSuccess(`generated ~/.olam/secrets/${name}`);
177
294
  }
178
295
  }
296
+ /**
297
+ * Decide which macOS container runtime to drive for the k3d node.
298
+ *
299
+ * Explicit operator preference (from `~/.olam/config.json
300
+ * host.preferred_runtime`) always wins. When unset, prefer an installed
301
+ * Docker Desktop over Colima — i.e. never impose a second Colima VM onto
302
+ * a machine that already runs Docker Desktop. Pure function: the
303
+ * detection result is injected so it stays unit-testable.
304
+ */
305
+ export function resolveMacRuntime(preferred, dockerDesktopInstalled) {
306
+ if (preferred)
307
+ return preferred;
308
+ return dockerDesktopInstalled ? "docker-desktop" : "colima";
309
+ }
310
+ /** True when the Docker Desktop app bundle is present on this Mac. */
311
+ function isDockerDesktopInstalled() {
312
+ return existsSync("/Applications/Docker.app");
313
+ }
314
+ /** True when the active docker context has a reachable daemon. */
315
+ function dockerDaemonReachable() {
316
+ return runCapture("docker", ["info"]).ok;
317
+ }
318
+ /**
319
+ * macOS container-runtime bring-up (step 2/7). Honours
320
+ * `opts.preferredRuntime`; auto-detects Docker Desktop otherwise. k3d
321
+ * runs its k3s node on whichever daemon the *active docker context*
322
+ * points at, so this both selects the runtime and points the context at
323
+ * it before `k3d cluster create`. No-op on non-darwin (Linux operators
324
+ * manage their own daemon).
325
+ */
326
+ function ensureContainerRuntime(opts) {
327
+ if (platform() !== "darwin")
328
+ return;
329
+ const runtime = resolveMacRuntime(opts.preferredRuntime, isDockerDesktopInstalled());
330
+ if (runtime === "external-k8s") {
331
+ step("2/7 — container runtime (external-k8s)");
332
+ printInfo("runtime", "preferred_runtime=external-k8s — not managing Docker Desktop/Colima");
333
+ return;
334
+ }
335
+ if (runtime === "docker-desktop") {
336
+ ensureDockerDesktop();
337
+ return;
338
+ }
339
+ ensureColima();
340
+ }
341
+ /**
342
+ * Ensure Docker Desktop is the active docker context and its daemon is
343
+ * up. Starts the app (`open -a Docker`) and polls `docker info` for up to
344
+ * ~90s when the daemon isn't ready yet. Used instead of Colima whenever
345
+ * Docker Desktop is the resolved runtime.
346
+ */
347
+ function ensureDockerDesktop() {
348
+ step("2/7 — Docker Desktop (macOS)");
349
+ // Point the docker CLI at Docker Desktop's daemon. `desktop-linux` is
350
+ // Docker Desktop's macOS context name; k3d reads the active context to
351
+ // choose where the k3s node container runs. Non-fatal if the context is
352
+ // already current or named differently on exotic installs.
353
+ if (runCapture("docker", ["context", "use", "desktop-linux"]).ok) {
354
+ printSuccess("docker context → desktop-linux");
355
+ }
356
+ else {
357
+ printWarning("could not select the 'desktop-linux' docker context — using the current context");
358
+ }
359
+ if (dockerDaemonReachable()) {
360
+ printSuccess("Docker Desktop daemon reachable");
361
+ return;
362
+ }
363
+ printWarning("Docker Desktop not running — starting (open -a Docker)");
364
+ runCapture("open", ["-a", "Docker"]);
365
+ for (let waited = 0; waited < 90; waited += 3) {
366
+ spawnSync("sleep", ["3"]);
367
+ if (dockerDaemonReachable()) {
368
+ printSuccess(`Docker Desktop daemon reachable (after ~${waited + 3}s)`);
369
+ return;
370
+ }
371
+ }
372
+ printError("Docker Desktop did not become ready within 90s — start it manually and re-run `olam bootstrap`");
373
+ process.exit(1);
374
+ }
179
375
  function ensureColima() {
180
376
  if (platform() !== "darwin")
181
377
  return;
182
- step("2/6 — colima (macOS)");
378
+ step("2/7 — colima (macOS)");
183
379
  if (!runCapture("colima", ["status"]).ok) {
184
380
  printWarning("colima not running — starting");
185
381
  runOrFail("colima", [
@@ -211,10 +407,10 @@ function ensureColima() {
211
407
  }
212
408
  function ensureCluster(opts) {
213
409
  if (opts.skipClusterCreate) {
214
- step("3/6 — cluster (skipped via --skip-cluster-create)");
410
+ step("3/7 — cluster (skipped via --skip-cluster-create)");
215
411
  return;
216
412
  }
217
- step(`3/6 — k3d cluster create (${opts.cluster})`);
413
+ step(`3/7 — k3d cluster create (${opts.cluster})`);
218
414
  if (runCapture("k3d", ["cluster", "list", opts.cluster]).ok) {
219
415
  printInfo("cluster", `'${opts.cluster}' already exists`);
220
416
  return;
@@ -413,42 +609,30 @@ export function getGrafanaCredentials() {
413
609
  }
414
610
  }
415
611
  /**
416
- * Run a single observability bash script, capturing all output to a log file
417
- * instead of streaming it to the terminal. Returns whether the script
418
- * succeeded, how long it took, and the log path for error context.
612
+ * Run a single observability bash script with live progress.
419
613
  *
420
- * When `verbose` is true the function falls back to `stdio: 'inherit'` so the
421
- * operator can watch the raw output live (useful when debugging a failure).
614
+ * Default mode shows a one-line spinner (latest output + elapsed) that the
615
+ * CALLER settles (manual settle) so it can map exit codes to nuanced states
616
+ * (e.g. the loki scrub-wait flake → warn, not fail). Verbose / non-TTY mode
617
+ * streams all output sequentially. Combined output is always captured to
618
+ * `~/.olam/logs/observability-<name>.log`.
422
619
  */
423
- export function runObservabilityScript(scriptPath, scriptName, env, verbose = false) {
424
- const logDir = join(homedir(), ".olam", "logs");
425
- mkdirSync(logDir, { recursive: true });
620
+ export async function runObservabilityScript(scriptPath, scriptName, env, verbose = false) {
426
621
  const baseName = scriptName.replace(/\.sh$/, "");
427
- const logPath = join(logDir, `observability-${baseName}.log`);
428
- const startMs = Date.now();
429
- if (verbose) {
430
- // Verbose mode: stream directly to terminal; log file captures nothing.
431
- const result = spawnSync("bash", [scriptPath], { stdio: "inherit", env });
432
- const durationMs = Date.now() - startMs;
433
- writeFileSync(logPath, `(verbose mode — output streamed to terminal)\n`, "utf-8");
434
- return { ok: result.status === 0, durationMs, logPath };
435
- }
436
- const result = spawnSync("bash", [scriptPath], {
437
- stdio: "pipe",
622
+ const res = await runLiveTask(baseName, "bash", [scriptPath], {
623
+ verbose,
438
624
  env,
439
- encoding: "utf-8",
625
+ logName: `observability-${baseName}`,
626
+ settle: "manual",
440
627
  });
441
- const durationMs = Date.now() - startMs;
442
- const combined = (result.stdout ?? "") + (result.stderr ?? "");
443
- writeFileSync(logPath, combined, "utf-8");
444
- return { ok: result.status === 0, durationMs, logPath };
628
+ return { ok: res.ok, durationMs: res.durationMs, logPath: res.logPath };
445
629
  }
446
- function installObservability(opts) {
630
+ async function installObservability(opts) {
447
631
  if (opts.skipObservability) {
448
- step("4/6 — observability (skipped via --skip-observability)");
632
+ step("4/7 — observability (skipped via --skip-observability)");
449
633
  return;
450
634
  }
451
- step("4/6 — observability");
635
+ step("4/7 — observability");
452
636
  const observabilityDir = resolveObservabilityScriptsDir();
453
637
  if (!observabilityDir) {
454
638
  throw new Error(`Bundled observability assets missing. ` +
@@ -479,7 +663,7 @@ function installObservability(opts) {
479
663
  continue;
480
664
  }
481
665
  }
482
- const runResult = runObservabilityScript(path, script, scriptEnv, opts.verboseObservability);
666
+ const runResult = await runObservabilityScript(path, script, scriptEnv, opts.verbose);
483
667
  if (runResult.ok) {
484
668
  outcomes.push({
485
669
  script,
@@ -555,7 +739,7 @@ function installObservability(opts) {
555
739
  * stack runs but has no scrape targets and no dashboards.
556
740
  */
557
741
  function applyPeripheralServicesManifests() {
558
- step("5/6 — peripheral-services manifests (IngressRoutes + ServiceMonitors + recording rules + dashboards + Kyverno)");
742
+ step("5/7 — peripheral-services manifests (IngressRoutes + ServiceMonitors + recording rules + dashboards + Kyverno)");
559
743
  const dir = resolvePeripheralServicesDir();
560
744
  if (!dir) {
561
745
  printWarning("bundled peripheral-services manifests not found — skipping");
@@ -619,19 +803,139 @@ function applyPeripheralServicesManifests() {
619
803
  : `${manifestFiles.length} manifests — no-op`;
620
804
  printSuccess(`peripheral-services: ${summary}`);
621
805
  }
622
- function delegateToUpgrade() {
623
- step("6/6 apply host-cp + peripherals + rollout (olam upgrade)");
806
+ /**
807
+ * Recursively collect deployment manifest files (`50-deployment.yaml`) under
808
+ * `manifestsRoot`, including the top-level host-cp one and every peripheral
809
+ * subdir.
810
+ */
811
+ function findDeploymentManifests(manifestsRoot) {
812
+ const out = [];
813
+ const walk = (dir) => {
814
+ let names;
815
+ try {
816
+ names = readdirSync(dir);
817
+ }
818
+ catch {
819
+ return;
820
+ }
821
+ for (const name of names) {
822
+ const full = join(dir, name);
823
+ let isDir = false;
824
+ try {
825
+ isDir = statSync(full).isDirectory();
826
+ }
827
+ catch {
828
+ continue;
829
+ }
830
+ if (isDir) {
831
+ walk(full);
832
+ }
833
+ else if (/^50-deployment\.ya?ml$/.test(name)) {
834
+ out.push(full);
835
+ }
836
+ }
837
+ };
838
+ walk(manifestsRoot);
839
+ return out;
840
+ }
841
+ /**
842
+ * Parse the bundled deployment manifests and return the UNIQUE set of
843
+ * `ghcr.io/pleri/olam-*@sha256:<digest>` image refs they pin. These are the
844
+ * authoritative refs that actually get deployed (host-cp + plan-chat share one
845
+ * host-cp digest → deduped to a single pull). Non-olam images (busybox init,
846
+ * postgres, electric) are ignored.
847
+ *
848
+ * Pure function — no I/O beyond reading the passed-in files; unit-tested.
849
+ */
850
+ export function collectOlamImageRefs(manifestsRoot) {
851
+ const refRe = /image:\s*(ghcr\.io\/pleri\/olam-[a-z0-9-]+@sha256:[a-f0-9]{64})/g;
852
+ const seen = new Set();
853
+ for (const file of findDeploymentManifests(manifestsRoot)) {
854
+ let raw;
855
+ try {
856
+ raw = readFileSync(file, "utf-8");
857
+ }
858
+ catch {
859
+ continue;
860
+ }
861
+ for (const m of raw.matchAll(refRe)) {
862
+ const ref = m[1];
863
+ if (ref)
864
+ seen.add(ref);
865
+ }
866
+ }
867
+ return [...seen].sort();
868
+ }
869
+ /**
870
+ * Step 6/7: pre-pull the manifest-pinned olam-* images and import them into the
871
+ * k3d node's containerd. Warms the cache so pod rollouts in step 7 don't
872
+ * cold-pull — which is what widened the rollout-race window that surfaced as
873
+ * "image not detected" / "pod not ready" in `olam doctor`. Best-effort:
874
+ * per-image failures warn + continue (kubelet on-demand pull is the fallback).
875
+ */
876
+ async function prepullImages(opts) {
877
+ if (opts.skipPrepull) {
878
+ step("6/7 — pre-pull olam images (skipped via --skip-prepull)");
879
+ return;
880
+ }
881
+ step("6/7 — pre-pull olam images (docker pull + k3d image import)");
882
+ const k8sRoot = resolveK8sAssetsRoot();
883
+ const manifestsRoot = k8sRoot ? join(k8sRoot, "manifests") : null;
884
+ if (!manifestsRoot || !existsSync(manifestsRoot)) {
885
+ printWarning("bundled manifests not found — skipping pre-pull (pods will cold-pull on demand)");
886
+ return;
887
+ }
888
+ const refs = collectOlamImageRefs(manifestsRoot);
889
+ if (refs.length === 0) {
890
+ printWarning("no ghcr.io/pleri/olam-* image refs found in manifests — skipping");
891
+ return;
892
+ }
893
+ printInfo("pre-pull", `${refs.length} unique olam image(s) → node '${opts.cluster}'`);
894
+ for (const ref of refs) {
895
+ const short = ref.replace(/^ghcr\.io\/pleri\//, "").replace(/@sha256:.*/, "");
896
+ const pull = await runLiveTask(`pull ${short}`, "docker", ["pull", ref], {
897
+ verbose: opts.verbose,
898
+ logName: `prepull-${short}`,
899
+ });
900
+ if (!pull.ok) {
901
+ printWarning(`${short}: docker pull failed — pod will cold-pull on demand (log=${pull.logPath})`);
902
+ continue;
903
+ }
904
+ const imp = await runLiveTask(`import ${short}`, "k3d", ["image", "import", ref, "-c", opts.cluster], { verbose: opts.verbose, logName: `prepull-import-${short}` });
905
+ if (!imp.ok) {
906
+ printWarning(`${short}: k3d image import failed — pod will cold-pull on demand (log=${imp.logPath})`);
907
+ }
908
+ }
909
+ }
910
+ async function delegateToUpgrade(opts) {
911
+ step("7/7 — apply host-cp + peripherals + rollout (olam upgrade)");
624
912
  // Re-invoke `olam upgrade -y` via the same process binary. The upgrade
625
913
  // flow's 8-step k8s path (upgrade-kubernetes.ts) handles namespace +
626
914
  // RBAC + Secrets + ghcr-pull + host-side docker-socket-proxy + manifest
627
915
  // apply + rollout status + port-forward + /health verify + audit log.
628
916
  const olamBin = process.argv[1] ?? "olam";
629
- const result = spawnSync(process.execPath, [olamBin, "upgrade", "-y"], {
630
- stdio: "inherit",
631
- });
632
- if (result.status !== 0) {
633
- printError("olam upgrade failed see output above");
634
- process.exit(result.status ?? 1);
917
+ // Verbose: stream the full upgrade output inline (its own ora spinners + logs
918
+ // are most useful raw when debugging). Default: collapse to one live line and
919
+ // capture everything to ~/.olam/logs/bootstrap-upgrade.log.
920
+ if (opts.verbose) {
921
+ const result = spawnSync(process.execPath, [olamBin, "upgrade", "-y"], {
922
+ stdio: "inherit",
923
+ });
924
+ if (result.status !== 0) {
925
+ printError("olam upgrade failed — see output above");
926
+ process.exit(result.status ?? 1);
927
+ }
928
+ return;
929
+ }
930
+ const res = await runLiveTask("olam upgrade", process.execPath, [olamBin, "upgrade", "-y"], { verbose: false, logName: "bootstrap-upgrade", settle: "auto" });
931
+ if (!res.ok) {
932
+ printError(`olam upgrade failed (exit ${res.exitCode}) — see ${res.logPath}`);
933
+ const tail = readFileSync(res.logPath, "utf-8")
934
+ .split("\n")
935
+ .slice(-30)
936
+ .join("\n");
937
+ process.stderr.write(` --- last 30 lines from olam upgrade ---\n${tail}\n`);
938
+ process.exit(res.exitCode ?? 1);
635
939
  }
636
940
  }
637
941
  function summary(opts) {
@@ -666,24 +970,31 @@ export async function runBootstrapKubernetes(rawOpts) {
666
970
  // follow-up). Pass --no-auto-install or set autoInstall=false to
667
971
  // restore the earlier opt-in behaviour.
668
972
  const defaultAutoInstall = platform() === "darwin";
973
+ // `verbose` is the canonical flag; `verboseObservability` is the deprecated
974
+ // alias and ORs in for back-compat.
975
+ const verbose = (rawOpts.verbose ?? false) || (rawOpts.verboseObservability ?? false);
669
976
  const opts = {
670
977
  cluster: rawOpts.cluster ?? DEFAULT_K3S_CLUSTER,
671
978
  autoInstall: rawOpts.autoInstall ?? defaultAutoInstall,
672
979
  skipObservability: rawOpts.skipObservability ?? false,
673
980
  skipClusterCreate: rawOpts.skipClusterCreate ?? false,
674
981
  forceObservability: rawOpts.forceObservability ?? false,
982
+ skipPrepull: rawOpts.skipPrepull ?? false,
983
+ verbose,
675
984
  verboseObservability: rawOpts.verboseObservability ?? false,
676
985
  hostCpDevPath: rawOpts.hostCpDevPath,
986
+ preferredRuntime: rawOpts.preferredRuntime,
677
987
  };
678
988
  printHeader("olam setup — k3s mode");
679
989
  printInfo("mode", "one-command bring-up of olam peripherals + observability on a local k3d cluster");
680
990
  preflight(opts);
681
991
  ensureSecrets();
682
- ensureColima();
992
+ ensureContainerRuntime(opts);
683
993
  ensureCluster(opts);
684
- installObservability(opts);
994
+ await installObservability(opts);
685
995
  applyPeripheralServicesManifests();
686
- delegateToUpgrade();
996
+ await prepullImages(opts);
997
+ await delegateToUpgrade(opts);
687
998
  summary(opts);
688
999
  printSuccess("setup complete");
689
1000
  return { exitCode: 0, summary: `setup complete on cluster ${opts.cluster}` };
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-kubernetes.js","sourceRoot":"","sources":["../../src/lib/bootstrap-kubernetes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap-kubernetes.js","sourceRoot":"","sources":["../../src/lib/bootstrap-kubernetes.ts"],"names":[],"mappings":"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"}