summaryrefslogtreecommitdiffstats
path: root/roles/IMAP-proxy
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2014-06-25 02:37:48 +0200
committerGuilhem Moulin <guilhem@fripost.org>2015-06-07 02:51:48 +0200
commit2a2333cdfb016bb884887f46fbcbfdce6e064d74 (patch)
treee85d7c802436e3c5615ee8eef2ca9c68cd5eb895 /roles/IMAP-proxy
parente9e8ce2add2b7c020daa02228e506e7c02828c15 (diff)
Assume a DNS entry for each role.
E.g., ldap.fripost.org, ntp.fripost.org, etc. (Ideally the DNS zone would be provisioned by ansible, too.) It's a bit unclear how to index the subdomains (mx{1,2,3}, etc), though.
Diffstat (limited to 'roles/IMAP-proxy')
-rw-r--r--roles/IMAP-proxy/files/etc/dovecot/conf.d/20-imapc.conf (renamed from roles/IMAP-proxy/templates/etc/dovecot/conf.d/20-imapc.conf.j2)2
-rw-r--r--roles/IMAP-proxy/files/etc/dovecot/conf.d/auth-imap.conf.ext (renamed from roles/IMAP-proxy/templates/etc/dovecot/conf.d/auth-imap.conf.ext.j2)2
-rw-r--r--roles/IMAP-proxy/tasks/main.yml16
3 files changed, 5 insertions, 15 deletions
diff --git a/roles/IMAP-proxy/templates/etc/dovecot/conf.d/20-imapc.conf.j2 b/roles/IMAP-proxy/files/etc/dovecot/conf.d/20-imapc.conf
index a6b70c6..47785a4 100644
--- a/roles/IMAP-proxy/templates/etc/dovecot/conf.d/20-imapc.conf.j2
+++ b/roles/IMAP-proxy/files/etc/dovecot/conf.d/20-imapc.conf
@@ -1,18 +1,18 @@
# Smart IMAP proxying with imapc storage
#
# http://dovecot.org/pipermail/dovecot/2011-January/056975.html
# http://wiki2.dovecot.org/HowTo/ImapcProxy
# http://wiki2.dovecot.org/Migration/Dsync
-imapc_host = {{ IMAP }}
+imapc_host = imap.fripost.org
imapc_port = 143
imapc_user = %u
# Read multiple mails in parallel, improves performance
mail_prefetch_count = 20
# The list of valid features can be found there
# http://hg.dovecot.org/dovecot-2.1/file/f572fbafb445/src/lib-storage/index/imapc/imapc-settings.c
# (in the struct 'imapc_feature_list imapc_feature_list')
imapc_features = rfc822.size
diff --git a/roles/IMAP-proxy/templates/etc/dovecot/conf.d/auth-imap.conf.ext.j2 b/roles/IMAP-proxy/files/etc/dovecot/conf.d/auth-imap.conf.ext
index 5e2b28c..7478889 100644
--- a/roles/IMAP-proxy/templates/etc/dovecot/conf.d/auth-imap.conf.ext.j2
+++ b/roles/IMAP-proxy/files/etc/dovecot/conf.d/auth-imap.conf.ext
@@ -1,17 +1,17 @@
# Authentication via remote IMAP server. Included from auth.conf.
#
# <doc/wiki/PasswordDatabase.IMAP.txt>
passdb {
driver = imap
- args = host={{ IMAP }} port=143
+ args = host=imap.fripost.org port=143
default_fields = userdb_imapc_user=%u userdb_imapc_password=%w
}
# "prefetch" user database means that the passdb already provided the
# needed information and there's no need to do a separate userdb lookup.
# <doc/wiki/UserDatabase.Prefetch.txt>
userdb {
driver = prefetch
default_fields = home=/home/imapproxy/%d/%n
}
diff --git a/roles/IMAP-proxy/tasks/main.yml b/roles/IMAP-proxy/tasks/main.yml
index c630cfd..f76ee72 100644
--- a/roles/IMAP-proxy/tasks/main.yml
+++ b/roles/IMAP-proxy/tasks/main.yml
@@ -1,51 +1,41 @@
- name: Install Dovecot
apt: pkg={{ item }}
with_items:
- dovecot-core
- dovecot-imapd
- name: Create a user 'imapproxy'
user: name=imapproxy system=yes
home=/home/imapproxy
shell=/bin/false
password=!
state=present
- name: Create a home directory for user 'imapproxy'
file: path=/home/imapproxy
state=directory
owner=imapproxy group=imapproxy
mode=0700
-- name: Configure Dovecot (1)
+- name: Configure Dovecot
copy: src=etc/dovecot/conf.d/{{ item }}
dest=/etc/dovecot/conf.d/{{ item }}
owner=root group=root
mode=0644
- register: r1
+ register: r
with_items:
- 10-auth.conf
- 10-logging.conf
- 10-mail.conf
- 10-master.conf
- 15-mailboxes.conf
- notify:
- - Restart Dovecot
-
-- name: Configure Dovecot (2)
- template: src=etc/dovecot/conf.d/{{ item }}.j2
- dest=/etc/dovecot/conf.d/{{ item }}
- owner=root group=root
- mode=0644
- register: r2
- with_items:
- 20-imapc.conf
- auth-imap.conf.ext
notify:
- Restart Dovecot
- name: Start Dovecot
service: name=dovecot state=started
- when: not (r1.changed or r2.changed)
+ when: not r.changed
- meta: flush_handlers