As suggested by @GWicke in T111223#1697385.
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | • GWicke | T114549 Offer a combo of Parsoid and RESTbase in a single process using service-runner for severely memory-constrained environments | |||
Resolved | • mobrovac | T90668 Replace custom server.js with service-runner | |||
Resolved | • GWicke | T135679 RFC: Clarify / clean up return values from ServiceRunner.run() | |||
Resolved | yuvipanda | T140227 Remove parsoid UID/GID from Labs LDAP | |||
Resolved | • mobrovac | T140218 Remove automatic beta updates for Parsoid | |||
Resolved | • mobrovac | T140477 Make Parsoid Vagrant role use service::node |
Event Timeline
I don't think it's worth it. Parsoid should still be available as an independent Vagrant role, which means a lot of Puppet code would need to go into figuring out should we run them together or not (based on whether RESTBase and/or Parsoid role has been enabled).
Updated the title to clarify that this is something that's more geared towards third party users, not necessarily Vagrant. As @mobrovac mentions, there are other considerations that might make this less attractive in a development environment like Vagrant. That said, it would be nice to move towards installing & configuring both Parsoid and RESTBase in Vagrant by default, as this will eventually let us avoid the need to implement fall-back codepaths for no-RESTBase situations in VE and other consumers.
In any case, it's useful to establish what the memory usage of a combo process is, as many low-end VPS offers are RAM-limited. If it is saving more than single-digit MB of RAM, then we can roll a combo Debian package that sets up at least Parsoid and RESTBase to work out of the box.
A basic Parsoid & RESTBase combo service config is now available at https://github.com/gwicke/mediawiki-node-services. This depends on this small Parsoid patch: https://gerrit.wikimedia.org/r/#/c/257213/.
Resolving overall, as Parsoid is now using service-runner by default.
https://github.com/wikimedia/mediawiki-node-services is building on this to provide a single service with RB & Parsoid. We will track further work on this in separate tasks.
I'm trying to use https://github.com/wikimedia/mediawiki-node-services, but I do not get it to work any more. Is anything changed that prevent it to work?
I did following:
- git clone https://github.com/wikimedia/mediawiki-node-services.git
- npm install
This results in a lot of compiling errors