service-template-node
Version:
A blueprint for MediaWiki REST API services
82 lines (77 loc) • 2.77 kB
YAML
# Number of worker processes to spawn.
# Set to 0 to run everything in a single process without clustering.
# Use 'ncpu' to run as many workers as there are CPU units
num_workers: ncpu
# Log error messages and gracefully restart a worker if v8 reports that it
# uses more heap (note: not RSS) than this many mb.
worker_heap_limit_mb: 500
# Logger info
logging:
level: warn
streams:
# Use gelf-stream -> logstash
- type: gelf
host: logstash1003.eqiad.wmnet
port: 12201
# Statsd metrics reporter
metrics:
type: statsd
host: statsd.eqiad.wmnet
port: 8125
services:
- name: service-template-node
# a relative path or the name of an npm package, if different from name
module: ./app.js
# optionally, a version constraint of the npm package
# version: ^0.4.0
# per-service config
conf:
port: 6927
# interface: localhost # uncomment to only listen on localhost
# more per-service config settings
# the location of the spec, defaults to spec.yaml if not specified
# spec: ./spec.template.yaml
# allow cross-domain requests to the API (default '*')
cors: '*'
# to disable use:
# cors: false
# to restrict to a particular domain, use:
# cors: restricted.domain.org
# content for the CSP headers
# csp: false # uncomment this line to disable sending them
# URL of the outbound proxy to use (complete with protocol)
# proxy: http://my.proxy.org:8080
# the list of domains for which not to use the proxy defined above
# no_proxy_list:
# - domain1.com
# - domain2.org
# the list of incoming request headers that can be logged; if left empty,
# the following headers are allowed: cache-control, content-length,
# content-type, if-match, user-agent, x-request-id
# log_header_whitelist:
# - cache-control
# - content-length
# - content-type
# - if-match
# - user-agent
# - x-request-id
# the user agent to use when issuing requests
# user_agent: service-template-node
# the template used for contacting the MW API
#
# Max JSON POST body size limit.
# max_body_size: 100kb
mwapi_req:
method: post
uri: http://api.svc.eqiad.wmnet/w/api.php
headers:
host: '{{request.params.domain}}'
user-agent: '{{user-agent}}'
body: '{{ default(request.query, {}) }}'
# the template used for contacting RESTBase
restbase_req:
method: '{{request.method}}'
uri: http://restbase.svc.eqiad.wmnet/{{domain}}/v1/{+path}
query: '{{ default(request.query, {}) }}'
headers: '{{request.headers}}'
body: '{{request.body}}'