infra/roles/alertmanager/tasks/main.yml
Jeremie Fraeys ac8b0b9abd
fix(alertmanager): use domain-based email for alerts
- Change default ALERTMANAGER_EMAIL_TO from admin@localhost to domain-based
- Use alerts@auth.jfraeys.com as default (configurable via env/vault)
- Remove hardcoded localhost email reference

Fixes: Alert delivery to proper domain email instead of localhost
2026-03-06 14:25:52 -05:00

53 lines
1.7 KiB
YAML

---
- name: Read Alertmanager email settings
set_fact:
alertmanager_smtp_host: "{{ ALERTMANAGER_SMTP_HOST | default(lookup('env', 'ALERTMANAGER_SMTP_HOST') | default('postfix:25', true), true) }}"
alertmanager_smtp_from: "{{ ALERTMANAGER_SMTP_FROM | default(lookup('env', 'ALERTMANAGER_SMTP_FROM') | default('no-reply@' ~ (inventory_hostname | default('localhost')), true), true) }}"
alertmanager_email_to: "{{ ALERTMANAGER_EMAIL_TO | default(lookup('env', 'ALERTMANAGER_EMAIL_TO') | default('alerts@' ~ (auth_hostname | default(inventory_hostname | default('localhost'))), true), true) }}"
no_log: true
- name: Fail if Alertmanager email recipient is not configured
fail:
msg: "ALERTMANAGER_EMAIL_TO is required"
when: alertmanager_email_to | length == 0
- name: Create Alertmanager directory
file:
path: /opt/alertmanager
state: directory
- name: Ensure monitoring network exists
command: docker network inspect monitoring
register: monitoring_network
changed_when: false
failed_when: false
- name: Create monitoring network if missing
command: docker network create monitoring
when: monitoring_network.rc != 0
- name: Ensure proxy network exists
command: docker network inspect proxy
register: proxy_network
changed_when: false
failed_when: false
- name: Create proxy network if missing
command: docker network create proxy
when: proxy_network.rc != 0
- name: Copy Alertmanager configuration
template:
src: alertmanager.yml.j2
dest: /opt/alertmanager/alertmanager.yml
- name: Copy Docker Compose file for Alertmanager
template:
src: docker-compose.yml.j2
dest: /opt/alertmanager/docker-compose.yml
- name: Deploy Alertmanager
command: docker compose up -d
args:
chdir: /opt/alertmanager