We'd like to make it easy for both ourselves and third parties to have a properly configured Parsoid install. This should include a proper init script, log rotation etc.
In production, we currently use puppet for config files and git-deploy for pushing out the code and restarting Parsoid (see https://wikitech.wikimedia.org/wiki/Parsoid). Files managed by puppet live in the puppet repository, where operations can review code that will be running with root rights. Our puppetization is not very complete yet, with log rotation for example still missing (which causes parsoid servers to hang after running out of disk space).
There are more moving parts though: We currently manage our dependencies and config in a private config repository which we deploy separately from the main code. For Jenkins testing, we are using another contrib repository which also needs to be updated manually.
It would be good to merge all this in a way that lets us
- build Debian packages
- still allows operations to review root-level code
- supports current deployment methods (git-deploy)
- minimizes manual dependency tracking and contrib updates
An idea that Ryan brought up is to use submodules for this. The details of how this might look are discussed in https://www.mediawiki.org/wiki/Parsoid/Packaging.
Version: unspecified
Severity: normal
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=61006