avoid gathering facts when we do not need to
[ansible.git] / roles / postfix / tasks / postfix.yml
1 - name: install postfix
2   apt: name=postfix,bsd-mailx state=latest
3 - name: install postfix-mysql
4   when: postfix.vmail_mysql_password is defined
5   apt: name=postfix-mysql state=latest
6 - name: enable postfix
7   service: name=postfix enabled=yes
8 # config
9 - name: install postfix config
10   template:
11     dest: /etc/postfix/{{ item }}
12     src: templates/{{ item }}
13   loop:
14   - main.cf
15   - master.cf
16   notify: postfix
17 - name: install postfix mysql config
18   when: postfix.vmail_mysql_password is defined
19   template:
20     dest: /etc/postfix/{{ item }}
21     src: templates/{{ item }}
22     mode: u=rw,g=r,o=
23     group: postfix
24   loop:
25   - mysql_vmail_aliases.cf
26   - mysql_vmail_senders.cf
27   - mysql_vmail_users.cf
28   notify: postfix
29 - name: create empty maps
30   when: postfix.virtual_mailbox_domains is defined
31   copy:
32     dest: /etc/postfix/{{ item }}
33     content: ""
34     force: no
35   loop:
36   - virtual_alias_map
37   - transport_map
38 - name: give postfix user access to opendkim
39   # we assume the user alredy exists (it is created above by installing postfix)
40   when: postfix.opendkim is defined
41   user:
42     name: postfix
43     groups: opendkim
44     append: yes
45   notify: postfix
46 # cronjobs
47 - name: delete old local-mail cronjob
48   file: path=/etc/cron.daily/local-mail state=absent
49 - name: install check-for-local-mail cronjob
50   copy:
51     dest: /etc/cron.daily/check-for-local-mail
52     src: files/check-for-local-mail
53     mode: u=rwx,g=rx,o=rx
54 - name: install mailman-check cronjob
55   when: postfix.mailman is defined and postfix.mailman
56   copy:
57     dest: /etc/cron.daily/mailman-check
58     src: files/mailman-check
59     mode: u=rwx,g=rx,o=rx
60 - name: remove mailman-check cronjob
61   when: not (postfix.mailman is defined and postfix.mailman)
62   file:
63     path: /etc/cron.daily/mailman-check
64     state: absent
65 # tools
66 - block:
67   - name: create newmail dir
68     file: path=/root/newmail state=directory
69   - name: install newmail script
70     copy:
71       dest: /root/newmail/newmail
72       src: files/newmail/newmail
73       mode: u=rwx,g=rx,o=rx
74   - name: install newmail templates
75     copy:
76       dest: /root/newmail/templates.py
77       src: files/newmail/templates.py
78   when: postfix.vmail_mysql_password is defined