46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
---
|
|
# ansible-role-template/handlers/main.yml
|
|
# Handlers for role
|
|
# ==================
|
|
|
|
# Service handlers
|
|
- name: Restart {{ role_template_service_name }}
|
|
ansible.builtin.service:
|
|
name: "{{ role_template_service_name }}"
|
|
state: restarted
|
|
listen: "restart {{ role_template_service_name }}"
|
|
when: role_template_service_enabled
|
|
|
|
- name: Reload systemd
|
|
ansible.builtin.systemd:
|
|
daemon_reload: true
|
|
listen: "restart {{ role_template_service_name }}"
|
|
when: role_template_systemd_enabled
|
|
|
|
# Configuration handlers
|
|
- name: Reload nginx
|
|
ansible.builtin.service:
|
|
name: nginx
|
|
state: reloaded
|
|
listen: "reload nginx"
|
|
when: "'nginx' in role_template_service_name"
|
|
|
|
# Backup handlers
|
|
- name: Rotate logs
|
|
ansible.builtin.command: logger -p local0.info "Rotating logs for {{ role_template_service_name }}"
|
|
changed_when: true
|
|
listen: "rotate logs"
|
|
|
|
# Monitoring handlers
|
|
- name: Notify monitoring
|
|
ansible.builtin.uri:
|
|
url: "{{ role_template_monitoring_webhook_url }}"
|
|
method: POST
|
|
body_format: json
|
|
body: "{{ lookup('template', 'monitoring_notification.json.j2') }}"
|
|
status_code: 200
|
|
delegate_to: localhost
|
|
run_once: true
|
|
listen: "notify monitoring"
|
|
when: role_template_monitoring_enabled
|