Commit Graph

1 Commits

Author SHA1 Message Date
Hongming Wang
092fadc7c8 add install.sh to install Node 22 from nodesource
openclaw npm pins engines.node >= 22.14.0, but the workspace AMI
ships Node 18.19.1. adapter.py:setup() runs `npm install -g
openclaw` against system Node and fails with EBADENGINE, raising
RuntimeError before the runtime binds port 8000 — workspace boots
to status=failed within ~2 min.

The CP cloud-init script invokes /opt/adapter/install.sh as the
runtime user before starting molecule-runtime, exactly for this
class of "host system deps a Python adapter can't fix from inside
its own venv" cases. hermes ships one for the gateway daemon;
openclaw has needed one ever since Node 22 became mandatory.

Idempotent — early-exits if Node >= 22 is already present, so the
hook becomes a no-op once the AMI gets bumped to ship Node 22
directly (which is the durable fix; this PR is the bridge).
2026-05-01 13:33:35 -07:00