Table of Contents
Tungsten Dashboard uses a client/server architecture. A browser-based React client frontend connects via a
websocket to a backend driven by a Jetty server. The backend application then connects to a Tungsten Cluster
using a TCP session. To support these operations, the Tungsten Dashboard has three configuration files:
config.json
, users.json
and clusters.json
.
These files are expected to be mounted to a path /app/persistent/
when production mode is active or in the resources/
directory if
the application is in any other mode.
To explain the contents of the resources / persistent directory:
config.json
- this file houses the main application configuration such as
domain, port, ssl settings, startup actions and more. All fields in the file can be overridden with
environment variables.
clusters.json
- houses a json array that contains the details of the first
connection you make to any given cluster you add to the Dashboard. It includes port, ssl settings,
base64 encoded certificates and encrypted username and password for the REST API.
users.json
- contains username, email and password hash for all the dashboard users.
dynamic/tokens.edn
- A user login stores metadata for that token including the timestamp
here. Using logout will purge this information and all previously issued tokens will be rejected afterwards.
Please DO NOT alter this file by hand!
dynamic/clusters.edn
- The map in this file is the result of the REST API call to
endpoint /api/v8/manager/cluster/topology
. This information is used by the
backend application to select a host for each cluster service. The strings placed under each cluster in
the array are expected to all be valid fully qualified domain names that the Dashboard can connect to.
Please DO NOT alter this file by hand! If you do, your changes may be lost.
In case of invalid values in the file, validate the results returned by the API topology endpoint for the
affected cluster.
The clusters.json
and users.json
files contain encrypted values,
and the Dashboard application expects these values to be encrypted. Inputting plain values into the encrypted
fields will cause errors in the application. If you want to add clusters or users to a running Dashboard,
please do so through the user interface, or through helm values.yaml
file.