4. Configuration export

For persistent processing and routing of email, the configuration export function can export all domains, users, and settings from MSUI to a single YAML file (msui-config.yaml). This file will then be copied over to each Halon node to /etc/halon/msui-config.yaml using SCP. And finally it will compare both the source and destination file for any changes, and reload Halon’s configuration if necessary.

With the MSUI client plugin you can then import the YAML file into any HSL script, for more information check out the integration section.


Ansible has to be installed on the same server running MSUI.

4.1. Configure MSUI

Below is an example of msui.yaml, with configuration export enabled. It will copy over the msui-config.yaml file to two Halon nodes.

  - id: default
        enabled: true
        interval: 900
          - address: [email protected]
          - address: [email protected]

Upon installation of MSUI, a SSH key-pair will be generated and saved to the following paths:

  • /etc/halon/msui-export-ssh-key

  • /etc/halon/msui-export-ssh-key.pub

This key-pair will then be used for authentication by the configuration export function when coping over the msui-config.yaml file to each Halon node.

The /etc/halon/msui-export-ssh-key.pub needs to be added to each Halon node under the ~/.ssh/authorized_keys. In the example above it uses the halon user for authentication, the public key should then be added to this user’s authorized_keys file.

4.2. Configuration export directives


The configuration export settings.


Enables or disables the export function (true or false).


Set an interval (in seconds) how often the export should run (min 60 seconds).


A list of hosts that ansible will copy files to over SSH.


The SSH address (eg. halon@


Additional key-value arguments for ansible playbook.


You can change the default destination path for each host by setting the remote_auth argument.

- address: [email protected]
    "remote_path": "/new/path/halon/"