Configuration
xds-agent configuration is driven by a JSON config file.
The tarball mentioned in previous section includes this file with default settings.
Here is the logic to determine which conf file will be used:
- from command line option:
--config myConfig.json
$HOME/.xds/agent/agent-config.json
file/etc/xds/agent/agent-config.json
file
Supported fields in configuration file are (all fields are optional and example below corresponds to the default values):
- httpPort : http port of agent REST interface
- webAppDir : location of client webapp / dashboard (default: webapp/dist)
- logsDir : directory to store logs (eg. syncthing output)
- xdsServers : an array of xds-server object
- xdsServers.url: url of xds-server to connect to
- syncthing: a object defining syncthing settings
- syncthing.binDir : syncthing binaries directory (default: executable directory)
- syncthing.home" : syncthing home directory (usually .../syncthing-config)
- syncthing.gui-address : syncthing gui url (default http://localhost:8386)
- syncthing.gui-apikey : syncthing api-key to use (default auto-generated)
{
"httpPort": "8800",
"webAppDir": "./www",
"logsDir": "${HOME}/.xds/agent/logs",
"xdsServers": [
{
"url": "http://localhost:8000"
}
],
"syncthing": {
"home": "${HOME}/.xds/agent/syncthing-config",
"gui-address": "http://localhost:8386",
"gui-apikey": "1234abcezam"
}
}
Note:
environment variables are supported by using
${MY_VAR}
syntax.