Refactored mail-related roles to support running Infinito.Nexus on nodes without a dedicated mail server: - Introduced sys-svc-mail as central mail orchestration role. - Split msmtp handling into sys-svc-mail-msmtp. - Added sys-svc-mail-smtp to provide a localhost-only Postfix relay when Mailu is not present. - Updated alert/health roles to use the new mail orchestration. - Avoid installing postfix inside containers via IS_CONTAINER guard. - Adjusted WordPress role to use the new msmtp template path. This allows lightweight deployments (e.g. Raspberry Pi, robots, edge nodes) to send mail via localhost without requiring a full Mailu stack. ChatGPT discussion: https://chatgpt.com/share/6931edf1-cb98-800f-9e3c-a62d69ccb223
Automated Email Alerts for Service Failures
Description
This role installs and configures the necessary components for sending email notifications via systemd when a service fails. It sets up the {{ system_service_id }} service and configures email parameters and templates using msmtp.
Overview
Optimized for secure and reliable service failure notifications, this role is an integral part of the overall sys-ctl-alm-compose suite. It ensures that, upon failure of a critical service, an email alert is sent automatically to enable prompt troubleshooting.
Purpose
The primary purpose of this role is to provide a comprehensive solution for automated email notifications in a systemd environment. By integrating with msmtp and customizable templates, it delivers clear and timely alerts about service failures, thereby enhancing system reliability.
Features
- Service Installation & Configuration: Installs msmtp and configures the email sending service.
- Customizable Templates: Supports tailoring email templates for service failure notifications.
- Secure Notifications: Integrates with systemd to trigger email alerts when services fail.
- Suite Integration: Part of the
sys-ctl-alm-composesuite, offering a unified approach to service failure notifications.
Other Resources
This role was created as part of a conversation with OpenAI's ChatGPT and can be found here.