Deploy to Beta Labs for now, since we can't deploy it to production.
Description
Related Objects
Event Timeline
@yuvipanda, it doesn't absolutely depend on restbase, but for a consistent public API it would be nice to integrate things right away. See T91102: Update / maintain Beta Cluster restbase cluster: Up & working with VE.
@yuvipanda Yes, it does depend on RESTBase.
@mobrovac mentioned we could use https://wikitech.wikimedia.org/wiki/Nova_Resource:Services-testbed since we don't have a labs project for services yet.
@bearND, we do have a 'services' project too, but the problem is that there's afaik no connectivity between projects, and trebuchet depends on a salt master etc which makes it easier to do it all in deployment-prep aka beta labs.
@bearND & I just chatted a bit about this on IRC & decided to set up a simple labs instance in the 'services' project first:
- instance name 'appservice', reachable through bastion.wmflabs.org
- proxy set up so that port 6927 on the instance will be reachable as https://appservice.wmflabs.org/
Yippeeee! The nodejs service is running on labs. Example:
https://appservice.wmflabs.org/en.m.wikipedia.org/v1/mobile/app/page/html/Dilbert
Got deploy repo cloned and modified according to Marko's instructions:
sudo su
mkdir -p /srv/deployment/mobileapps
cd /srv/deployment/mobileapps
git clone https://gerrit.wikimedia.org/r/mediawiki/services/mobileapps/deploy
cd deploy
git submodule init
git submodule update
(for now: add ./src/ in front of ./app.js in src/config.dev.yaml)
nodejs src/server.js -c src/config.yaml
Both the mobileapps and the deploy repo are in Gerrit.
https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/services/mobileapps
https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/services/mobileapps/deploy
Good! I'll put some work in tomorrow to create various init scripts (upstart/systemd) so we can have it reliably running there.
@mobrovac, lets try to generalize / template init scripts for service-runner services to avoid duplication of work, as described in T88585: Create a standard service template / init / logging / package setup and dependencies.
Hence my words "I'll put some work in tomorrow to create various init scripts" ;) Otherwise, I could have set up one for this specific purpose already.