14714: Removes metrics serving
[arvados.git] / doc / install / install-ws.html.textile.liquid
index ffbaf5e81b1851d071a4a22ab777042ec4cc7a37..f6a4bb5fafcc60fda70f936501a25c2f48bb0a13 100644 (file)
@@ -3,14 +3,13 @@ layout: default
 navsection: installguide
 title: Install the websocket server
 ...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
 
-{% include 'notebox_begin_warning' %}
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
 
-This websocket server is an alternative to the puma server that comes with the API server. It is available as an *experimental pre-release* and is not recommended for production sites.
-
-{% include 'notebox_end' %}
-
-The arvados-ws server provides event notifications to websocket clients. It can be installed anywhere with access to Postgres database and the Arvados API server, typically behind a web proxy that provides SSL support. See the "godoc page":http://godoc.org/github.com/curoverse/arvados/services/keep-web for additional information.
+The arvados-ws server provides event notifications to websocket clients. It can be installed anywhere with access to Postgres database and the Arvados API server, typically behind a web proxy that provides SSL support. See the "godoc page":http://godoc.org/github.com/curoverse/arvados/services/ws for additional information.
 
 By convention, we use the following hostname for the websocket service.
 
@@ -44,27 +43,25 @@ Verify that @arvados-ws@ is functional:
 <pre><code>~$ <span class="userinput">arvados-ws -h</span>
 Usage of arvados-ws:
   -config path
-        path to config file (default "/etc/arvados/ws/ws.yml")
+        path to config file (default "/etc/arvados/config.yml")
   -dump-config
         show current configuration and exit
 </code></pre>
 </notextile>
 
-h3. Create a configuration file
+h3. Update cluster config
 
-Create @/etc/arvados/ws/ws.yml@ using the following template. Replace @xxxxxxxx@ with the "password you generated during database setup":install-postgresql.html#api.
+Edit the cluster config at @/etc/arvados/config.yml@ and set @Services.Websocket.ExternalURL@ and @Services.Websocket.InternalURLs@.  Replace @zzzzz@ with your cluster id.
 
 <notextile>
-<pre><code>~$ <span class="userinput">arvados-ws -h</span>
-Client:
-  APIHost: <span class="userinput">uuid_prefix.your.domain</span>:443
-Listen: ":<span class="userinput">9003</span>"
-Postgres:
-  dbname: arvados_production
-  host: localhost
-  password: <span class="userinput">xxxxxxxx</span>
-  user: arvados
-</code></pre>
+<pre><code>Clusters:
+  zzzzz:
+    Services:
+      <span class="userinput">Websocket:
+        ExternalURL: wss://ws.uuid_prefix.your.domain/websocket
+        InternalURLs:
+         "http://localhost:9003": {}
+</span></code></pre>
 </notextile>
 
 h3. Start the service (option 1: systemd)
@@ -76,7 +73,7 @@ If your system uses systemd, the arvados-ws service should already be set up. St
 <notextile>
 <pre><code>~$ <span class="userinput">sudo systemctl restart arvados-ws</span>
 ~$ <span class="userinput">sudo systemctl status arvados-ws</span>
- arvados-ws.service - Arvados websocket server
+&#x25cf; arvados-ws.service - Arvados websocket server
    Loaded: loaded (/lib/systemd/system/arvados-ws.service; enabled)
    Active: active (running) since Tue 2016-12-06 11:20:48 EST; 10s ago
      Docs: https://doc.arvados.org/
@@ -176,18 +173,13 @@ server {
 }
 </pre></notextile>
 
-If Nginx is already configured to proxy @ws@ requests to puma, move that configuration out of the way or change its @server_name@ so it doesn't conflict.
+{% include 'notebox_begin' %}
+If you are upgrading a cluster where Nginx is configured to proxy @ws@ requests to puma, change the @server_name@ value in the old configuration block so it doesn't conflict. When the new configuration is working, delete the old Nginx configuration sections (i.e., the "upstream websockets" block, and the "server" block that references @http://websockets@), and disable/remove the runit or systemd files for the puma server.
+{% include 'notebox_end' %}
 
 h3. Update API server configuration
 
-Ensure the websocket server address is correct in the API server configuration file @/etc/arvados/api/application.yml@.
-
-<notextile>
-<pre><code>websocket_address: wss://ws.<span class="userinput">uuid_prefix.your.domain</span>/websocket
-</code></pre>
-</notextile>
-
-Restart the Nginx to reload the API server configuration.
+Restart Nginx to reload the API server configuration.
 
 <notextile>
 <pre><code>$ sudo nginx -s reload</span>
@@ -196,10 +188,10 @@ Restart the Nginx to reload the API server configuration.
 
 h3. Verify DNS and proxy setup
 
-Use a host elsewhere on the Internet to confirm that your DNS, proxy, and SSL are configured correctly.
+Use a host elsewhere on the Internet to confirm that your DNS, proxy, and SSL are configured correctly.  For @Authorization: Bearer xxxx@ replace @xxxx@ with the value from @ManagementToken@ in @config.yml@.
 
 <notextile>
-<pre><code>$ <span class="userinput">curl https://ws.<b>uuid_prefix.your.domain</b>/status.json</span>
-{"Clients":1}
+<pre><code>$ <span class="userinput">curl -H "Authorization: Bearer xxxx" https://ws.<b>uuid_prefix.your.domain</b>/_health/ping</span>
+{"health":"OK"}
 </code></pre>
 </notextile>