Mobrovac has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/308071

Change subject: Scap: Add config and tell Scap to deploy it
......................................................................

Scap: Add config and tell Scap to deploy it

Bug: T144542
Change-Id: I9778f5fd0bd9b2481a88fc4dc07daedac1b42bb3
---
A scap/config-files.yaml
M scap/scap.cfg
A scap/templates/config.yaml.j2
A scap/vars.yaml
4 files changed, 121 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/mathoid/deploy 
refs/changes/71/308071/1

diff --git a/scap/config-files.yaml b/scap/config-files.yaml
new file mode 100644
index 0000000..19b60f6
--- /dev/null
+++ b/scap/config-files.yaml
@@ -0,0 +1,5 @@
+---
+/etc/mathoid/config.yaml:
+  template: config.yaml.y2
+  erb_syntax: True
+  remote_vars: /etc/mathoid/config-vars.yaml
diff --git a/scap/scap.cfg b/scap/scap.cfg
index 7c1f58d..3ce993a 100644
--- a/scap/scap.cfg
+++ b/scap/scap.cfg
@@ -10,6 +10,7 @@
 service_name: mathoid
 service_port: 10042
 lock_file: /tmp/scap.mathoid.lock
+config_deploy: True
 
 [wmnet]
 git_server: tin.eqiad.wmnet
diff --git a/scap/templates/config.yaml.j2 b/scap/templates/config.yaml.j2
new file mode 100644
index 0000000..fc57367
--- /dev/null
+++ b/scap/templates/config.yaml.j2
@@ -0,0 +1,95 @@
+# 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: <%= num_workers %>
+
+# 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: <%= worker_heap_limit_mb %>
+
+# The maximum interval in ms that can pass between two beat messages
+# sent by each worker to the master before it is killed
+worker_heartbeat_timeout: <%= worker_heartbeat_timeout %>
+
+# Logger info
+logging:
+  level: warn
+  name: <%= log_name %>
+  streams: 
+    - host: <%= logstash_host %>
+      port: <%= logstash_port %>
+      type: gelf
+    - level: info
+      path: <%= log_file %>
+      type: file
+
+# Statsd metrics reporter
+metrics: 
+  name: <%= metrics_name %>
+  host: <%= metrics_host %>
+  port: <%= metrics_port %>
+  type: statsd
+
+services:
+  - name: <%= name %>
+    # a relative path or the name of an npm package, if different from name
+    module: ./src/app.js
+    # per-service config
+    conf:
+      port: <%= port %>
+      # 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: <%= proxy %>
+      # 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
+      # list of enabled renders
+      svg: true
+      img: true
+      png: true
+      speech: false
+      texvcinfo: true
+      speech_on: false
+      no_check: true
+      dpi: 180
+      svgo: false
+      # the user agent to use when issuing requests
+      # user_agent: service-template-node
+      # the template used for contacting the MW API
+      mwapi_req:
+        method: post
+        uri: <%= mwapi_uri %>
+        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: <%= restbase_uri %>/{{domain}}/v1/{+path}
+        query: '{{ default(request.query, {}) }}'
+        headers: '{{request.headers}}'
+        body: '{{request.body}}'
+
diff --git a/scap/vars.yaml b/scap/vars.yaml
new file mode 100644
index 0000000..1170d48
--- /dev/null
+++ b/scap/vars.yaml
@@ -0,0 +1,20 @@
+# general
+num_workers: 0
+worker_heap_limit_mb: 250
+worker_heartbeat_timeout: 7500
+# log-related variables
+log_name: mathoid
+logstash_host: localhost
+logstash_port: 12201
+log_file: /tmp/mathoid.log
+# metrics
+metrics_name: mathoid
+metrics_host: localhost
+metrics_port: 8252
+# service
+name: mathoid
+port: 10042
+proxy: 
+mwapi_uri: http://localhost/w/api.php
+restbase_uri: http://localhost:7231
+

-- 
To view, visit https://gerrit.wikimedia.org/r/308071
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9778f5fd0bd9b2481a88fc4dc07daedac1b42bb3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/mathoid/deploy
Gerrit-Branch: master
Gerrit-Owner: Mobrovac <mobro...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to