Upgrade node.js version
Closed this issue · 3 comments
Currently, the main webservice runs on node v12, and the check-service-up script runs as a cronjob on the Grid Engine which provides node v10 (deprecated), causing the entire codebase to rely on outdated and unmaintained versions of libraries and preventing use of more modern syntax.
Steps (in order):
- Upgrade webservice to node16 - this is now officially offered (https://lists.wikimedia.org/hyperkitty/list/cloud-announce@lists.wikimedia.org/thread/WNTXLPUFXDA262I5EXLSOBVMQLPQA4WF/)
- Migrate the cronjob from the Grid Engine (the standard crontab) to Kubernetes (toolforge-jobs framework)
- Update all dependencies which were downgraded for v10 compatibility
Upgrade webservice to node16
How to do this? Any specific command for it in toolforge?
We use webservice --backend=kubernetes node12 restart
to start/restart the service, right? Just change that command in the deployment pipeline.
Migrate the cronjob from the Grid Engine (the standard crontab) to Kubernetes (toolforge-jobs framework)
However, /usr/bin/mail and /usr/sbin/exim are not available in k8s runtime, so we would have to send mail via SMTP (using something like nodemailer), see https://wikitech.wikimedia.org/wiki/Help:Toolforge/Email.