Skip to content

Configuration files ​

The server reads an existing XML configuration with one coordinator root and a required logger section. It applies the file at startup; edits require a restart.

Configuration path ​

Without --config-file, the server finds config.xml beside the executable. A relative explicit path starts at the working directory. --db selects a database file independently and does not change where configuration is found.

The server does not generate or rewrite these files.

Server example ​

xml
<coordinator>
    <listen_host>127.0.0.1</listen_host>
    <tcp_port>7400</tcp_port>
    <http_port>7401</http_port>
    <users_config>users.xml</users_config>
    <logger>
        <level>information</level>
        <log>server.log</log>
        <errorlog>server.err.log</errorlog>
        <size>10M</size>
        <count>3</count>
    </logger>
</coordinator>

Users example ​

Create users.xml in the configuration directory:

xml
<coordinator>
    <users>
        <default><password></password></default>
    </users>
</coordinator>

Start the server ​

sh
./coordinator serve --config-file config.xml --db data.db

Paths and validation ​

Relative users and log paths start at the configuration directory, independently of --db. Unknown or duplicate elements, attributes, namespaces, invalid numbers and missing required sections are configuration errors.

Comments, CDATA and standard XML entities are accepted. DTD declarations are rejected.

Credentials ​

A user has exactly one password or password_sha256_hex field. The latter contains a 64-character SHA-256 digest. An optional api_key_sha256_hex associates an HTTP Bearer key with the same user.

Usernames are case-sensitive identifiers. Duplicate users and shared API-key digests are rejected. Password and API-key changes require a restart.

Server settings