Client Update Service
The Client Update Service (CUS) is a component of the Web API Service that distributes JARs, configuration files, and resources to remote clients. It is enabled by default and starts automatically when the Web API Service starts.
Clients use the Deephaven Updater to sync files from the CUS.
How it works
The CUS collates JARs, configuration files, and resources from standard server directories and makes them available for clients to download. A reload re-runs the collation and updates the files clients see. For a full description of the Launcher-centric file sync mechanism, see Launcher and client configuration.
Files distributed to clients
The CUS distributes content from several standard server directories. The CUS automatically excludes some known files — including temporary files, server-only configuration, and sensitive data — from the sync.
Configuration
These properties configure the CUS. Set them in iris-common.prop or a service-specific property file and restart the Web API Service to apply changes.
| Property | Default | Description |
|---|---|---|
client_update_service.host | (none — required) | Hostname the CUS advertises to clients in the appbase URL. Must be set or the Web API Service will not start. |
client_update_service.port | 8443 (HTTPS) or 8480 (HTTP) | Overrides the port the CUS web server listens on. When not set, defaults to 8443 if a TLS keystore is configured, or 8480 otherwise. |
Webapi.server.cus.enabled | true | Set to false to disable the CUS entirely. |
Webapi.server.cus.home | /etc/sysconfig/illumon.d/client_update_service/iris/ | CUS staging home directory. |
Webapi.server.cus.getdown.port | -1 (use listener port) | Overrides the port written into the appbase URL in getdown.txt. When not set, the listener port is used. When Envoy is configured, the Envoy port is used automatically. Set this when the CUS is behind a reverse proxy that exposes a different external port. |
Webapi.server.cus.getdown.threadPoolSize | CPU cores / 2 | Number of threads used for parallel digest computation. |
Webapi.server.cus.reload.timeout | 120000 (2 minutes) | Milliseconds to wait for a reload operation before returning a timeout response. |
Webapi.server.cus.resource.exclusions | (built-in list) | Comma-separated Java regex patterns of filenames to exclude from resources/. Setting this property replaces the built-in exclusion list entirely; omit it to retain the defaults. |
client_update_service.install.error.file | error.html | Filename of the error page shown to clients if installation fails. |
Adding customer JARs
To distribute additional JARs to all clients, add their paths to /etc/sysconfig/illumon.d/resources/customer_jars.txt — one path per line. The CUS supports both individual JAR files and directories. Reload the CUS after editing this file.
Reloading the CUS
A reload re-runs the full file collation and re-digest without restarting the Web API Service. Trigger a reload by sending any request to the /reload/ endpoint:
The reload runs synchronously up to the timeout (Webapi.server.cus.reload.timeout). After a reload, connected clients pick up the new files on their next sync.
Note
A CUS reload does not re-read client_update_service.host, client_update_service.port, or other JVM properties. Changes to those properties require a full Web API Service restart.