Server Configuration
Main Configuration File
The server is configured through configuration files. The main file is the server.conf.
The server.conf is a list of key-value pairs. A configuration file may contain empty lines, comment lines, and key-value lines. Comment lines begin with a hash (#). Key-value lines must have the format KEY_NAME=VALUE or KEY_NAME = VALUE.
The server default configuration is located at ./conf/core/server.conf. Upstream defaults are stored here. The possible configuration options are documented inside the default file.
User specific configuration should be in ./conf/ext/ and override settings in ./conf/core/.
The default configuration can be overriden by
the file ./conf/ext/server.conf
any file in ./conf/ext/server.conf.d/ in (approximately?) alphabetical order
environment variables with the prefix CAOSDB_CONFIG_
in this order.
Further Configuration Files
Further settings are to be set in files which are by default stored in ./conf/core/:
global_entity_permissions.xml
Permissions which are automatically set, based on user roles. See the default file.
usersources.ini
This file defines possible sources which are checked when a user tries to authenticate. Each defined source has a special section, the possible options are defined separately for each user source. At the moment the best place to look for this specific documentation is at the API documentation of
UserSource
and its implementing classes. The provided template file also has some information. The general concept about authentication realms is described inUserSources
.authtoken.yaml
Configuration for dispensed authentication tokens, which can be used to authenticate to CaosDB without the need of a user/password combination. One-time Authentication Tokens can be configure to be issued for special purposes (e.g. a call of a server-side script or initial setup after the server start) or to be written to a file on a regular basis. An example of a configuration is located at ./conf/core/authtoken.example.yaml. There is more documentation inside the template file.
cache.ccf
Configuration for the Java Caching System (JCS) which can be used by the server. More documentation is upstream and inside the file.
log4j2-default.properties
,log4j2-debug.properties
Configuration for logging, following the standard described by the log4j library. The
default
file is always loaded, in debug mode thedebug
file iss added as well.
The administrator may set the corresponding options in the main configuration file (./conf/core/server.conf and it’s friends) to replace these special files with custom configuration.
Changing the configuration at runtime
- Remark:
Only when the server is in debug mode, the general configuration can be changed at runtime.
In the debug case, the server provides the _server_properties
resource which allows the GET
and POST
methods to access the server’s properties. The Python client library conveniently
wraps this in the caosdb-pylib:caosdb.common.administration
module.