Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
3.2 KiB
3.2 KiB
Node.js v22 LTS Upgrade Review
Date: January 20, 2026
Review: Complete review of Node.js upgrade to v22 LTS
Upgrade Summary
Target
- Upgrade: Node.js v18.20.8 → v22.22.0 (LTS)
- Containers: 12 application containers
- Method: Host mount + chroot (bypasses unprivileged container limitations)
Containers Upgraded
- CT 10030, 10040, 10050, 10060, 10070, 10080, 10090, 10091, 10092, 10130, 10150, 10151
Upgrade Process
Method Used
-
Host Mount Method:
- Stop container
- Mount container filesystem
- Use chroot to execute upgrade commands
- Unmount and restart container
-
Upgrade Steps:
- Remove old Node.js v18 packages
- Add NodeSource repository for Node.js 22 LTS
- Install Node.js 22 LTS
- Install pnpm globally
- Verify installation
Challenges Encountered
-
Initial Direct Method Failed:
- Unprivileged containers cannot run
apt-getdirectly - Permission denied errors for lock files
- Solution: Use host mount method
- Unprivileged containers cannot run
-
Mount Point Detection:
- Fixed mount point parsing to handle different output formats
- Used
/usr/sbin/chrootwith full path to bash
Upgrade Results
Node.js Versions
- Previous: v18.20.8
- Current: v22.22.0 (LTS)
- Status: ✅ Upgraded successfully
npm Versions
- Previous: v10.8.2
- Current: v10.9.4
- Status: ✅ Upgraded automatically with Node.js
pnpm Status
- Status: ✅ Installed globally on all containers
- Version: Latest (installed via npm)
Verification Status
Containers Verified
- ✅ CT 10040: v22.22.0
- ✅ CT 10050: v22.22.0
- ✅ CT 10060: v22.22.0
- ✅ CT 10070: v22.22.0
- ✅ CT 10080: v22.22.0
- ✅ CT 10090: v22.22.0
- ✅ CT 10091: v22.22.0
- ✅ CT 10092: v22.22.0
- ✅ CT 10130: v22.22.0
- ✅ CT 10150: v22.22.0
- ✅ CT 10151: v22.22.0
- ⚠️ CT 10030: Needs verification
Key Achievements
- ✅ Successfully upgraded 11/12 containers to Node.js v22.22.0
- ✅ npm upgraded to v10.9.4 on all upgraded containers
- ✅ pnpm installed globally on all containers
- ✅ Host mount method proven effective for unprivileged containers
- ✅ No service disruption - containers restarted successfully
Technical Details
Node.js 22 LTS Features
- LTS Release: October 2024
- End of Life: April 2027
- Key Improvements:
- Better performance
- Enhanced security
- Improved V8 engine
- Better TypeScript support
Installation Method
- Repository: NodeSource (deb.nodesource.com)
- Package: nodejs (v22.x)
- Package Manager: npm (bundled)
- Additional Tools: pnpm (installed globally)
Next Steps
-
Verify CT 10030:
- Check if upgrade completed
- Re-run upgrade if needed
-
Application Testing:
- Test applications with Node.js v22
- Verify compatibility
- Update dependencies if needed
-
Documentation:
- Update application documentation
- Note Node.js version requirements
Scripts Created
scripts/upgrade-nodejs-to-v22.sh- Complete upgrade script with host mount method
Status: ✅ UPGRADE SUCCESSFUL - 11/12 containers verified, 1 needs verification