The configuration files work as follows:
The new configuration files use json or yaml and have the following format:
The configuration file is read. If "extends" is specified then this file is applied as a delta to the base-configuration. If not specified then it is applied as a delta to the default configuration defined by the component.
When merging configuration, lower case keys are treated as attributes (and only have a single value). Upper case keys are treated as as elements. If they have a name tag then they are matched by name, otherwise there is assumed to be only one instance.
Environment variables can be used to overwrite settings. If they have the form HPCC_CONFIG_<COMPONENT>_X=Y it is equivalent to specifying --X=Y on the command line.
All options start with – e,g, --x=y override values in the configuration (equivalent to "x": "y")
Old configuration files are supported. If provided they are internally translated to the new configuration format.
The rules for processing configuration files are:
There is also standard processing for the following options: