Local Directory Service
The Local Directory Service (internally called “LDS”) is responsible for starting and monitoring services.
Configuration
Warning
The Local Directory Service requires a configuration to be able to start
When the Local Directory Service is starting it imports its configuration from the environment variable OT_LOCALDIRECTORYSERVICE_CONFIGURATION
.
The value must be a JSON object.
Configuration Structure
The JSON object containing the configuration must contain the following name/value pairs:
Name |
Type |
Default value |
Description |
---|---|---|---|
DefaultMaxCrashRestarts |
Unsigned Integer |
8 |
The default number of maximum restarts for a service after it crashes. The crash counter is evaluated for every service in every session seperatly. |
DefaultMaxStartupRestarts |
Unsigned Integer |
64 |
The default number of start attempts for a service. The start counter is evaluated for every service in every session seperatly. Blocked Port Detection If a service is restarted after a crash, its startup counter is reset. |
LauncherPath |
String |
Executable in the repository deployment folder |
The full path to the Open Twin webserver executable which is used to attach the Service Libraries. |
ServicesLibraryPath |
String |
Deployment folder |
The path to the folder where the service binaries are located at |
SupportedServices |
Array of Strings and Objects |
List of all Services that are provided by the Open Twin repository |
The supported services array contains all services that are supported by the Local Directory Service |
Warning
Note that the default values are set by the batch file OpenTwin_set_up_LDS.bat
.
If providing a custom configuration, the configuration object must contain all of the members described in the table above.
Supported Service Configuration Structure
A supported service can be provided by a string (the String represents name and type, default values will be applied), or by an object with the following structure:
Name |
Type |
Default value |
Description |
---|---|---|---|
Name |
String |
None |
The name of the service. If no service type is provided this value will also be applied as service type |
Type |
String |
The Service Name |
The type of the service |
MaxCrashRestarts |
Unsigned Integer |
Configuration default value |
The default number of maximum restarts for a service after it crashes. The crash counter is evaluated for every service in every session seperatly. |
MaxStartupRestarts |
Unsigned Integer |
Configuration default value |
The default number of start attempts for a service. The start counter is evaluated for every service in every session seperatly. If a service is restarted after a crash, its startup counter is reset. |
Blocked Port Detection
When a service was successfully started (Service process started) the Local Directory Service will attempt to send a Ping action to the Service. If the ping was not delived 3 times (1 second timeout for each ping attempt) the service will restart at another port number and the current port number will be marked as blocked.