@pleri/olam-cli 0.1.157 → 0.1.158
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/dist/image-digests.json +7 -7
- package/dist/index.js +49 -59
- package/dist/lib/k8s-secret-render.d.ts.map +1 -1
- package/dist/lib/k8s-secret-render.js +7 -4
- package/dist/lib/k8s-secret-render.js.map +1 -1
- package/dist/lib/upgrade-kubernetes.d.ts +4 -1
- package/dist/lib/upgrade-kubernetes.d.ts.map +1 -1
- package/dist/lib/upgrade-kubernetes.js +35 -31
- package/dist/lib/upgrade-kubernetes.js.map +1 -1
- package/hermes-bundle/version.json +1 -1
- package/host-cp/k8s/manifests/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +1 -1
- package/host-cp/src/metrics.mjs +281 -0
- package/host-cp/src/server.mjs +22 -2
- package/package.json +1 -1
package/dist/image-digests.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"auth": "sha256:
|
|
3
|
-
"devbox": "sha256:
|
|
4
|
-
"devbox-base": "sha256:
|
|
5
|
-
"host-cp": "sha256:
|
|
6
|
-
"kg-service": "sha256:
|
|
7
|
-
"mcp-auth": "sha256:
|
|
2
|
+
"auth": "sha256:690fab7365a8309a8176f207e96ded9eee1af9640297c109be3a43305e727382",
|
|
3
|
+
"devbox": "sha256:d81425ea1ba429fad2156b05f85fe1d25eebf3436a7f7e3c2efa8feb719faa0b",
|
|
4
|
+
"devbox-base": "sha256:e2791282efba4d5e6e9fcf85db455cbe232f1135ca8733cd2d1f44aa2ca6c3dd",
|
|
5
|
+
"host-cp": "sha256:ea586fdbd1856c739bf241b7d8a2099485dad9c0d2469ca3e0e821ed24681976",
|
|
6
|
+
"kg-service": "sha256:72030f3054315e7ebf575f6dcb9b4965e1ddee13ea7bfdeb0bde32253beeb1c7",
|
|
7
|
+
"mcp-auth": "sha256:4d4806e2aa7c782de60471a9742d9e85dcf9f5ba0af3c496c26ff7aab9847a43",
|
|
8
8
|
"$schema_version": 1,
|
|
9
|
-
"$published_version": "0.1.
|
|
9
|
+
"$published_version": "0.1.158",
|
|
10
10
|
"$registry": "ghcr.io/pleri"
|
|
11
11
|
}
|
package/dist/index.js
CHANGED
|
@@ -3,12 +3,6 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
7
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
8
|
-
}) : x)(function(x) {
|
|
9
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
10
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
11
|
-
});
|
|
12
6
|
var __esm = (fn, res) => function __init() {
|
|
13
7
|
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
14
8
|
};
|
|
@@ -9402,7 +9396,7 @@ function extractStderr(err) {
|
|
|
9402
9396
|
function carryUncommittedEdits(repos, workspacePath, deps = {}) {
|
|
9403
9397
|
const exec = deps.exec ?? ((cmd, args, opts) => execFileSync4(cmd, args, opts));
|
|
9404
9398
|
const homedir54 = deps.homedir ?? (() => os9.homedir());
|
|
9405
|
-
const
|
|
9399
|
+
const existsSync103 = deps.existsSync ?? ((p) => fs15.existsSync(p));
|
|
9406
9400
|
const copyFileSync12 = deps.copyFileSync ?? ((src, dest) => fs15.copyFileSync(src, dest));
|
|
9407
9401
|
const mkdirSync60 = deps.mkdirSync ?? ((dirPath, opts) => {
|
|
9408
9402
|
fs15.mkdirSync(dirPath, opts);
|
|
@@ -9413,9 +9407,9 @@ function carryUncommittedEdits(repos, workspacePath, deps = {}) {
|
|
|
9413
9407
|
continue;
|
|
9414
9408
|
const repoPath = expandHome2(repo.path, homedir54);
|
|
9415
9409
|
const worktreePath = path17.join(workspacePath, repo.name);
|
|
9416
|
-
if (!
|
|
9410
|
+
if (!existsSync103(repoPath))
|
|
9417
9411
|
continue;
|
|
9418
|
-
if (!
|
|
9412
|
+
if (!existsSync103(worktreePath)) {
|
|
9419
9413
|
console.warn(`[carry] ${repo.name}: world worktree ${worktreePath} missing; skipping carry for this repo`);
|
|
9420
9414
|
continue;
|
|
9421
9415
|
}
|
|
@@ -9475,7 +9469,7 @@ function carryUncommittedEdits(repos, workspacePath, deps = {}) {
|
|
|
9475
9469
|
for (const rel of plan.diff.untracked) {
|
|
9476
9470
|
const src = path17.join(plan.repoPath, rel);
|
|
9477
9471
|
const dest = path17.join(plan.worktreePath, rel);
|
|
9478
|
-
if (!
|
|
9472
|
+
if (!existsSync103(src))
|
|
9479
9473
|
continue;
|
|
9480
9474
|
try {
|
|
9481
9475
|
mkdirSync60(path17.dirname(dest), { recursive: true });
|
|
@@ -19073,6 +19067,7 @@ __export(project_sweep_exports, {
|
|
|
19073
19067
|
walkProjectRoot: () => walkProjectRoot
|
|
19074
19068
|
});
|
|
19075
19069
|
import * as path69 from "node:path";
|
|
19070
|
+
import { readdirSync as readdirSync22, lstatSync as lstatSync5, statSync as statSync23, existsSync as existsSync77 } from "node:fs";
|
|
19076
19071
|
function isSkipped(basename13, extra) {
|
|
19077
19072
|
if (DEFAULT_SKIP.has(basename13))
|
|
19078
19073
|
return true;
|
|
@@ -19135,12 +19130,11 @@ function walk2(currentPath, depth, maxDepth, extraExclude, fsAdapter, results) {
|
|
|
19135
19130
|
}
|
|
19136
19131
|
}
|
|
19137
19132
|
function makeRealFsAdapter() {
|
|
19138
|
-
const fs92 = __require("node:fs");
|
|
19139
19133
|
return {
|
|
19140
|
-
readdirSync: (p) =>
|
|
19134
|
+
readdirSync: (p) => readdirSync22(p, { encoding: "utf-8" }),
|
|
19141
19135
|
// lstatSync does NOT follow symlinks — used for descent decisions.
|
|
19142
19136
|
lstatSync: (p) => {
|
|
19143
|
-
const s =
|
|
19137
|
+
const s = lstatSync5(p, { throwIfNoEntry: true });
|
|
19144
19138
|
return {
|
|
19145
19139
|
isDirectory: () => s.isDirectory(),
|
|
19146
19140
|
isSymbolicLink: () => s.isSymbolicLink(),
|
|
@@ -19149,10 +19143,10 @@ function makeRealFsAdapter() {
|
|
|
19149
19143
|
},
|
|
19150
19144
|
// statSync DOES follow symlinks — used only for mtime reads on manifest/HEAD files.
|
|
19151
19145
|
statSync: (p) => {
|
|
19152
|
-
const s =
|
|
19146
|
+
const s = statSync23(p, { throwIfNoEntry: true });
|
|
19153
19147
|
return { isDirectory: () => s.isDirectory(), mtimeMs: s.mtimeMs };
|
|
19154
19148
|
},
|
|
19155
|
-
existsSync: (p) =>
|
|
19149
|
+
existsSync: (p) => existsSync77(p)
|
|
19156
19150
|
};
|
|
19157
19151
|
}
|
|
19158
19152
|
function walkProjectRoot(rootPath, opts = {}) {
|
|
@@ -22141,13 +22135,13 @@ function appendAuditEntry(entry, auditLogPath, writeFileSyncImpl) {
|
|
|
22141
22135
|
}
|
|
22142
22136
|
async function runManifestRefresh(manifestsDir, acceptRegression, deps = {}, peripheral) {
|
|
22143
22137
|
const auditLogPath = deps.auditLogPath ?? MANIFEST_REFRESH_AUDIT_LOG;
|
|
22144
|
-
const
|
|
22138
|
+
const readdirSync28 = deps.readdirSync ?? fs31.readdirSync;
|
|
22145
22139
|
const readFileSync78 = deps.readFileSync ?? fs31.readFileSync;
|
|
22146
22140
|
const writeFileSyncImpl = deps.writeFileSync ?? fs31.writeFileSync;
|
|
22147
|
-
const
|
|
22141
|
+
const existsSync103 = deps.existsSync ?? fs31.existsSync;
|
|
22148
22142
|
const now = deps.now ? deps.now() : /* @__PURE__ */ new Date();
|
|
22149
22143
|
const targetDir = peripheral ? path32.join(manifestsDir, peripheral) : manifestsDir;
|
|
22150
|
-
if (!
|
|
22144
|
+
if (!existsSync103(targetDir)) {
|
|
22151
22145
|
return {
|
|
22152
22146
|
ok: false,
|
|
22153
22147
|
message: peripheral ? `peripheral manifests directory not found: ${targetDir}` : `manifests directory not found: ${targetDir}`
|
|
@@ -22155,7 +22149,7 @@ async function runManifestRefresh(manifestsDir, acceptRegression, deps = {}, per
|
|
|
22155
22149
|
}
|
|
22156
22150
|
let files;
|
|
22157
22151
|
try {
|
|
22158
|
-
const entries =
|
|
22152
|
+
const entries = readdirSync28(targetDir, { withFileTypes: true });
|
|
22159
22153
|
files = entries.filter((e) => e.isFile() && (e.name.endsWith(".yaml") || e.name.endsWith(".json"))).map((e) => e.name);
|
|
22160
22154
|
} catch (err) {
|
|
22161
22155
|
return {
|
|
@@ -22216,7 +22210,7 @@ init_install_root();
|
|
|
22216
22210
|
|
|
22217
22211
|
// src/lib/k8s-secret-render.ts
|
|
22218
22212
|
import { spawnSync as spawnSync14 } from "node:child_process";
|
|
22219
|
-
import { existsSync as existsSync32, readFileSync as readFileSync26, writeFileSync as writeFileSync17, mkdirSync as mkdirSync23, chmodSync as chmodSync4 } from "node:fs";
|
|
22213
|
+
import { existsSync as existsSync32, readFileSync as readFileSync26, writeFileSync as writeFileSync17, mkdirSync as mkdirSync23, chmodSync as chmodSync4, renameSync as renameSync7 } from "node:fs";
|
|
22220
22214
|
import { join as join38, dirname as dirname24 } from "node:path";
|
|
22221
22215
|
import { randomBytes as randomBytes7 } from "node:crypto";
|
|
22222
22216
|
var K8S_SECRETS_STATE_PATH = join38(OLAM_HOME, "k8s-secrets-state.json");
|
|
@@ -22314,7 +22308,7 @@ function writeSecretsState(state, statePath = K8S_SECRETS_STATE_PATH) {
|
|
|
22314
22308
|
const tmp = `${statePath}.tmp.${process.pid}`;
|
|
22315
22309
|
writeFileSync17(tmp, JSON.stringify(state, null, 2) + "\n", { encoding: "utf8", mode: 384 });
|
|
22316
22310
|
chmodSync4(tmp, 384);
|
|
22317
|
-
|
|
22311
|
+
renameSync7(tmp, statePath);
|
|
22318
22312
|
}
|
|
22319
22313
|
function resolveSourceValue(source, olamHome5, reuseFromState, rotate, deps) {
|
|
22320
22314
|
if (!rotate && reuseFromState !== void 0 && reuseFromState !== "") {
|
|
@@ -22883,24 +22877,6 @@ async function runUpgradeKubernetes(opts = {}, deps = {}) {
|
|
|
22883
22877
|
return { exitCode: 1, summary: "manifest seed failed" };
|
|
22884
22878
|
}
|
|
22885
22879
|
}
|
|
22886
|
-
{
|
|
22887
|
-
const preliminaryResolved = resolveKubectlContext(deps.configPath);
|
|
22888
|
-
if (preliminaryResolved.error === void 0) {
|
|
22889
|
-
const preliminaryContext = preliminaryResolved.context;
|
|
22890
|
-
const step04Spinner = ora3("Creating ghcr-pull imagePullSecret (R3-C)").start();
|
|
22891
|
-
const pullSecretResult = await createGhcrPullSecret(preliminaryContext, deps, stderr);
|
|
22892
|
-
if (pullSecretResult.skipped) {
|
|
22893
|
-
step04Spinner.warn(`ghcr-pull Secret skipped: ${pullSecretResult.reason ?? "no token"}`);
|
|
22894
|
-
} else if (pullSecretResult.reason) {
|
|
22895
|
-
const warnMsg = `ghcr-pull Secret apply failed (continuing): ${pullSecretResult.reason}`;
|
|
22896
|
-
step04Spinner.warn(warnMsg);
|
|
22897
|
-
stderr.write(`${pc9.yellow("[warn]")} ${warnMsg}
|
|
22898
|
-
`);
|
|
22899
|
-
} else {
|
|
22900
|
-
step04Spinner.succeed("ghcr-pull imagePullSecret created/updated");
|
|
22901
|
-
}
|
|
22902
|
-
}
|
|
22903
|
-
}
|
|
22904
22880
|
{
|
|
22905
22881
|
const step05Error = await preflightK3dNodeMounts(deps, stderr);
|
|
22906
22882
|
if (step05Error !== null) {
|
|
@@ -22989,6 +22965,20 @@ ${remedyText}
|
|
|
22989
22965
|
const note = skippedCount > 0 ? ` (${skippedCount} skipped \u2014 see warnings above)` : "";
|
|
22990
22966
|
step05Spinner.succeed(`k8s bootstrap: ${appliedCount} applied${note}`);
|
|
22991
22967
|
}
|
|
22968
|
+
{
|
|
22969
|
+
const step06Spinner = ora3("Creating ghcr-pull imagePullSecret (R3-C)").start();
|
|
22970
|
+
const pullSecretResult = await createGhcrPullSecret(pinnedContext, deps, stderr);
|
|
22971
|
+
if (pullSecretResult.skipped) {
|
|
22972
|
+
step06Spinner.warn(`ghcr-pull Secret skipped: ${pullSecretResult.reason ?? "no token"}`);
|
|
22973
|
+
} else if (pullSecretResult.reason) {
|
|
22974
|
+
const warnMsg = `ghcr-pull Secret apply failed (continuing): ${pullSecretResult.reason}`;
|
|
22975
|
+
step06Spinner.warn(warnMsg);
|
|
22976
|
+
stderr.write(`${pc9.yellow("[warn]")} ${warnMsg}
|
|
22977
|
+
`);
|
|
22978
|
+
} else {
|
|
22979
|
+
step06Spinner.succeed("ghcr-pull imagePullSecret created/updated");
|
|
22980
|
+
}
|
|
22981
|
+
}
|
|
22992
22982
|
const step1Spinner = ora3("Verifying kubectl context (D10)").start();
|
|
22993
22983
|
if (!isContextAllowed(pinnedContext)) {
|
|
22994
22984
|
step1Spinner.fail("Context disallowed");
|
|
@@ -34109,13 +34099,13 @@ function registerCompletion(program2) {
|
|
|
34109
34099
|
init_cli_version();
|
|
34110
34100
|
init_health_probes();
|
|
34111
34101
|
import { spawn as spawn7 } from "node:child_process";
|
|
34112
|
-
import { existsSync as
|
|
34102
|
+
import { existsSync as existsSync80 } from "node:fs";
|
|
34113
34103
|
import { homedir as homedir41 } from "node:os";
|
|
34114
34104
|
import path72 from "node:path";
|
|
34115
34105
|
import { createInterface as createInterface3 } from "node:readline";
|
|
34116
34106
|
|
|
34117
34107
|
// src/lib/shell-rc.ts
|
|
34118
|
-
import { copyFileSync as copyFileSync5, existsSync as existsSync59, readFileSync as readFileSync45, renameSync as
|
|
34108
|
+
import { copyFileSync as copyFileSync5, existsSync as existsSync59, readFileSync as readFileSync45, renameSync as renameSync8, writeFileSync as writeFileSync28 } from "node:fs";
|
|
34119
34109
|
import path52 from "node:path";
|
|
34120
34110
|
function appendIdempotent(opts) {
|
|
34121
34111
|
const { rcPath, marker, contentLine, clock = () => /* @__PURE__ */ new Date() } = opts;
|
|
@@ -34134,7 +34124,7 @@ function appendIdempotent(opts) {
|
|
|
34134
34124
|
const nextContent = `${content}${separator}${contentLine}${trailing}`;
|
|
34135
34125
|
const tmpPath = `${rcPath}.olam-tmp.${process.pid}`;
|
|
34136
34126
|
writeFileSync28(tmpPath, nextContent, { encoding: "utf-8" });
|
|
34137
|
-
|
|
34127
|
+
renameSync8(tmpPath, rcPath);
|
|
34138
34128
|
return { status: "appended", backupPath };
|
|
34139
34129
|
}
|
|
34140
34130
|
function resolveShellRc(home, shellEnv) {
|
|
@@ -34569,7 +34559,7 @@ async function phase5InitProject(opts, deps) {
|
|
|
34569
34559
|
const cwd = deps.cwd ?? process.cwd();
|
|
34570
34560
|
const projectRoot = findProjectRoot(cwd);
|
|
34571
34561
|
const configPath = path72.join(projectRoot, ".olam", "config.yaml");
|
|
34572
|
-
if (
|
|
34562
|
+
if (existsSync80(configPath)) {
|
|
34573
34563
|
return { ok: true, message: `${configPath} present (no change)` };
|
|
34574
34564
|
}
|
|
34575
34565
|
const promptFn = deps.prompt ?? defaultPrompt;
|
|
@@ -37524,7 +37514,7 @@ function registerWorldUpgrade(program2) {
|
|
|
37524
37514
|
|
|
37525
37515
|
// src/commands/mcp/serve.ts
|
|
37526
37516
|
init_output();
|
|
37527
|
-
import { existsSync as
|
|
37517
|
+
import { existsSync as existsSync92 } from "node:fs";
|
|
37528
37518
|
import { dirname as dirname52, resolve as resolve22 } from "node:path";
|
|
37529
37519
|
import { fileURLToPath as fileURLToPath7 } from "node:url";
|
|
37530
37520
|
var here = dirname52(fileURLToPath7(import.meta.url));
|
|
@@ -37534,7 +37524,7 @@ var BUNDLE_PATH_CANDIDATES = [
|
|
|
37534
37524
|
// dev / tsc-only (`dist/commands/mcp/serve.js`) — up two levels
|
|
37535
37525
|
resolve22(here, "..", "..", "mcp-server.js")
|
|
37536
37526
|
];
|
|
37537
|
-
function resolveBundlePath(candidates2 = BUNDLE_PATH_CANDIDATES, exists =
|
|
37527
|
+
function resolveBundlePath(candidates2 = BUNDLE_PATH_CANDIDATES, exists = existsSync92) {
|
|
37538
37528
|
return candidates2.find(exists) ?? null;
|
|
37539
37529
|
}
|
|
37540
37530
|
var MISSING_BUNDLE_REMEDY = "olam mcp server bundle missing. Searched: " + BUNDLE_PATH_CANDIDATES.join(", ") + ". For local dev, run: node packages/cli/scripts/bundle-mcp-server.mjs. A fresh `npm install -g @pleri/olam-cli@latest` should always include the bundle (see prepublishOnly in packages/cli/package.json); file an issue if it does not.";
|
|
@@ -38275,7 +38265,7 @@ function registerMcp(program2) {
|
|
|
38275
38265
|
init_output();
|
|
38276
38266
|
|
|
38277
38267
|
// src/lib/memory-host-process-migration.ts
|
|
38278
|
-
import { existsSync as
|
|
38268
|
+
import { existsSync as existsSync94, readFileSync as readFileSync71, unlinkSync as unlinkSync23 } from "node:fs";
|
|
38279
38269
|
import { spawnSync as spawnSync26 } from "node:child_process";
|
|
38280
38270
|
|
|
38281
38271
|
// src/commands/memory/_paths.ts
|
|
@@ -38304,8 +38294,8 @@ var KILL_TIMEOUT_MS = 5e3;
|
|
|
38304
38294
|
function migrateFromHostProcess(opts = {}) {
|
|
38305
38295
|
const pidPath2 = opts.pidPath ?? MEMORY_PID_PATH;
|
|
38306
38296
|
const logPath = opts.logPath ?? MEMORY_LOG_PATH;
|
|
38307
|
-
const pidfileExists =
|
|
38308
|
-
const logExists =
|
|
38297
|
+
const pidfileExists = existsSync94(pidPath2);
|
|
38298
|
+
const logExists = existsSync94(logPath);
|
|
38309
38299
|
if (!pidfileExists && !logExists) {
|
|
38310
38300
|
return { cleaned: false, summary: "no legacy host-process state to clean" };
|
|
38311
38301
|
}
|
|
@@ -38472,7 +38462,7 @@ function registerMemoryStop(cmd) {
|
|
|
38472
38462
|
|
|
38473
38463
|
// src/commands/memory/status.ts
|
|
38474
38464
|
init_output();
|
|
38475
|
-
import { existsSync as
|
|
38465
|
+
import { existsSync as existsSync95 } from "node:fs";
|
|
38476
38466
|
async function probe(secret) {
|
|
38477
38467
|
try {
|
|
38478
38468
|
const headers = {};
|
|
@@ -38497,7 +38487,7 @@ async function collectMemoryStatus() {
|
|
|
38497
38487
|
livez,
|
|
38498
38488
|
secretSet: hasMemorySecret(),
|
|
38499
38489
|
port: MEMORY_REST_PORT,
|
|
38500
|
-
legacyPidfilePresent:
|
|
38490
|
+
legacyPidfilePresent: existsSync95(MEMORY_PID_PATH)
|
|
38501
38491
|
};
|
|
38502
38492
|
}
|
|
38503
38493
|
async function runMemoryStatus(opts = {}) {
|
|
@@ -38580,7 +38570,7 @@ function registerMemoryLogs(cmd) {
|
|
|
38580
38570
|
}
|
|
38581
38571
|
|
|
38582
38572
|
// src/commands/memory/secret.ts
|
|
38583
|
-
import { existsSync as
|
|
38573
|
+
import { existsSync as existsSync96 } from "node:fs";
|
|
38584
38574
|
init_output();
|
|
38585
38575
|
async function runMemorySecretShow() {
|
|
38586
38576
|
if (!hasMemorySecret()) {
|
|
@@ -38595,7 +38585,7 @@ async function runMemorySecretShow() {
|
|
|
38595
38585
|
}
|
|
38596
38586
|
async function runMemorySecretRotate() {
|
|
38597
38587
|
printHeader("olam memory secret rotate");
|
|
38598
|
-
const wasRunning =
|
|
38588
|
+
const wasRunning = existsSync96(MEMORY_PID_PATH);
|
|
38599
38589
|
if (wasRunning) {
|
|
38600
38590
|
printInfo("current state", "service running; will restart with new secret");
|
|
38601
38591
|
const stopRc = await runMemoryStop();
|
|
@@ -38777,14 +38767,14 @@ function registerMemoryUninstall(cmd) {
|
|
|
38777
38767
|
// src/commands/memory/mode.ts
|
|
38778
38768
|
init_schema2();
|
|
38779
38769
|
init_output();
|
|
38780
|
-
import { existsSync as
|
|
38770
|
+
import { existsSync as existsSync97, readFileSync as readFileSync72, writeFileSync as writeFileSync45 } from "node:fs";
|
|
38781
38771
|
import { join as join87 } from "node:path";
|
|
38782
38772
|
import * as readline6 from "node:readline/promises";
|
|
38783
38773
|
import { parse as parseYaml7, stringify as stringifyYaml6 } from "yaml";
|
|
38784
38774
|
var CONFIG_REL = ".olam/config.yaml";
|
|
38785
38775
|
function locateConfig(cwd) {
|
|
38786
38776
|
const absPath = join87(cwd, CONFIG_REL);
|
|
38787
|
-
if (!
|
|
38777
|
+
if (!existsSync97(absPath)) {
|
|
38788
38778
|
throw new Error(
|
|
38789
38779
|
`No ${CONFIG_REL} at ${cwd}. Run \`olam init\` in your workspace root first.`
|
|
38790
38780
|
);
|
|
@@ -38920,12 +38910,12 @@ function registerMemoryMode(cmd) {
|
|
|
38920
38910
|
// src/commands/memory/bridge.ts
|
|
38921
38911
|
init_output();
|
|
38922
38912
|
import { spawn as spawn11 } from "node:child_process";
|
|
38923
|
-
import { existsSync as
|
|
38913
|
+
import { existsSync as existsSync98 } from "node:fs";
|
|
38924
38914
|
import { join as join88 } from "node:path";
|
|
38925
38915
|
var DEFAULT_PORT2 = 8788;
|
|
38926
38916
|
function resolveMemoryServiceDir() {
|
|
38927
38917
|
for (const c of MEMORY_SERVICE_CANDIDATES) {
|
|
38928
|
-
if (
|
|
38918
|
+
if (existsSync98(c)) return c;
|
|
38929
38919
|
}
|
|
38930
38920
|
throw new Error(
|
|
38931
38921
|
`Could not find packages/memory-service/. Searched: ${MEMORY_SERVICE_CANDIDATES.join(", ")}. If running from a published @pleri/olam-cli tarball, this is a packaging bug \u2014 please file an issue.`
|
|
@@ -38933,7 +38923,7 @@ function resolveMemoryServiceDir() {
|
|
|
38933
38923
|
}
|
|
38934
38924
|
function resolveLocalBridgeScript(serviceDir) {
|
|
38935
38925
|
const path91 = join88(serviceDir, "scripts", "local-bridge-server.mjs");
|
|
38936
|
-
if (!
|
|
38926
|
+
if (!existsSync98(path91)) {
|
|
38937
38927
|
throw new Error(
|
|
38938
38928
|
`Could not find local-bridge-server.mjs at ${path91}. Verify packages/memory-service ships the scripts/ directory.`
|
|
38939
38929
|
);
|
|
@@ -40660,7 +40650,7 @@ function registerFlywheelK5Score(parent) {
|
|
|
40660
40650
|
}
|
|
40661
40651
|
|
|
40662
40652
|
// src/commands/flywheel/k5-validate.ts
|
|
40663
|
-
import { readFileSync as readFileSync76, statSync as
|
|
40653
|
+
import { readFileSync as readFileSync76, statSync as statSync24 } from "node:fs";
|
|
40664
40654
|
import { parse as parseYAML } from "yaml";
|
|
40665
40655
|
var K5_DIMS = ["direction", "approach", "open_questions", "constraints", "reuse"];
|
|
40666
40656
|
var MAX_PLAN_BYTES = 1048576;
|
|
@@ -40721,7 +40711,7 @@ function validateK5ScoredAt(scoredAt) {
|
|
|
40721
40711
|
function validatePlan(path91) {
|
|
40722
40712
|
let stat;
|
|
40723
40713
|
try {
|
|
40724
|
-
stat =
|
|
40714
|
+
stat = statSync24(path91);
|
|
40725
40715
|
} catch (err) {
|
|
40726
40716
|
return { ok: false, message: `FAIL cannot stat ${path91}: ${err instanceof Error ? err.message : "unknown"}` };
|
|
40727
40717
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"k8s-secret-render.d.ts","sourceRoot":"","sources":["../../src/lib/k8s-secret-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAQH,eAAO,MAAM,sBAAsB,QAA4C,CAAC;AAGhF;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;QACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,MAAM,EACX;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,GACpD;YAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;SAAE,CAAC;KACnC,CAAC,CAAC;CACJ;AAED,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAAC,qBAAqB,CA6DzE,CAAC;AAEF,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAClD;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CACzC;AAuBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAA+B,GAAG,eAAe,GAAG,IAAI,CAUnG;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,GAAE,MAA+B,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"k8s-secret-render.d.ts","sourceRoot":"","sources":["../../src/lib/k8s-secret-render.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
* subprocess argv (audit:auth-callers + general security hygiene).
|
|
33
33
|
*/
|
|
34
34
|
import { spawnSync } from 'node:child_process';
|
|
35
|
-
import { existsSync, readFileSync, writeFileSync, mkdirSync, chmodSync, statSync } from 'node:fs';
|
|
35
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, chmodSync, statSync, renameSync } from 'node:fs';
|
|
36
36
|
import { join, dirname } from 'node:path';
|
|
37
37
|
import { randomBytes } from 'node:crypto';
|
|
38
38
|
import { OLAM_HOME } from './config.js';
|
|
@@ -140,9 +140,12 @@ export function writeSecretsState(state, statePath = K8S_SECRETS_STATE_PATH) {
|
|
|
140
140
|
const tmp = `${statePath}.tmp.${process.pid}`;
|
|
141
141
|
writeFileSync(tmp, JSON.stringify(state, null, 2) + '\n', { encoding: 'utf8', mode: 0o600 });
|
|
142
142
|
chmodSync(tmp, 0o600);
|
|
143
|
-
// renameSync is atomic on POSIX
|
|
144
|
-
//
|
|
145
|
-
|
|
143
|
+
// renameSync is atomic on POSIX. Use the statically-imported binding; a
|
|
144
|
+
// dynamic require('node:fs') would survive type-checking but esbuild's
|
|
145
|
+
// ESM bundler emits it as `__require("node:fs")` which throws at runtime
|
|
146
|
+
// ("Dynamic require of \"node:fs\" is not supported"), killing
|
|
147
|
+
// `olam upgrade` mid-bootstrap. See R4-W2-B retest finding.
|
|
148
|
+
renameSync(tmp, statePath);
|
|
146
149
|
}
|
|
147
150
|
/**
|
|
148
151
|
* Resolve a single placeholder's value. Returns null when the source is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"k8s-secret-render.js","sourceRoot":"","sources":["../../src/lib/k8s-secret-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"k8s-secret-render.js","sourceRoot":"","sources":["../../src/lib/k8s-secret-render.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,9 +23,12 @@
|
|
|
23
23
|
* D27 — audit log entry (phase2.flag_removed) emitted per upgrade run
|
|
24
24
|
*
|
|
25
25
|
* Step order (Phase D — kubernetes substrate, Phase 2 GA):
|
|
26
|
-
* 0.4 R3-C create/update ghcr-pull imagePullSecret in olam namespace (when GH_TOKEN available)
|
|
27
26
|
* 0.5 D4 k3d node docker socket bind-mount preflight (Decision #11 backward-compat surface)
|
|
28
27
|
* 0 probeKubernetesApiReachable — 5s timeout kubectl cluster-info
|
|
28
|
+
* 0.5b B4 ensureK8sBootstrap (namespace + RBAC + ConfigMap + PVC + secrets)
|
|
29
|
+
* 0.6 R3-C create/update ghcr-pull imagePullSecret in olam namespace (when GH_TOKEN available)
|
|
30
|
+
* NOTE: relocated from pre-step 0.4 to post-bootstrap (R4-W2-A) — the
|
|
31
|
+
* `olam` namespace must exist before kubectl can create the secret.
|
|
29
32
|
* 1 D10 context-allowlist + OLAM_K8S_CONTEXT_ACK strict-equality byte-for-byte
|
|
30
33
|
* 2 D12 Secret pre-check (olam-host-cp-secret; base64-decode; key-name check)
|
|
31
34
|
* 2.6 C2 per-peripheral Secret pre-check (iterates PERIPHERALS; unconditional — D5)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-kubernetes.d.ts","sourceRoot":"","sources":["../../src/lib/upgrade-kubernetes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"upgrade-kubernetes.d.ts","sourceRoot":"","sources":["../../src/lib/upgrade-kubernetes.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,9 +23,12 @@
|
|
|
23
23
|
* D27 — audit log entry (phase2.flag_removed) emitted per upgrade run
|
|
24
24
|
*
|
|
25
25
|
* Step order (Phase D — kubernetes substrate, Phase 2 GA):
|
|
26
|
-
* 0.4 R3-C create/update ghcr-pull imagePullSecret in olam namespace (when GH_TOKEN available)
|
|
27
26
|
* 0.5 D4 k3d node docker socket bind-mount preflight (Decision #11 backward-compat surface)
|
|
28
27
|
* 0 probeKubernetesApiReachable — 5s timeout kubectl cluster-info
|
|
28
|
+
* 0.5b B4 ensureK8sBootstrap (namespace + RBAC + ConfigMap + PVC + secrets)
|
|
29
|
+
* 0.6 R3-C create/update ghcr-pull imagePullSecret in olam namespace (when GH_TOKEN available)
|
|
30
|
+
* NOTE: relocated from pre-step 0.4 to post-bootstrap (R4-W2-A) — the
|
|
31
|
+
* `olam` namespace must exist before kubectl can create the secret.
|
|
29
32
|
* 1 D10 context-allowlist + OLAM_K8S_CONTEXT_ACK strict-equality byte-for-byte
|
|
30
33
|
* 2 D12 Secret pre-check (olam-host-cp-secret; base64-decode; key-name check)
|
|
31
34
|
* 2.6 C2 per-peripheral Secret pre-check (iterates PERIPHERALS; unconditional — D5)
|
|
@@ -567,36 +570,12 @@ export async function runUpgradeKubernetes(opts = {}, deps = {}) {
|
|
|
567
570
|
// skipped: dir exists or bundle absent (dev context) — no output, continue.
|
|
568
571
|
}
|
|
569
572
|
// ── Step 0.4: R3-C — create/update ghcr-pull imagePullSecret ────────
|
|
570
|
-
//
|
|
571
|
-
//
|
|
572
|
-
//
|
|
573
|
-
//
|
|
574
|
-
//
|
|
575
|
-
//
|
|
576
|
-
// pre-step 0a-prelude and is used for all subsequent steps. This duplicate
|
|
577
|
-
// resolution is acceptable — step 0.4 is additive and does not replace B3.
|
|
578
|
-
{
|
|
579
|
-
const preliminaryResolved = resolveKubectlContext(deps.configPath);
|
|
580
|
-
if (preliminaryResolved.error === undefined) {
|
|
581
|
-
const preliminaryContext = preliminaryResolved.context;
|
|
582
|
-
const step04Spinner = ora('Creating ghcr-pull imagePullSecret (R3-C)').start();
|
|
583
|
-
const pullSecretResult = await createGhcrPullSecret(preliminaryContext, deps, stderr);
|
|
584
|
-
if (pullSecretResult.skipped) {
|
|
585
|
-
step04Spinner.warn(`ghcr-pull Secret skipped: ${pullSecretResult.reason ?? 'no token'}`);
|
|
586
|
-
}
|
|
587
|
-
else if (pullSecretResult.reason) {
|
|
588
|
-
// kubectl apply failed — warn but do not abort. Rollout will fail on 401
|
|
589
|
-
// image pull if the secret is needed, which surfaces a clear error.
|
|
590
|
-
const warnMsg = `ghcr-pull Secret apply failed (continuing): ${pullSecretResult.reason}`;
|
|
591
|
-
step04Spinner.warn(warnMsg);
|
|
592
|
-
stderr.write(`${pc.yellow('[warn]')} ${warnMsg}\n`);
|
|
593
|
-
}
|
|
594
|
-
else {
|
|
595
|
-
step04Spinner.succeed('ghcr-pull imagePullSecret created/updated');
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
// If context resolution fails here, step 0a-prelude will catch and abort below.
|
|
599
|
-
}
|
|
573
|
+
// RELOCATED (R4-W2-A): this step previously ran before ensureK8sBootstrap,
|
|
574
|
+
// but the `olam` namespace doesn't exist yet on a fresh cluster — `kubectl
|
|
575
|
+
// apply` failed with `namespaces "olam" not found` and `(continuing)`
|
|
576
|
+
// silently dropped the secret. Subsequent host-cp rollouts then 401'd on
|
|
577
|
+
// image pull. Step 0.4 now runs AFTER Step 0.5 (B4 bootstrap creates the
|
|
578
|
+
// namespace + RBAC) — see below.
|
|
600
579
|
// ── Step 0.5: D4 — k3d node docker socket bind-mount preflight (Decision #11) ──
|
|
601
580
|
// Runs BEFORE API reachability (step 0) so operators on a mis-configured k3d
|
|
602
581
|
// cluster get an actionable error before wasting a full upgrade attempt.
|
|
@@ -710,6 +689,31 @@ export async function runUpgradeKubernetes(opts = {}, deps = {}) {
|
|
|
710
689
|
const note = skippedCount > 0 ? ` (${skippedCount} skipped — see warnings above)` : '';
|
|
711
690
|
step05Spinner.succeed(`k8s bootstrap: ${appliedCount} applied${note}`);
|
|
712
691
|
}
|
|
692
|
+
// ── Step 0.6: R3-C — create/update ghcr-pull imagePullSecret ────────
|
|
693
|
+
// Relocated from before Step 0.5 (see R4-W2-A retest finding). Must run
|
|
694
|
+
// AFTER ensureK8sBootstrap because the secret is namespaced to `olam` and
|
|
695
|
+
// ensureK8sBootstrap is what creates that namespace on a fresh cluster.
|
|
696
|
+
//
|
|
697
|
+
// Failure mode is still soft-warn rather than abort: rollouts that depend
|
|
698
|
+
// on the secret (private GHCR image pulls) surface their own clear 401
|
|
699
|
+
// ImagePullBackOff downstream, which is preferable to blocking operators
|
|
700
|
+
// who don't have GH_TOKEN configured but also aren't pulling private
|
|
701
|
+
// images (e.g. local dev with mirrored public copies).
|
|
702
|
+
{
|
|
703
|
+
const step06Spinner = ora('Creating ghcr-pull imagePullSecret (R3-C)').start();
|
|
704
|
+
const pullSecretResult = await createGhcrPullSecret(pinnedContext, deps, stderr);
|
|
705
|
+
if (pullSecretResult.skipped) {
|
|
706
|
+
step06Spinner.warn(`ghcr-pull Secret skipped: ${pullSecretResult.reason ?? 'no token'}`);
|
|
707
|
+
}
|
|
708
|
+
else if (pullSecretResult.reason) {
|
|
709
|
+
const warnMsg = `ghcr-pull Secret apply failed (continuing): ${pullSecretResult.reason}`;
|
|
710
|
+
step06Spinner.warn(warnMsg);
|
|
711
|
+
stderr.write(`${pc.yellow('[warn]')} ${warnMsg}\n`);
|
|
712
|
+
}
|
|
713
|
+
else {
|
|
714
|
+
step06Spinner.succeed('ghcr-pull imagePullSecret created/updated');
|
|
715
|
+
}
|
|
716
|
+
}
|
|
713
717
|
// ── Step 1: D10 — context-allowlist validation ───────────────────
|
|
714
718
|
// The context was already resolved (config-first, env-fallback) before
|
|
715
719
|
// pre-step 0a. Step 1 keeps the D10 allowlist gate + the audit WARN so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-kubernetes.js","sourceRoot":"","sources":["../../src/lib/upgrade-kubernetes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upgrade-kubernetes.js","sourceRoot":"","sources":["../../src/lib/upgrade-kubernetes.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,7 +129,7 @@ spec:
|
|
|
129
129
|
mountPath: /host-colima
|
|
130
130
|
containers:
|
|
131
131
|
- name: olam-host-cp
|
|
132
|
-
image: ghcr.io/pleri/olam-host-cp@sha256:
|
|
132
|
+
image: ghcr.io/pleri/olam-host-cp@sha256:ea586fdbd1856c739bf241b7d8a2099485dad9c0d2469ca3e0e821ed24681976
|
|
133
133
|
imagePullPolicy: IfNotPresent
|
|
134
134
|
securityContext:
|
|
135
135
|
runAsNonRoot: true
|
|
@@ -70,7 +70,7 @@ spec:
|
|
|
70
70
|
mountPath: /data
|
|
71
71
|
containers:
|
|
72
72
|
- name: olam-auth-service
|
|
73
|
-
image: ghcr.io/pleri/olam-auth@sha256:
|
|
73
|
+
image: ghcr.io/pleri/olam-auth@sha256:690fab7365a8309a8176f207e96ded9eee1af9640297c109be3a43305e727382
|
|
74
74
|
imagePullPolicy: IfNotPresent
|
|
75
75
|
securityContext:
|
|
76
76
|
runAsNonRoot: true
|
|
@@ -61,7 +61,7 @@ spec:
|
|
|
61
61
|
mountPath: /data
|
|
62
62
|
containers:
|
|
63
63
|
- name: olam-kg-service
|
|
64
|
-
image: ghcr.io/pleri/olam-kg-service@sha256:
|
|
64
|
+
image: ghcr.io/pleri/olam-kg-service@sha256:72030f3054315e7ebf575f6dcb9b4965e1ddee13ea7bfdeb0bde32253beeb1c7
|
|
65
65
|
imagePullPolicy: IfNotPresent
|
|
66
66
|
securityContext:
|
|
67
67
|
runAsNonRoot: true
|
|
@@ -68,7 +68,7 @@ spec:
|
|
|
68
68
|
mountPath: /data
|
|
69
69
|
containers:
|
|
70
70
|
- name: olam-mcp-auth-service
|
|
71
|
-
image: ghcr.io/pleri/olam-mcp-auth@sha256:
|
|
71
|
+
image: ghcr.io/pleri/olam-mcp-auth@sha256:4d4806e2aa7c782de60471a9742d9e85dcf9f5ba0af3c496c26ff7aab9847a43
|
|
72
72
|
imagePullPolicy: IfNotPresent
|
|
73
73
|
securityContext:
|
|
74
74
|
runAsNonRoot: true
|
|
@@ -70,7 +70,7 @@ spec:
|
|
|
70
70
|
# bootstrap-placeholder comment + run `npm run refresh:manifest-digests`
|
|
71
71
|
# once ghcr.io/pleri/olam-memory-service has a real published digest.
|
|
72
72
|
# bootstrap-placeholder: pre-publish; refresh after first release
|
|
73
|
-
image: ghcr.io/pleri/olam-memory-service@sha256:
|
|
73
|
+
image: ghcr.io/pleri/olam-memory-service@sha256:2c31c0f1f93c6b9a3a6d7e94db91dbc9f99cfe17aa8088e594ef4b484b039066
|
|
74
74
|
imagePullPolicy: IfNotPresent
|
|
75
75
|
securityContext:
|
|
76
76
|
runAsNonRoot: true
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
// Phase C Task C3 — hand-rolled Prometheus metrics registry for host-cp.
|
|
2
|
+
//
|
|
3
|
+
// Emits exactly two metric families:
|
|
4
|
+
// http_requests_total{service,route,method,status_code} counter
|
|
5
|
+
// http_request_duration_seconds{service,route,method} histogram
|
|
6
|
+
//
|
|
7
|
+
// TAXONOMY COMPLIANCE (NON-NEGOTIABLE):
|
|
8
|
+
// ONLY {service, route, method, status_code} labels allowed.
|
|
9
|
+
// BANNED: world_id, trace_id, user_id, request_id, operator_id.
|
|
10
|
+
// world_id surfaces via Prometheus exemplars in Phase D — NOT labels.
|
|
11
|
+
//
|
|
12
|
+
// No external npm deps — Prometheus text exposition is simple enough to
|
|
13
|
+
// produce with template literals. Avoids the prom-client footprint on a
|
|
14
|
+
// host-side service that has no other dependency on metrics tooling.
|
|
15
|
+
|
|
16
|
+
// ─── Route mapping ────────────────────────────────────────────────────────
|
|
17
|
+
//
|
|
18
|
+
// Raw req.url is a cardinality bomb: every unique URL is a new time series.
|
|
19
|
+
// We normalize dynamic path segments to stable patterns before labelling.
|
|
20
|
+
//
|
|
21
|
+
// RULES (first match wins):
|
|
22
|
+
// /health → /health
|
|
23
|
+
// /api/bootstrap → /api/bootstrap
|
|
24
|
+
// /metrics → /metrics
|
|
25
|
+
// /api/host-stream → /api/host-stream
|
|
26
|
+
// /api/worlds/{id}/credentials/... → /api/worlds/:id/credentials/:action
|
|
27
|
+
// /api/worlds/{id}/tunnels/... → /api/worlds/:id/tunnels
|
|
28
|
+
// /api/worlds/{id}/pr → /api/worlds/:id/pr
|
|
29
|
+
// /api/worlds/{id}/progress → /api/worlds/:id/progress
|
|
30
|
+
// /api/worlds (no id) → /api/worlds
|
|
31
|
+
// /api/world/{id}/** → /api/world/:id/* (proxy routes)
|
|
32
|
+
// /api/admin/registry/... → /api/admin/registry
|
|
33
|
+
// /api/admin/upgrade → /api/admin/upgrade
|
|
34
|
+
// /api/admin/world-pr → /api/admin/world-pr
|
|
35
|
+
// /api/admin/world-pr/{id} → /api/admin/world-pr/:id
|
|
36
|
+
// /api/auth/credentials/... → /api/auth/credentials
|
|
37
|
+
// /api/auth/... → /api/auth
|
|
38
|
+
// /api/plan/conversations/{id}/... → /api/plan/conversations/:id
|
|
39
|
+
// /api/plan/conversations → /api/plan/conversations
|
|
40
|
+
// /api/plan/** → /api/plan
|
|
41
|
+
// /api/auth/events → /api/auth/events
|
|
42
|
+
// /api/version/status → /api/version/status
|
|
43
|
+
// /api/repos → /api/repos
|
|
44
|
+
// /api/runbooks → /api/runbooks
|
|
45
|
+
// /api/workspaces/match → /api/workspaces/match
|
|
46
|
+
// /api/workspaces → /api/workspaces
|
|
47
|
+
// /api/projects → /api/projects
|
|
48
|
+
// /api/processes/** → /api/processes
|
|
49
|
+
// /v1/chunks/** → /v1/chunks
|
|
50
|
+
// /v1/worlds/** → /v1/worlds
|
|
51
|
+
// /assets/** → /assets (SPA static assets)
|
|
52
|
+
// (other GET to static paths) → /static
|
|
53
|
+
// (unknown) → /unknown
|
|
54
|
+
|
|
55
|
+
/** @param {string} pathname */
|
|
56
|
+
export function pathToRoute(pathname) {
|
|
57
|
+
// Normalize trailing slash for matching (keep bare / as /)
|
|
58
|
+
const p = pathname.length > 1 ? pathname.replace(/\/$/, '') : pathname;
|
|
59
|
+
|
|
60
|
+
if (p === '/health') return '/health';
|
|
61
|
+
if (p === '/api/bootstrap') return '/api/bootstrap';
|
|
62
|
+
if (p === '/metrics') return '/metrics';
|
|
63
|
+
if (p === '/api/host-stream') return '/api/host-stream';
|
|
64
|
+
if (p === '/api/auth/events') return '/api/auth/events';
|
|
65
|
+
if (p === '/api/version/status') return '/api/version/status';
|
|
66
|
+
if (p === '/api/repos') return '/api/repos';
|
|
67
|
+
if (p === '/api/runbooks') return '/api/runbooks';
|
|
68
|
+
if (p === '/api/workspaces/match') return '/api/workspaces/match';
|
|
69
|
+
if (p === '/api/workspaces') return '/api/workspaces';
|
|
70
|
+
if (p === '/api/projects') return '/api/projects';
|
|
71
|
+
if (p === '/api/worlds') return '/api/worlds';
|
|
72
|
+
if (p === '/api/plan/conversations' || p === '/api/plan/personas') return p;
|
|
73
|
+
if (p === '/api/admin/upgrade') return '/api/admin/upgrade';
|
|
74
|
+
if (p === '/api/admin/world-pr') return '/api/admin/world-pr';
|
|
75
|
+
if (p === '/api/admin/registry') return '/api/admin/registry';
|
|
76
|
+
if (p.startsWith('/api/worlds/')) {
|
|
77
|
+
if (p.includes('/credentials/')) return '/api/worlds/:id/credentials/:action';
|
|
78
|
+
if (p.includes('/tunnels')) return '/api/worlds/:id/tunnels';
|
|
79
|
+
if (p.endsWith('/pr')) return '/api/worlds/:id/pr';
|
|
80
|
+
if (p.endsWith('/progress')) return '/api/worlds/:id/progress';
|
|
81
|
+
return '/api/worlds/:id';
|
|
82
|
+
}
|
|
83
|
+
if (p.startsWith('/api/world/')) return '/api/world/:id/*';
|
|
84
|
+
if (p.startsWith('/api/admin/registry/')) return '/api/admin/registry';
|
|
85
|
+
if (p.startsWith('/api/admin/world-pr/')) return '/api/admin/world-pr/:id';
|
|
86
|
+
if (p.startsWith('/api/auth/credentials')) return '/api/auth/credentials';
|
|
87
|
+
if (p.startsWith('/api/auth/')) return '/api/auth';
|
|
88
|
+
if (p.startsWith('/api/plan/conversations/')) return '/api/plan/conversations/:id';
|
|
89
|
+
if (p.startsWith('/api/plan/')) return '/api/plan';
|
|
90
|
+
if (p.startsWith('/api/processes') || p.startsWith('/api/servers')) return '/api/processes';
|
|
91
|
+
if (p.startsWith('/v1/chunks')) return '/v1/chunks';
|
|
92
|
+
if (p.startsWith('/v1/worlds')) return '/v1/worlds';
|
|
93
|
+
if (p.startsWith('/assets/')) return '/assets';
|
|
94
|
+
// SPA HTML fallback routes (GET / and SPA sub-routes like /worlds, /plan/...)
|
|
95
|
+
if (p === '/' || p.startsWith('/worlds') || p.startsWith('/plan') || p.startsWith('/workspaces')) return '/static';
|
|
96
|
+
return '/unknown';
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// ─── In-memory registry ───────────────────────────────────────────────────
|
|
100
|
+
|
|
101
|
+
const HISTOGRAM_BUCKETS = [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5];
|
|
102
|
+
|
|
103
|
+
/** @type {Map<string, number>} labelSet → count */
|
|
104
|
+
const _counters = new Map();
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Per label-set histogram state.
|
|
108
|
+
* @type {Map<string, {buckets: number[], sum: number, count: number}>}
|
|
109
|
+
*/
|
|
110
|
+
const _histograms = new Map();
|
|
111
|
+
|
|
112
|
+
/** @param {string[]} parts label values in canonical order */
|
|
113
|
+
function _labelKey(parts) {
|
|
114
|
+
return parts.join('\x00');
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Reset all metrics. FOR TESTS ONLY — never call in production code.
|
|
119
|
+
* Exported as a separate name so it's invisible to consumers that only
|
|
120
|
+
* import the named exports they need.
|
|
121
|
+
*/
|
|
122
|
+
export function _resetForTest() {
|
|
123
|
+
_counters.clear();
|
|
124
|
+
_histograms.clear();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Increment http_requests_total counter.
|
|
129
|
+
*
|
|
130
|
+
* @param {string} service
|
|
131
|
+
* @param {string} route — MUST be a normalized route pattern
|
|
132
|
+
* @param {string} method
|
|
133
|
+
* @param {string} statusCode
|
|
134
|
+
*/
|
|
135
|
+
export function incRequest(service, route, method, statusCode) {
|
|
136
|
+
const key = _labelKey([service, route, method, statusCode]);
|
|
137
|
+
_counters.set(key, (_counters.get(key) ?? 0) + 1);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Observe http_request_duration_seconds.
|
|
142
|
+
*
|
|
143
|
+
* @param {string} service
|
|
144
|
+
* @param {string} route
|
|
145
|
+
* @param {string} method
|
|
146
|
+
* @param {number} seconds
|
|
147
|
+
*/
|
|
148
|
+
export function observeDuration(service, route, method, seconds) {
|
|
149
|
+
const key = _labelKey([service, route, method]);
|
|
150
|
+
let h = _histograms.get(key);
|
|
151
|
+
if (!h) {
|
|
152
|
+
// buckets[i] = count of observations where seconds <= HISTOGRAM_BUCKETS[i]
|
|
153
|
+
// but stored as INCREMENTAL per-range so cumulation happens on render.
|
|
154
|
+
// Each bucket[i] = count that fell in range (HISTOGRAM_BUCKETS[i-1], HISTOGRAM_BUCKETS[i]].
|
|
155
|
+
h = { buckets: new Array(HISTOGRAM_BUCKETS.length).fill(0), sum: 0, count: 0 };
|
|
156
|
+
_histograms.set(key, h);
|
|
157
|
+
}
|
|
158
|
+
// Find the first bucket boundary that accommodates this observation.
|
|
159
|
+
// Increment only that bucket; render accumulates for the exposition.
|
|
160
|
+
let placed = false;
|
|
161
|
+
for (let i = 0; i < HISTOGRAM_BUCKETS.length; i++) {
|
|
162
|
+
if (seconds <= HISTOGRAM_BUCKETS[i]) {
|
|
163
|
+
h.buckets[i]++;
|
|
164
|
+
placed = true;
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// Observations beyond the last bucket are counted in h.count only;
|
|
169
|
+
// the +Inf bucket in the exposition equals h.count.
|
|
170
|
+
if (!placed) {
|
|
171
|
+
// No bucket captured it — it lands in +Inf only.
|
|
172
|
+
}
|
|
173
|
+
h.sum += seconds;
|
|
174
|
+
h.count++;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// ─── Prometheus text exposition ───────────────────────────────────────────
|
|
178
|
+
|
|
179
|
+
/** Escape label value per Prometheus text format (backslash, newline, quote). */
|
|
180
|
+
function escapeLabelValue(v) {
|
|
181
|
+
return String(v).replace(/\\/g, '\\\\').replace(/\n/g, '\\n').replace(/"/g, '\\"');
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Build the `{k1="v1",k2="v2",...}` label-set string.
|
|
186
|
+
* @param {Record<string, string>} labels
|
|
187
|
+
*/
|
|
188
|
+
function labelSet(labels) {
|
|
189
|
+
const parts = Object.entries(labels).map(
|
|
190
|
+
([k, v]) => `${k}="${escapeLabelValue(v)}"`,
|
|
191
|
+
);
|
|
192
|
+
return `{${parts.join(',')}}`;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Render the complete Prometheus text exposition.
|
|
197
|
+
* @returns {string}
|
|
198
|
+
*/
|
|
199
|
+
export function renderMetrics() {
|
|
200
|
+
const lines = [];
|
|
201
|
+
|
|
202
|
+
// ── http_requests_total ─────────────────────────────────────────────
|
|
203
|
+
lines.push('# HELP http_requests_total Total number of HTTP requests handled.');
|
|
204
|
+
lines.push('# TYPE http_requests_total counter');
|
|
205
|
+
for (const [key, count] of _counters) {
|
|
206
|
+
const [service, route, method, status_code] = key.split('\x00');
|
|
207
|
+
lines.push(
|
|
208
|
+
`http_requests_total${labelSet({ service, route, method, status_code })} ${count}`,
|
|
209
|
+
);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// ── http_request_duration_seconds ───────────────────────────────────
|
|
213
|
+
lines.push('# HELP http_request_duration_seconds HTTP request duration in seconds (histogram).');
|
|
214
|
+
lines.push('# TYPE http_request_duration_seconds histogram');
|
|
215
|
+
for (const [key, h] of _histograms) {
|
|
216
|
+
const [service, route, method] = key.split('\x00');
|
|
217
|
+
const base = { service, route, method };
|
|
218
|
+
// Cumulative buckets: le=X must be ≥ sum of all observations ≤ X.
|
|
219
|
+
let cumulative = 0;
|
|
220
|
+
for (let i = 0; i < HISTOGRAM_BUCKETS.length; i++) {
|
|
221
|
+
cumulative += h.buckets[i];
|
|
222
|
+
lines.push(
|
|
223
|
+
`http_request_duration_seconds_bucket${labelSet({ ...base, le: String(HISTOGRAM_BUCKETS[i]) })} ${cumulative}`,
|
|
224
|
+
);
|
|
225
|
+
}
|
|
226
|
+
lines.push(
|
|
227
|
+
`http_request_duration_seconds_bucket${labelSet({ ...base, le: '+Inf' })} ${h.count}`,
|
|
228
|
+
);
|
|
229
|
+
lines.push(`http_request_duration_seconds_sum${labelSet(base)} ${h.sum}`);
|
|
230
|
+
lines.push(`http_request_duration_seconds_count${labelSet(base)} ${h.count}`);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
lines.push(''); // trailing newline
|
|
234
|
+
return lines.join('\n');
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// ─── Request instrumentation wrapper ─────────────────────────────────────
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Wrap an async request handler so every request is instrumented.
|
|
241
|
+
*
|
|
242
|
+
* The wrapper:
|
|
243
|
+
* 1. Derives a stable route pattern from req.url.
|
|
244
|
+
* 2. Starts a high-resolution timer.
|
|
245
|
+
* 3. Calls the original handler.
|
|
246
|
+
* 4. Records counter + histogram using the response's status code.
|
|
247
|
+
*
|
|
248
|
+
* Status code capture: we monkey-patch res.writeHead and res.end to intercept
|
|
249
|
+
* the status before it's sent. Falls back to res.statusCode (which Node sets
|
|
250
|
+
* implicitly on .end() when no explicit writeHead call was made).
|
|
251
|
+
*
|
|
252
|
+
* @param {string} serviceName — emitted as the `service` label
|
|
253
|
+
* @param {(req: import('node:http').IncomingMessage, res: import('node:http').ServerResponse) => Promise<void>} handler
|
|
254
|
+
* @returns {(req: import('node:http').IncomingMessage, res: import('node:http').ServerResponse) => Promise<void>}
|
|
255
|
+
*/
|
|
256
|
+
export function instrumentHandler(serviceName, handler) {
|
|
257
|
+
return async (req, res) => {
|
|
258
|
+
const start = performance.now();
|
|
259
|
+
|
|
260
|
+
// Intercept status code by wrapping writeHead.
|
|
261
|
+
let capturedStatus = null;
|
|
262
|
+
const origWriteHead = res.writeHead.bind(res);
|
|
263
|
+
res.writeHead = (status, ...rest) => {
|
|
264
|
+
capturedStatus = status;
|
|
265
|
+
return origWriteHead(status, ...rest);
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
try {
|
|
269
|
+
await handler(req, res);
|
|
270
|
+
} finally {
|
|
271
|
+
const durationSec = (performance.now() - start) / 1000;
|
|
272
|
+
const urlObj = new URL(req.url ?? '/', `http://localhost`);
|
|
273
|
+
const route = pathToRoute(urlObj.pathname);
|
|
274
|
+
const method = (req.method ?? 'GET').toUpperCase();
|
|
275
|
+
const statusCode = String(capturedStatus ?? res.statusCode ?? 200);
|
|
276
|
+
|
|
277
|
+
incRequest(serviceName, route, method, statusCode);
|
|
278
|
+
observeDuration(serviceName, route, method, durationSec);
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
}
|
package/host-cp/src/server.mjs
CHANGED
|
@@ -71,6 +71,7 @@ import {
|
|
|
71
71
|
handleListServers,
|
|
72
72
|
handleServerBridges,
|
|
73
73
|
} from './routes/process-port.mjs';
|
|
74
|
+
import { instrumentHandler, renderMetrics } from './metrics.mjs';
|
|
74
75
|
|
|
75
76
|
// ── Deployment-mode detection ─────────────────────────────────────
|
|
76
77
|
//
|
|
@@ -680,7 +681,10 @@ async function getSecret(worldId) {
|
|
|
680
681
|
|
|
681
682
|
// ── HTTP server ──────────────────────────────────────────────────────
|
|
682
683
|
|
|
683
|
-
|
|
684
|
+
// Phase C Task C3: wrap the raw handler with the Prometheus instrumentation
|
|
685
|
+
// wrapper. Every request increments http_requests_total and observes
|
|
686
|
+
// http_request_duration_seconds before the response is sent.
|
|
687
|
+
const server = http.createServer(instrumentHandler('host-cp', async (req, res) => {
|
|
684
688
|
const url = new URL(req.url ?? '/', `http://${req.headers.host}`);
|
|
685
689
|
|
|
686
690
|
// /health: fast diagnostics, no auth, no proxying. Docker healthcheck
|
|
@@ -717,6 +721,22 @@ const server = http.createServer(async (req, res) => {
|
|
|
717
721
|
});
|
|
718
722
|
}
|
|
719
723
|
|
|
724
|
+
// /metrics: Prometheus text exposition (Phase C Task C3).
|
|
725
|
+
// Unauthenticated — same rationale as /health: the Prometheus scraper
|
|
726
|
+
// in-cluster cannot carry the operator's session token.
|
|
727
|
+
// Returns only the 4 taxonomy-compliant labels {service,route,method,status_code}.
|
|
728
|
+
// BANNED labels (world_id, trace_id, user_id, request_id, operator_id)
|
|
729
|
+
// are never emitted here; layer-2 enforcement is the ServiceMonitor labeldrop.
|
|
730
|
+
if (url.pathname === '/metrics') {
|
|
731
|
+
const body = renderMetrics();
|
|
732
|
+
res.writeHead(200, {
|
|
733
|
+
'Content-Type': 'text/plain; version=0.0.4; charset=utf-8',
|
|
734
|
+
'Cache-Control': 'no-cache, no-store',
|
|
735
|
+
});
|
|
736
|
+
res.end(body);
|
|
737
|
+
return;
|
|
738
|
+
}
|
|
739
|
+
|
|
720
740
|
// /api/bootstrap: SPA reads the token at load time. Unauthed because
|
|
721
741
|
// anything local that can hit 127.0.0.1:19000 can also read the token
|
|
722
742
|
// file directly (same OS-level privilege boundary). Single-user-only;
|
|
@@ -2178,7 +2198,7 @@ const server = http.createServer(async (req, res) => {
|
|
|
2178
2198
|
pathname: url.pathname,
|
|
2179
2199
|
message: 'B3 ships /health + /api/world/<id>/*. B4-B9 ship the rest.',
|
|
2180
2200
|
});
|
|
2181
|
-
});
|
|
2201
|
+
}));
|
|
2182
2202
|
|
|
2183
2203
|
/**
|
|
2184
2204
|
* @param {import('node:http').ServerResponse} res
|