The basic file definition used to bootstrap bluechi-controller.
The bluechi-controller configuration file is using the systemd configuration file format ⟨https://www.freedesktop.org/software/systemd/man/systemd.syntax.html⟩. Contrary to this, there is no need for the \ symbol at the end of a line to continue a value on the next line. A value continued on multiple lines will just be concatenated by bluechi. The maximum line length supported is 500 characters. If the value exceeds this limitation, use multiple, indented lines.
All fields to bootstrap the bluechi controller are contained in the bluechi-controller section. The following keys are understood by bluechi-controller.
The port the bluechi-controller listens on to establish connections with the bluechi-agent. By default port 842 is used.
A comma separated list of unique bluechi-agent names. It's mandatory to set the option, only nodes with names mentioned in the list can connect to bluechi-controller'. These names are defined in the agent's configuration file underNodeName option (seebluechi-agent.conf(5)`).
The level used for logging. Supported values are:
By default INFO level is used for logging.
The target where logs are written to. Supported values are:
By default journald is used as the target.
If this flag is set to true, no logs are written by bluechi. By default the flag is set to false.
If this flag is set to true, it enables extended, reliable error message passing for the peer connection with all agents. This results in BlueChi receiving errors such as host unreachable ICMP packets instantly and possibly dropping the connection. This is useful to detect disconnects faster, but should be used with care as this might cause unnecessary disconnects in less robut networks. Default: true.
The number of seconds the individual TCP connection with an agent needs to be idle before keepalive packets are sent. When TCPKeepAliveTime is set to 0, the system default will be used. Default: 1s.
The number of seconds between each keepalive packet. When TCPKeepAliveInterval is set to 0, the system default will be used. Default: 1s.
The number of keepalive packets without ACK from an agent till the individual connection is dropped. When TCPKeepAliveCount is set to 0, the system default will be used. Default: 6.
A basic example of a configuration file for bluechi:
[bluechi-controller] ControllerPort=842 AllowedNodeNames=agent-007,agent-123 LogLevel=DEBUG LogTarget=journald LogIsQuiet=false
Using a value that is continued on multiple lines:
[bluechi-controller] ControllerPort=842 AllowedNodeNames=agent-007, agent-123, agent-456, agent-789 LogLevel=DEBUG LogTarget=journald LogIsQuiet=false
Distributions provide the /usr/share/bluechi/config/controller.conf file which defines bluechi configuration defaults. Administrators can copy this file to /etc/bluechi/controller.conf and specify their own configuration.
Administrators can also use a "drop-in" directory /etc/bluechi/controller.conf.d to drop their configuration changes.