Configuration Files and Unified Options
Inmation provides a large number of configuration options that control the behavior of various aspects of the system. These options can be specified in configuration files, on the command line when starting Inmation, or as environment variables. Many options can also be viewed and modified using WebStudio.
Configuration Files
Inmation configuration files use the YAML format. For example, a simple configuration file for a Node object might look like this:
startup:
# Executes Lua file script at the specified location during process startup.
luaFile: <path to Lua script file>\inmation-startup.lua
# The port on which the Node listens for incoming connections.
initListenPort: 6512
system:
# The Node's data folder to write persistent data to
dataFolder: <path to data file>\data
# Specifies OS environment variable overrides. Individual overrides must be specified as key=value pairs, separated by spaces.
environment:
["COMPUTERNAME=Parent"]
This file specifies environment variables, the data folder location, and settings for the Node and Webserver components. The nested blocks are used to group related options together.
Unified Options
The precise way an option is specified depends on the method of configuration used. The command line uses kebab-case (hyphen-separated) names, configuration files use camelCase names (first word lower case, any subsequent words are not preceded by spaces but are distinguished by starting with an upper-case letter), and environment variables use SNAKE_CASE (upper case with underscores). As options are members of a group, the relevant group has to be specified. In a configuration file, the group name appears in brackets before the option name. In command line arguments, the group name, in kebab form, is prepended to the option name using a '-'. For environment variables, the option name is prefixed with INM_ and the group name in snake case. For example,
Command line argument:
inmation --my-group-some-option val
Configuration file:
myGroup:
someOption: val
Environment variable:
INM_MY_GROUP_SOME_OPTION=val
For example, the property that specifies the port on which the Node listens for incoming connections from other Nodes is called Node Listener Port when viewed in WebStudio but is specified using the node.port setting in a configuration file or the --node-port-forced command line parameter.