1. Configuration

The configuration consists of files in YAML format on disk.

The integrated package’s web administration has a getting started guide that can generate an initial configuration. The componentized package comes with an example configuration in /opt/halon/share/example.

The integrated package’s web administration has a graphical interface for working with the configuration, with comprehensive help, built-in revision management and configuration cluster synchronization. The configuration can also be changed from the REST API.

If using the componentized package, the YAML configuration files can be edited directly, and validated against the JSON schemas using the halonconfig script. The schemas can be browsed using a tool like Bovet’s docson. They are also included in our Visual Studio Code plugin, which provides help and auto-complete via IntelliSense:

Working with IntelliSense

The running configuration contains the bulk of the configuration data, including all the Halon script. It can be softly reloaded and deployed in a blue-green fashion using per-connection conditions, using the control sockets, API, command line interface or web administration. The default startup configuration loads the running configuration from /etc/halon/smtpd-app.yaml as per the environment.appconf directive.