ansible-role-rspamd/tasks/main.yml

67 lines
1.8 KiB
YAML

- include_tasks: install.yml
- name: use redis
when: rspamd.redis
block:
- name: add redis config to local_configs
set_fact:
rspamd:
local_configs: "{{ rspamd_redis.local_configs|combine( rspamd.local_configs, recursive=True) }}"
- name: add rspamd user to redis group
user:
name: _rspamd
groups: redis
append: true
- name: disable dmarc reports if redis is not configured
when: rspamd.dmarc_reporting.enabled and not rspamd.redis
set_fact:
rspamd:
dmarc_reporting:
enabled: false
- name: add dmarc reporting config to local_configs
set_fact:
rspamd:
local_configs: "{{ ( {'dmarc.conf': {'reporting':rspamd.dmarc_reporting} } )|combine( rspamd.local_configs, recursive=True) }}"
- name: create local.d config files
template:
src: local.d.config.j2
dest: "/etc/rspamd/local.d/{{ item.key }}"
mode: "0440"
owner: _rspamd
lstrip_blocks: yes
loop: "{{ rspamd.local_configs | dict2items }}"
notify:
- restart rspamd
- when: rspamd.dmarc_reporting.enabled
block:
- name: copy dmarc reporting systemd files
copy:
src: "{{ item }}"
dest: "/etc/systemd/system/{{ item }}"
owner: root
group: root
mode: 0755
with_items:
- dmarc-reporting.service
- dmarc-reporting.timer
register: dmarc_reporting_systemd_files
- name: reload systemd files
systemd_service:
daemon_reload: true
when: dmarc_reporting_systemd_files.changed
- name: en- or disable dmarc reporting service
when: rspamd.dmarc_reporting.enabled
service:
name: dmarc-reporting.timer
state: "{{ 'started' if rspamd.dmarc_reporting.enabled else 'stopped' }}"
enabled: "{{ 'yes' if rspamd.dmarc_reporting.enabled else 'no' }}"
- include_tasks: sieve_train_from_junk.yml
when: rspamd.train_from_junk