ansible-role-postfix/tasks/configure_disclaimer.yml

110 lines
2.8 KiB
YAML

---
- name: Deploy script disclaimer.sh
copy:
src: files/disclaimer.sh
dest: /etc/postfix/scripts/disclaimer.sh
owner: root
group: postfix
mode: '0755'
backup: true
- name: Ensure filter group exists
group:
name: filter
- name: Ensure filter user exists
user:
name: filter
group: filter
create_home: false
home: /var/spool/filter
- name: Ensure filter home exists with the right permissions
file:
path: /var/spool/filter
state: directory
owner: filter
group: root
mode: 0770
- name: Ensure filter user can write disclaimer log
file:
path: /var/log/disclaimer.log
owner: filter
group: postfix
mode: 0660
state: touch
- name: Ensure mail processor is installed
pip:
name: git+ssh://git@repos.susurrando.com:1122/srv/git.repos/mail_processor.git
- name: Ensure filter user can write disclaimer log
file:
path: "{{ mailprocessor_log_file }}"
owner: filter
group: postfix
mode: 0660
state: touch
- name: Ensure default text disclaimer file exist
file:
path: "{{ default_text_disclaimer_file }}"
state: touch
when:
- default_text_disclaimer_file is defined
- default_text_disclaimer_file != ''
- name: Ensure default html disclaimer file exist
file:
path: "{{ default_html_disclaimer_file }}"
state: touch
when:
- default_html_disclaimer_file is defined
- default_html_disclaimer_file != ''
- name: Ensure disclaimers folder exists
file:
path: "{{ disclaimers_folder }}"
state: directory
owner: filter
group: postfix
when:
- disclaimers_folder is defined
- disclaimers_folder != ''
- name: Create database user with name '{{ mailprocessor_database_username }}' with mail database privileges
mysql_user:
name: "{{ mailprocessor_database_username}}"
password: "{{ mailprocessor_database_password }}"
priv: "{{ mailprocessor_database_name }}.*:ALL"
state: present
login_unix_socket: "{{ mailprocessor_database_socket_file }}"
- name: Ensure mail processor configuration exists
template:
src: mail_processor.conf.j2
dest: /etc/postfix/mail_processor.conf
owner: filter
group: postfix
backup: true
- name: Compress stored incoming messages labeler logs
shell: find /var/spool/filter/ -maxdepth 1 -type f -iname in.\*.log -exec bzip2 -z9 {} \;
- name: Compress stored incoming messages
shell: find /var/spool/filter/ -maxdepth 1 -type f -regex '^/var/spool/filter/in\.[0-9]*' -exec bzip2 -z9 {} \;
- name: Deploy script to compress stored messages
copy:
src: files/compress_stored_messages.sh
dest: /usr/local/bin/compress_stored_messages.sh
mode: 0755
backup: yes
- name: Ensure cron to compress stored messages exists
cron:
name: Compress Stored messages
job: /usr/local/bin/compress_stored_messages.sh
hour: '2'