Kevin Veen-Birkenbach 185f37af52
Refactor systemctl service handling with @ support
- Unified variable naming: system_service_id → systemctl_id
- Added automatic removal of trailing '@' for role directory resolution
- Improved first_found search: prefer target role, fallback to sys-systemctl defaults
- Split template resolution logic to avoid undefined variable errors
- Added assertion in sys-timer to forbid '@' in systemctl_id
- Corrected default systemctl.service.j2 template description
- Cleaned up path handling and script directory generation

Context: conversation about fixing template resolution and @ handling
https://chatgpt.com/share/68a39994-1bb0-800f-a219-109e643c3efb
2025-08-18 23:22:46 +02:00
..

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 {{ systemctl_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-compose suite, 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.