The current Graphoid Puppet module is already pretty good.was created for the first version of Graphoid, We need to change/update it a bitwhich doesn't work any more.
## Role
Graphoid is to be used in conjunction with the Graph extension, so the Graphoid role needs to include the Graph role as well.As of {T90315}, Also, the current settings present there (`mediawiki::settings`) would be more suited as part of the Graphoid module insteadthere is the `service::node` Puppet define which can be shared between Node.JS services using the #service-runner / #service-template-node . They need to be updated to reflect the new URI scheme used by Graphoid as well.
**TODO**
[ ] Include the Graph extension
[ ] Include the Graphoid moduleSwitching Grahpoid to it should be trivial.
[ ] Update the settings to reflect Graphoid's new URI scheme
[ ] Move `mediawiki::settings` to the module
## Module
Firstly, the special `install::git` module can disappear entirely and its contents can be put directly in the module's code. The clone should also be followed by a call to `npm install`. Note that you need to ensure `npm install` gets called after cloning **and** installation of required packages. Furthermore, Grahoid's configuration should be updated with the new-style configuration file placed as a template to be placed in `/etc/graphoid/config.yaml` (which warrants an update in the upstart script as well).
**TODO**
[ ] Move the contents of `install::git` directly into the Graphoid module
[ ] `npm install` after clone and package installation
[ ] New configuration file template
[ ] Update the Upstart script
## See also
To get some pointers, you can look at the current code of Mathoid and Parsoid modules, as well as the [one used for RESTBase](https://gerrit.wikimedia.org/r/#/c/195106/)