Table of Contents
Tungsten Dashboard uses a Jetty server that connects to a browser React frontend via a websocket.
On the backend side, the application connects to clusters via a TCP connection. To support these
operations 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 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
- using the user credentials stores some data about the last login
for a token here. Using logout will alter this information and allow the logout to reject all previously
issued tokens 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
clusters's /api/v8/manager/cluster/topology
end-point. This information is used by the
backend application to select a host for every 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! as your changes may be lost. In case
of invalid values in the file, check the return results of the topology end point for the affected cluster.
clusters.json
and users.json
file contain encrypted values, the
Dashboard runtime expects these values to always 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 installation's values.yaml
file.