@pleri/olam-cli 0.1.31 → 0.1.33

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.
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,mDAAmD;AACnD,wBAAgB,gBAAgB,CAAC,cAAc,GAAE,MAAsB,GAAG,YAAY,CA2BrF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtF;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5E;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnE;AAED,kCAAkC;AAClC,eAAO,MAAM,UAAU,EAAE,UAkBxB,CAAC;AAuCF,MAAM,WAAW,UAAU;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAoBD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,UAAuB,EAC/B,MAAM,GAAE,UAAgC,GACvC,OAAO,CAAC,mBAAmB,CAAC,CAmB9B;AAkBD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,mBAAmB,CAAC;CAC/E;AAiBD,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,eAAe,CAAC,CA6L1B;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyBxD"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,mDAAmD;AACnD,wBAAgB,gBAAgB,CAAC,cAAc,GAAE,MAAsB,GAAG,YAAY,CA2BrF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtF;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5E;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnE;AAED,kCAAkC;AAClC,eAAO,MAAM,UAAU,EAAE,UAkBxB,CAAC;AAuCF,MAAM,WAAW,UAAU;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAoBD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,UAAuB,EAC/B,MAAM,GAAE,UAAgC,GACvC,OAAO,CAAC,mBAAmB,CAAC,CAmB9B;AAkBD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,mBAAmB,CAAC;CAC/E;AAiBD,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,eAAe,CAAC,CAgM1B;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyBxD"}
@@ -256,14 +256,17 @@ export async function runBootstrap(opts, deps = {}) {
256
256
  // - host-cp's compose.yaml says `image: ghcr.io/pleri/olam-host-cp:latest`
257
257
  // - AuthContainerController hard-codes DEFAULT_IMAGE = 'olam-auth:local'
258
258
  // (the legacy local-build tag; predates the published image)
259
- // - devbox is consumed by `olam create world` which reads the digest
260
- // from image-digests.json directly, but we still alias :latest for
261
- // consistency + ad-hoc `docker run` smoke-testing.
259
+ // - devbox: `olam create` runs `docker run olam-devbox:latest` directly
260
+ // (DEFAULT_DEVBOX_IMAGE in packages/core/src/world/devbox-image.ts).
261
+ // Without the bare-name alias, create fails with "no such image" even
262
+ // after bootstrap pulled the digest. PR #281 E2E run 25534306717
263
+ // surfaced this when `--workspace` was finally seeded — the registry-
264
+ // prefixed tag isn't what the runtime looks up.
262
265
  // Future cleanup: pick one canonical scheme + migrate consumers.
263
266
  const tagPlan = [
264
267
  { name: 'host-cp', from: imageRefs[0].ref, to: `${registry}/olam-host-cp:latest` },
265
268
  { name: 'auth', from: imageRefs[1].ref, to: 'olam-auth:local' },
266
- { name: 'devbox', from: imageRefs[2].ref, to: `${registry}/olam-devbox:latest` },
269
+ { name: 'devbox', from: imageRefs[2].ref, to: 'olam-devbox:latest' },
267
270
  ];
268
271
  for (const { name, from, to } of tagPlan) {
269
272
  const result = await docker.tag(from, to);
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "auth": "sha256:4e2ea22c5ef026ecf7b10892fbe381384b32e83636962d86d9ab1fc572972f8e",
3
- "devbox": "sha256:23f3e29d2a7a44df4ea0aa142ecc113d6e6bf3e2d80434c47e8eb142b327b19a",
4
- "host-cp": "sha256:3d2809d2d0ac56e3f49071f4f17018ab368ac5f930b4e4ce191ead037e8fae9f",
3
+ "devbox": "sha256:f41854a5c0cb7f51a28b8b5976bb2ef42fe235cc3a8a2e1858f1e8057960801a",
4
+ "host-cp": "sha256:af21472699b171bca0139d6dbbb65f939930882bb2215c785c38f2b7aeac2dc4",
5
5
  "$schema_version": 1,
6
- "$published_version": "0.1.31",
6
+ "$published_version": "0.1.33",
7
7
  "$registry": "ghcr.io/pleri"
8
8
  }
package/dist/index.js CHANGED
@@ -13637,7 +13637,7 @@ async function runBootstrap2(opts, deps = {}) {
13637
13637
  const tagPlan = [
13638
13638
  { name: "host-cp", from: imageRefs[0].ref, to: `${registry}/olam-host-cp:latest` },
13639
13639
  { name: "auth", from: imageRefs[1].ref, to: "olam-auth:local" },
13640
- { name: "devbox", from: imageRefs[2].ref, to: `${registry}/olam-devbox:latest` }
13640
+ { name: "devbox", from: imageRefs[2].ref, to: "olam-devbox:latest" }
13641
13641
  ];
13642
13642
  for (const { name, from, to } of tagPlan) {
13643
13643
  const result = await docker2.tag(from, to);
@@ -79,6 +79,47 @@ services:
79
79
  # which surfaces in the dashboard as a failed Connect Claude flow.
80
80
  OLAM_AUTH_SERVICE_URL: "http://host.docker.internal:9999"
81
81
  OLAM_AUTH_SECRET: "${OLAM_AUTH_SECRET:-}"
82
+ # Upgrade-trigger feature: host-cp uses these to construct bind
83
+ # mounts on the spawned upgrader container. The upgrader runs
84
+ # `olam upgrade -y` and needs (a) the operator's ~/.olam state,
85
+ # (b) the docker socket so the CLI can talk to the daemon. Both
86
+ # are HOST-side paths because docker resolves bind sources on
87
+ # the daemon, not inside the requesting container.
88
+ OLAM_HOME_HOST_PATH: "${HOME}/.olam"
89
+ OLAM_DOCKER_SOCK_HOST_PATH: "/var/run/docker.sock"
90
+ # Operator's olam repo path on the host. The upgrader needs this
91
+ # bind-mounted so the CLI's cwd-relative `packages/host-cp/compose.yaml`
92
+ # lookup resolves. Defaults to the `OLAM_REPO_PATH` already used by
93
+ # host-cp for version-detection (mounted at /operator-repo:ro).
94
+ OLAM_REPO_HOST_PATH: "${OLAM_REPO_PATH:-${HOME}/Projects/ein-sof/olam}"
95
+ # Operator's $HOME on the host. Forwarded to the upgrader as HOME
96
+ # so `${HOME}` interpolation in compose.yaml's bind sources
97
+ # resolves to a path the docker daemon can find. Inside the
98
+ # upgrader container HOME defaults to /root, which the daemon
99
+ # rejects when used as a bind source ("path not shared from
100
+ # the host"). Without this the recreate step fails right at the
101
+ # last hop of the upgrade pipeline.
102
+ OLAM_OPERATOR_HOME_HOST_PATH: "${HOME}"
103
+ # GitHub CLI config bind for the upgrader. The CLI runs
104
+ # `gh auth token | docker login ghcr.io ...` before `olam upgrade`
105
+ # so the spawned container can pull GHCR images even though the
106
+ # host's ~/.docker/config.json uses a Keychain credsStore that
107
+ # doesn't follow into a Linux container. The gh config is also
108
+ # mounted into host-cp itself (line 89 below) for `gh pr list` —
109
+ # this is the same path, mounted again for the upgrader.
110
+ OLAM_GH_CONFIG_HOST_PATH: "${HOME}/.config/gh"
111
+ # GitHub token used by the upgrader to `docker login ghcr.io` so it can
112
+ # pull the host-cp / auth / devbox images by digest. Resolved from
113
+ # the operator's `gh auth token` BEFORE compose up (or set explicitly
114
+ # via the GH_TOKEN env var). If unset, the upgrader falls back to
115
+ # `gh auth token` against the mounted ~/.config/gh — which works
116
+ # only on Linux operators (macOS keeps the token in Keychain, not in
117
+ # ~/.config/gh).
118
+ GH_TOKEN: "${GH_TOKEN:-}"
119
+ # Optional override for the upgrader image. Defaults to the
120
+ # currently-running host-cp image (which has the olam CLI +
121
+ # docker CLI + gh CLI baked in by Dockerfile).
122
+ OLAM_UPGRADER_IMAGE: "${OLAM_UPGRADER_IMAGE:-ghcr.io/pleri/olam-host-cp:latest}"
82
123
  volumes:
83
124
  # ~/.olam/ from operator's home → /data/ inside container. B4
84
125
  # writes the startup token here (chmod 600). B6 reads workspaces
@@ -34,6 +34,7 @@ import { computeProgress } from './world-progress.mjs';
34
34
  import { createPrCache } from './pr-cache.mjs';
35
35
  import { fetchContainerSecret } from './container-secret-fetcher.mjs';
36
36
  import { subscribeDockerEvents } from './docker-events.mjs';
37
+ import { spawnUpgraderContainer } from './upgrade-spawner.mjs';
37
38
  import { parseProxyPath, perWorldBase, proxyToWorld } from './proxy.mjs';
38
39
  import { StartupToken } from './auth.mjs';
39
40
  import { SseGate, isSsePath, wireRelease } from './sse-gate.mjs';
@@ -93,6 +94,19 @@ const TOKEN_PATH = process.env.OLAM_HOST_CP_TOKEN_PATH ?? '/data/host-cp.token';
93
94
  const AUTH_SERVICE_URL = process.env.OLAM_AUTH_SERVICE_URL ?? `http://${HOST_FOR_WORLD}:9999`;
94
95
  const AUTH_SERVICE_SECRET = process.env.OLAM_AUTH_SECRET ?? '';
95
96
  const SSE_CAP = parseInt(process.env.OLAM_SSE_MAX_CONCURRENT ?? '50', 10);
97
+ // Upgrade-trigger: host-side paths the upgrader container needs as
98
+ // bind-mount sources. Empty defaults make the endpoint return a clear
99
+ // `not_configured` error instead of asking docker to mount empty paths.
100
+ const OLAM_HOME_HOST_PATH = process.env.OLAM_HOME_HOST_PATH ?? '';
101
+ const OLAM_DOCKER_SOCK_HOST_PATH = process.env.OLAM_DOCKER_SOCK_HOST_PATH ?? '/var/run/docker.sock';
102
+ // Operator's olam repo path on the host. Bound into the upgrader at /workspace
103
+ // so the npm-installed CLI can find packages/host-cp/compose.yaml.
104
+ const OLAM_REPO_HOST_PATH = process.env.OLAM_REPO_HOST_PATH ?? '';
105
+ // gh config bind for the upgrader so it can `gh auth token | docker login ghcr.io ...`.
106
+ // Optional — when empty, the upgrader will fail at the docker-login step
107
+ // with a clear error in `docker logs` rather than silently mis-pulling.
108
+ const OLAM_GH_CONFIG_HOST_PATH = process.env.OLAM_GH_CONFIG_HOST_PATH ?? '';
109
+ const OLAM_UPGRADER_IMAGE = process.env.OLAM_UPGRADER_IMAGE ?? 'ghcr.io/pleri/olam-host-cp:latest';
96
110
  const WORKSPACES_DIR = process.env.OLAM_WORKSPACES_DIR ?? '/data/workspaces';
97
111
  const WORLD_NAMES_PATH =
98
112
  process.env.OLAM_WORLD_NAMES_PATH ??
@@ -1205,6 +1219,62 @@ const server = http.createServer(async (req, res) => {
1205
1219
  return;
1206
1220
  }
1207
1221
 
1222
+ // POST /api/admin/upgrade — spawn the olam upgrade pipeline.
1223
+ //
1224
+ // Phase 1 MVP: accepts the click, asks docker to start an ephemeral
1225
+ // upgrader container running `olam upgrade -y`, returns the upgrader's
1226
+ // container id + name. The SPA polls /api/version/status to detect
1227
+ // completion. Phase 2 will add SSE log streaming.
1228
+ //
1229
+ // Failure modes that return non-202:
1230
+ // 400 not_configured — OLAM_HOME_HOST_PATH wasn't set in compose;
1231
+ // we cannot bind-mount operator state into
1232
+ // the upgrader and the CLI would have no
1233
+ // lock file / image-digests / auth context.
1234
+ // 500 spawn_failed — docker daemon (via socket-proxy) rejected
1235
+ // the create or start request. Body carries
1236
+ // the daemon's reason for diagnosis.
1237
+ if (url.pathname === '/api/admin/upgrade' && req.method === 'POST') {
1238
+ if (!auth.isAuthorized(req)) { return res.writeHead(401).end(); }
1239
+ if (!OLAM_HOME_HOST_PATH || !OLAM_REPO_HOST_PATH) {
1240
+ return jsonReply(res, 400, {
1241
+ error: 'not_configured',
1242
+ hint: 'OLAM_HOME_HOST_PATH and OLAM_REPO_HOST_PATH must be set; rebuild host-cp with the latest compose.yaml',
1243
+ missing: [
1244
+ ...(OLAM_HOME_HOST_PATH ? [] : ['OLAM_HOME_HOST_PATH']),
1245
+ ...(OLAM_REPO_HOST_PATH ? [] : ['OLAM_REPO_HOST_PATH']),
1246
+ ],
1247
+ });
1248
+ }
1249
+ spawnUpgraderContainer({
1250
+ dockerHost: DOCKER_HOST,
1251
+ olamHomeHostPath: OLAM_HOME_HOST_PATH,
1252
+ dockerSockHostPath: OLAM_DOCKER_SOCK_HOST_PATH,
1253
+ repoHostPath: OLAM_REPO_HOST_PATH,
1254
+ ...(process.env.OLAM_OPERATOR_HOME_HOST_PATH
1255
+ ? { operatorHomeHostPath: process.env.OLAM_OPERATOR_HOME_HOST_PATH }
1256
+ : {}),
1257
+ ...(OLAM_GH_CONFIG_HOST_PATH ? { ghConfigHostPath: OLAM_GH_CONFIG_HOST_PATH } : {}),
1258
+ ...(process.env.GH_TOKEN ? { ghToken: process.env.GH_TOKEN } : {}),
1259
+ image: OLAM_UPGRADER_IMAGE,
1260
+ })
1261
+ .then(({ id, name }) => {
1262
+ jsonReply(res, 202, {
1263
+ status: 'accepted',
1264
+ upgrader: { id, name },
1265
+ hint: 'Upgrade started in a sibling container. Poll /api/version/status to detect completion. host-cp will be recreated mid-flight; expect a brief connection drop.',
1266
+ });
1267
+ })
1268
+ .catch((err) => {
1269
+ console.error(`[upgrade] spawn failed: ${err.message}`);
1270
+ jsonReply(res, 500, {
1271
+ error: 'spawn_failed',
1272
+ message: err.message,
1273
+ });
1274
+ });
1275
+ return;
1276
+ }
1277
+
1208
1278
  // POST /api/admin/world-pr — record PR association for a world
1209
1279
  if (url.pathname === '/api/admin/world-pr' && req.method === 'POST') {
1210
1280
  if (!auth.isAuthorized(req)) { return res.writeHead(401).end(); }
@@ -0,0 +1,275 @@
1
+ // Upgrade-trigger: spawn an ephemeral `olam upgrade` runner container.
2
+ //
3
+ // The user clicks "Run upgrade" in the dashboard → host-cp's
4
+ // /api/admin/upgrade endpoint asks the docker daemon (via the
5
+ // socket-proxy sidecar) to create + start a one-off container that
6
+ // runs the olam CLI's full upgrade pipeline against the local stack.
7
+ //
8
+ // Why a separate container (and not a child process inside host-cp)?
9
+ // `olam upgrade` recreates host-cp itself as part of the atomic
10
+ // tag-swap. If the orchestrator lived inside host-cp, the moment it
11
+ // asked docker to stop the old host-cp container the orchestrator
12
+ // would die with it — leaving no one to start the new container.
13
+ // A sibling container survives host-cp's recreate.
14
+ //
15
+ // Why this same image (not a purpose-built `olam-upgrader`)?
16
+ // The host-cp image already has Node, the olam CLI, the docker CLI,
17
+ // and the docker compose plugin baked in by Dockerfile. Reusing it
18
+ // means there's nothing extra to publish, and the upgrader is
19
+ // guaranteed to ship from the same source SHA as the host-cp it
20
+ // replaces. The upgrader's `Cmd` overrides host-cp's default CMD
21
+ // so it runs the CLI instead of starting the server.
22
+ //
23
+ // Security note (single-user-trusted-local-dev assumption):
24
+ // POST /api/admin/upgrade requires the host-cp auth token. Anyone
25
+ // with that token can already spawn arbitrary commands inside
26
+ // running devboxes via the existing exec path; spawning an upgrader
27
+ // container does not meaningfully widen the blast radius for the
28
+ // single-user model. Multi-user / hosted deployments will need a
29
+ // tighter policy (capability bit, user-scoped tokens).
30
+
31
+ import http from 'node:http';
32
+
33
+ /**
34
+ * Default upgrader entrypoint. Authenticates docker against GHCR (where
35
+ * the host-cp / auth / devbox images live), then runs the full
36
+ * atomic-swap pipeline.
37
+ *
38
+ * Auth resolution order:
39
+ * 1. `$GH_TOKEN` env var (set on host-cp via compose; operator
40
+ * typically resolves it from `gh auth token` before `olam host-cp
41
+ * start`). Required path on macOS — the host's `gh` keeps the
42
+ * token in Keychain, which doesn't follow into a Linux container.
43
+ * 2. `gh auth token` against the mounted ~/.config/gh. Works on Linux
44
+ * operators whose gh keeps the token in the config dir directly.
45
+ * 3. No-token (warns). The pull-by-digest step will fail with a clear
46
+ * `unauthorized` error from the daemon and the upgrader exits non-
47
+ * zero — surfacing in `docker logs` for diagnosis.
48
+ *
49
+ * Wrapping the auth + upgrade in a single `sh -c` invocation lets the
50
+ * `docker login` stage feed credentials directly into the docker
51
+ * daemon without leaking the token through shared volumes.
52
+ */
53
+ const DEFAULT_UPGRADER_CMD = [
54
+ 'sh',
55
+ '-c',
56
+ [
57
+ 'set -e',
58
+ // Resolve the GH token. Prefer the env var (works on every OS);
59
+ // fall back to `gh auth token` (Linux-only on macOS Keychain hosts).
60
+ 'TOKEN="${GH_TOKEN:-$(gh auth token 2>/dev/null || true)}"',
61
+ 'if [ -z "$TOKEN" ]; then echo "[upgrader] no GH_TOKEN; ghcr pulls will fail" >&2; fi',
62
+ // Authenticate against ghcr.io. `oauth2` is GitHub's canonical
63
+ // username placeholder for PAT-style tokens.
64
+ '[ -n "$TOKEN" ] && echo "$TOKEN" | docker login ghcr.io -u oauth2 --password-stdin',
65
+ // The CLI resolves `packages/host-cp/compose.yaml` relative to its
66
+ // current working directory (see upgrade.ts:1008-1009). Inside the
67
+ // upgrader the npm-installed package lives at
68
+ // /usr/local/lib/node_modules/@pleri/olam-cli/, so cd there before
69
+ // running so the relative path resolves to the bundled compose
70
+ // file. Without this the recreate step fails with `open
71
+ // /app/packages/host-cp/compose.yaml: no such file or directory`.
72
+ // Operator's olam repo is bind-mounted at /workspace below; cd
73
+ // there so the CLI finds packages/host-cp/compose.yaml. Without
74
+ // this the recreate step fails with `open <cwd>/packages/host-cp/
75
+ // compose.yaml: no such file or directory` because the npm-
76
+ // installed @pleri/olam-cli package does NOT bundle the compose
77
+ // file (it's repo-source only).
78
+ 'cd /workspace',
79
+ // Then run the upgrade. The CLI handles pull-by-digest, atomic
80
+ // swap, recreate, and the post-recreate /api/version/status
81
+ // round-trip itself.
82
+ 'olam upgrade -y',
83
+ ].join(' && '),
84
+ ];
85
+
86
+ /**
87
+ * Spawn the upgrader. Resolves with the container ID on a successful
88
+ * `/start`; throws on any failure path so the caller can surface a
89
+ * clean 500 with the daemon's reason.
90
+ *
91
+ * @param {object} args
92
+ * @param {string} args.dockerHost tcp://docker-socket-proxy:2375 or 'docker-cli'
93
+ * @param {string} args.olamHomeHostPath e.g. /Users/ernie/.olam
94
+ * @param {string} args.dockerSockHostPath e.g. /var/run/docker.sock
95
+ * @param {string} args.image upgrader image (defaults to host-cp's own image)
96
+ * @param {string} [args.ghConfigHostPath] operator's ~/.config/gh; bind-mounted ro for
97
+ * `gh auth token` to work inside the upgrader
98
+ * (Linux fallback only; macOS uses GH_TOKEN env)
99
+ * @param {string} [args.ghToken] pre-resolved GH token (typically read from
100
+ * host-cp's GH_TOKEN env via compose). Passed
101
+ * to the upgrader as $GH_TOKEN so `docker login
102
+ * ghcr.io` works on macOS hosts whose Keychain-
103
+ * backed gh config can't be read inside a Linux
104
+ * container.
105
+ * @param {string} [args.repoHostPath] operator's olam repo path on the host. Bind-
106
+ * mounted into the upgrader at /workspace so
107
+ * the CLI's cwd-relative compose-file lookup
108
+ * resolves (the npm package doesn't bundle
109
+ * packages/host-cp/compose.yaml).
110
+ * @param {string} [args.operatorHomeHostPath] operator's $HOME on the host. Passed as the
111
+ * upgrader's HOME env so docker-compose's
112
+ * `${HOME}` interpolation in bind sources
113
+ * resolves to a daemon-visible path.
114
+ * @param {ReadonlyArray<string>} [args.cmd] override the upgrade command for tests
115
+ * @param {(host: string, init: object) => Promise<Response>} [args.fetchImpl]
116
+ * @param {(message: string) => void} [args.log]
117
+ * @returns {Promise<{ id: string, name: string }>}
118
+ */
119
+ export async function spawnUpgraderContainer({
120
+ dockerHost,
121
+ olamHomeHostPath,
122
+ dockerSockHostPath,
123
+ image,
124
+ ghConfigHostPath,
125
+ ghToken,
126
+ repoHostPath,
127
+ operatorHomeHostPath,
128
+ cmd = DEFAULT_UPGRADER_CMD,
129
+ fetchImpl = globalThis.fetch,
130
+ log = console.log,
131
+ }) {
132
+ if (!olamHomeHostPath) {
133
+ throw new Error('OLAM_HOME_HOST_PATH not set; cannot bind-mount operator state');
134
+ }
135
+ if (!dockerSockHostPath) {
136
+ throw new Error('OLAM_DOCKER_SOCK_HOST_PATH not set; upgrader cannot reach docker daemon');
137
+ }
138
+ if (!image) {
139
+ throw new Error('upgrader image not configured (OLAM_UPGRADER_IMAGE)');
140
+ }
141
+ if (!repoHostPath) {
142
+ throw new Error(
143
+ 'OLAM_REPO_HOST_PATH not set; upgrader cannot find packages/host-cp/compose.yaml',
144
+ );
145
+ }
146
+
147
+ // Bare-node (operator's host docker CLI on PATH) is documented but
148
+ // out of scope for the trigger feature — single deployment shape
149
+ // (compose stack) is supported in Phase 1.
150
+ if (dockerHost === 'docker-cli') {
151
+ // The literal `docker-socket-proxy` below is diagnostic text naming
152
+ // the deployment shape that IS supported, not a hostname.
153
+ throw new Error(
154
+ 'upgrade-trigger requires the docker-socket-proxy deployment shape; bare-node not yet supported', // bare-node-allow: diagnostic-text
155
+ );
156
+ }
157
+
158
+ const apiBase = dockerHost.replace(/^tcp:\/\//, 'http://');
159
+ const containerName = `olam-upgrader-${Date.now()}`;
160
+
161
+ // Container create body. AutoRemove cleans up on exit so we don't
162
+ // accumulate stopped upgrader carcasses; HostConfig.Binds gives the
163
+ // CLI everything it needs (operator state + docker socket).
164
+ const createBody = {
165
+ Image: image,
166
+ Cmd: [...cmd],
167
+ Entrypoint: [], // override host-cp's tini entrypoint; olam CLI is self-contained
168
+ Env: [
169
+ // HOME serves two roles:
170
+ // - The CLI uses HOME to resolve ~/.olam (we bind-mount the
171
+ // operator's ~/.olam into the upgrader so the CLI sees its
172
+ // state).
173
+ // - docker-compose interpolates `${HOME}` in bind sources of
174
+ // compose.yaml. The daemon resolves those bind sources on
175
+ // the HOST filesystem, so HOME must be a path the daemon
176
+ // can find (typically the operator's host $HOME).
177
+ //
178
+ // Default to /root for back-compat with tests that don't pass
179
+ // the operator host path; production callers (server.mjs) pass
180
+ // operatorHomeHostPath through.
181
+ `HOME=${operatorHomeHostPath ?? '/root'}`,
182
+ // Non-interactive mode + auto-yes are belt-and-braces: -y flag is
183
+ // also passed in Cmd, but env is the canonical way to opt out of
184
+ // tty prompts when stdin is closed.
185
+ 'OLAM_NON_INTERACTIVE=1',
186
+ 'CI=1',
187
+ // GH token forwarded for the docker-login-to-ghcr step. Only
188
+ // included when host-cp received it (compose set GH_TOKEN); the
189
+ // wrapper's auth fallback handles the unset case explicitly.
190
+ ...(ghToken ? [`GH_TOKEN=${ghToken}`] : []),
191
+ ],
192
+ HostConfig: {
193
+ AutoRemove: true,
194
+ // Bind sources are resolved by the docker daemon on the HOST
195
+ // filesystem, so target paths must match the host's view too —
196
+ // when the upgrader's `docker compose up` recreates host-cp,
197
+ // compose's ${HOME} interpolation pulls operatorHomeHostPath
198
+ // (set as HOME below). We keep the source==target convention
199
+ // for ~/.olam so the path is identical inside and out.
200
+ Binds: [
201
+ `${olamHomeHostPath}:${operatorHomeHostPath ? `${operatorHomeHostPath}/.olam` : '/root/.olam'}`,
202
+ `${dockerSockHostPath}:/var/run/docker.sock`,
203
+ // Operator's repo bind-mounted read-only at /workspace. The
204
+ // wrapper cds here so the CLI's relative compose-file lookup
205
+ // resolves to `<repo>/packages/host-cp/compose.yaml`.
206
+ `${repoHostPath}:/workspace:ro`,
207
+ // Optional gh config bind. When unset (operator skipped
208
+ // `gh auth login`) the upgrader's `gh auth token` step fails
209
+ // and the wrapper exits early — surface the failure via
210
+ // `docker logs` rather than spawning a doomed run.
211
+ ...(ghConfigHostPath
212
+ ? [`${ghConfigHostPath}:${operatorHomeHostPath ? `${operatorHomeHostPath}/.config/gh` : '/root/.config/gh'}:ro`]
213
+ : []),
214
+ ],
215
+ // Same network as host-cp so the upgrader can reach the
216
+ // docker-socket-proxy + auth-service if it needs to during the
217
+ // verification phase. Falls through to docker.sock for daemon
218
+ // operations.
219
+ NetworkMode: 'olam-host-cp-internal',
220
+ },
221
+ Labels: {
222
+ 'olam.role': 'upgrader',
223
+ 'olam.spawned-by': 'host-cp',
224
+ 'olam.spawned-at': new Date().toISOString(),
225
+ },
226
+ };
227
+
228
+ log(`[upgrade] creating upgrader container ${containerName} from ${image}`);
229
+ const createUrl = `${apiBase}/containers/create?name=${encodeURIComponent(containerName)}`;
230
+ const createRes = await fetchImpl(createUrl, {
231
+ method: 'POST',
232
+ headers: { 'Content-Type': 'application/json' },
233
+ body: JSON.stringify(createBody),
234
+ });
235
+ if (!createRes.ok) {
236
+ const detail = await safeReadBody(createRes);
237
+ throw new Error(
238
+ `daemon rejected POST /containers/create: ${createRes.status} ${createRes.statusText} ${detail}`.trim(),
239
+ );
240
+ }
241
+ const created = await createRes.json();
242
+ const containerId = created.Id;
243
+ if (!containerId) {
244
+ throw new Error(`POST /containers/create returned no Id: ${JSON.stringify(created)}`);
245
+ }
246
+
247
+ log(`[upgrade] starting upgrader ${containerId.slice(0, 12)}`);
248
+ const startUrl = `${apiBase}/containers/${encodeURIComponent(containerId)}/start`;
249
+ const startRes = await fetchImpl(startUrl, { method: 'POST' });
250
+ if (!startRes.ok && startRes.status !== 304) {
251
+ // 304 Not Modified = already started; treat as success.
252
+ const detail = await safeReadBody(startRes);
253
+ throw new Error(
254
+ `daemon rejected POST /containers/${containerId}/start: ${startRes.status} ${detail}`.trim(),
255
+ );
256
+ }
257
+
258
+ return { id: containerId, name: containerName };
259
+ }
260
+
261
+ /**
262
+ * Read the response body without crashing if it isn't JSON or is empty.
263
+ * Used for human-readable error surfaces in 500 responses.
264
+ *
265
+ * @param {Response} res
266
+ * @returns {Promise<string>}
267
+ */
268
+ async function safeReadBody(res) {
269
+ try {
270
+ const txt = await res.text();
271
+ return txt.trim().slice(0, 512);
272
+ } catch {
273
+ return '';
274
+ }
275
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pleri/olam-cli",
3
- "version": "0.1.31",
3
+ "version": "0.1.33",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "olam": "./dist/index.js"