gather most of the playbooks in one and just use tags
[ansible.git] / roles / postfix / tasks / postfix.yml
index eac650c0dcc84b43e51a87fa17ba09c7367856bb..bda22568fef15cd1af09e5cdbd40f776450db9ba 100644 (file)
@@ -1,8 +1,8 @@
 - name: install postfix
   apt: name=postfix,bsd-mailx state=latest
 - name: install postfix-mysql
-  apt: name=postfix-mysql state=latest
   when: postfix.vmail_mysql_password is defined
+  apt: name=postfix-mysql state=latest
 - name: enable postfix
   service: name=postfix enabled=yes
 # config
@@ -15,6 +15,7 @@
   - master.cf
   notify: postfix
 - name: install postfix mysql config
+  when: postfix.vmail_mysql_password is defined
   template:
     dest: /etc/postfix/{{ item }}
     src: templates/{{ item }}
@@ -25,8 +26,8 @@
   - mysql_vmail_senders.cf
   - mysql_vmail_users.cf
   notify: postfix
-  when: postfix.vmail_mysql_password is defined
 - name: create empty maps
+  when: postfix.virtual_mailbox_domains is defined
   copy:
     dest: /etc/postfix/{{ item }}
     content: ""
   loop:
   - virtual_alias_map
   - transport_map
-  when: postfix.virtual_mailbox_domains is defined
-# cronjob
+- name: give postfix user access to opendkim
+  # we assume the user alredy exists (it is created above by installing postfix)
+  when: postfix.opendkim is defined
+  user:
+    name: postfix
+    groups: opendkim
+    append: yes
+  notify: postfix
+# cronjobs
 - name: delete old local-mail cronjob
   file: path=/etc/cron.daily/local-mail state=absent
 - name: install check-for-local-mail cronjob
     dest: /etc/cron.daily/check-for-local-mail
     src: files/check-for-local-mail
     mode: u=rwx,g=rx,o=rx
+- name: install mailman-check cronjob
+  when: postfix.mailman is defined and postfix.mailman
+  copy:
+    dest: /etc/cron.daily/mailman-check
+    src: files/mailman-check
+    mode: u=rwx,g=rx,o=rx
+- name: remove mailman-check cronjob
+  when: not (postfix.mailman is defined and postfix.mailman)
+  file:
+    path: /etc/cron.daily/mailman-check
+    state: absent
+# tools
+- block:
+  - name: create newmail dir
+    file: path=/root/newmail state=directory
+  - name: install newmail script
+    copy:
+      dest: /root/newmail/newmail
+      src: files/newmail/newmail
+      mode: u=rwx,g=rx,o=rx
+  - name: install newmail templates
+    copy:
+      dest: /root/newmail/templates.py
+      src: files/newmail/templates.py
+  when: postfix.vmail_mysql_password is defined