This article describes the architecture of the Halon platform.
How messages are processed
SMTP | Flow | Configured per | HSL script | Process | Description |
CONNECT | Server (listener) | CONNECT context | smtpd |
IP based filtering in order to check against e.g. IP reputation services | |
HELO EHLO |
HELO | Server (listener) | HELO context | smtpd |
Allows verification of the HELO and EHLO domain. |
AUTH |
AUTH | Server (listener) | AUTH context | smtpd |
Used if client tries to authenticate (SASL). |
MAIL FROM |
MAIL FROM | Server (listener) | MAIL FROM context | smtpd |
Filtering in order to control relaying, or verify SPF etc. |
RCPT TO |
RCPT TO | Domains | RCPT TO context | smtpd |
Filtering in order to control relaying, prevent backscattering. |
DATA |
DATA | Domains | DATA context | smtpd |
Processing the actual mail message, such as spam and virus rejection. |
Pre-delivery | Global | Pre-delivery context | mailqueued |
Before a message delivery attempt (unless in-line delivery is used). | |
Post-delivery | Global | Post-delivery context | mailqueued |
After a message delivery attempt (unless in-line delivery is used). |
Disk layout
In order to provide reliable updates and simple maintenance, each Halon platform node consists of four partitions, listed in the table below.
- The recovery OS takes care of the actual software update procedure (overwriting the system partition). It is always read-only, and never updated in itself.
- The system partition (mounted read-only during normal operation) contains the actual Halon software, which is a complete software distribution (operating system, based on FreeBSD). The system partition is completely overwritten with each update.
- The configuration partition contains the revision-managed configuration file. This partition is, of course, not touched during updates.
- The storage partition is used for all large files and heavy write operations, such as mail queue, swap, virus definitions, logs, and much more.
Partition # | Partition label | Mount | Function | Read/write | Size |
1 | halonrecovery | Recovery OS | Always read-only | 20 MB | |
2 | halonsystem | / | System | Read-only | 250 MB (approx.) |
3 | halonconfig | /cfg | Configuration | Infrequent writes | 20 MB |
4 | /storage | Storage and swap | Heavy IO | Configurable, can also be on a separate disk |
Growing storage disk
If you're running on a hypervisor, you can grow the storage disk under Hosts -> System -> Disks after you have expanded the disk in the hypervisor.
Comments
0 comments
Article is closed for comments.