96 lines
2.3 KiB
Python
96 lines
2.3 KiB
Python
# Postfix bundle creates metadata and directories which are also used
|
|
# by this bundle
|
|
repo.libs.tools.require_bundle(node, 'postfix')
|
|
|
|
directories = {
|
|
'/etc/dovecot/ssl': {},
|
|
}
|
|
|
|
files = {
|
|
'/etc/dovecot/dovecot.conf': {
|
|
'content_type': 'mako',
|
|
'context': {
|
|
'admin_email': node.metadata['dovecot']['admin_email'],
|
|
},
|
|
'needs': {
|
|
'pkg_apt:'
|
|
},
|
|
'triggers': {
|
|
'svc_systemd:dovecot:restart',
|
|
},
|
|
},
|
|
'/etc/dovecot/dovecot-sql.conf': {
|
|
'content_type': 'mako',
|
|
'context': node.metadata['dovecot']['database'],
|
|
'needs': {
|
|
'pkg_apt:'
|
|
},
|
|
'triggers': {
|
|
'svc_systemd:dovecot:restart',
|
|
},
|
|
},
|
|
'/etc/dovecot/conf.d/auth-system.conf.ext': {
|
|
'delete': True,
|
|
'needs': {
|
|
'pkg_apt:'
|
|
},
|
|
'triggers': {
|
|
'svc_systemd:dovecot:restart',
|
|
},
|
|
},
|
|
'/etc/dovecot/conf.d/10-auth.conf': {
|
|
'delete': True,
|
|
'needs': {
|
|
'pkg_apt:'
|
|
},
|
|
'triggers': {
|
|
'svc_systemd:dovecot:restart',
|
|
},
|
|
},
|
|
}
|
|
|
|
symlinks['/usr/lib/dovecot/decode2text.sh'] = {
|
|
'target': '/usr/share/doc/dovecot-core/examples/decode2text.sh',
|
|
'before': {
|
|
'svc_systemd:dovecot',
|
|
},
|
|
}
|
|
|
|
actions = {
|
|
'dovecot_generate_dhparam': {
|
|
'command': 'openssl dhparam -out /etc/dovecot/ssl/dhparam.pem 2048',
|
|
'unless': 'test -f /etc/dovecot/ssl/dhparam.pem',
|
|
'cascade_skip': False,
|
|
'needs': {
|
|
'directory:/etc/dovecot/ssl',
|
|
'pkg_apt:'
|
|
},
|
|
'triggers': {
|
|
'svc_systemd:dovecot:restart',
|
|
},
|
|
},
|
|
}
|
|
|
|
svc_systemd = {
|
|
'dovecot': {
|
|
'needs': {
|
|
'action:dovecot_generate_dhparam',
|
|
'file:/etc/dovecot/dovecot.conf',
|
|
'file:/etc/dovecot/dovecot-sql.conf',
|
|
},
|
|
},
|
|
}
|
|
|
|
if node.has_bundle('rspamd'):
|
|
files['/var/mail/vmail/sieve/global/learn-ham.sieve'] = {
|
|
'owner': 'nobody',
|
|
'group': 'nogroup',
|
|
}
|
|
files['/var/mail/vmail/sieve/global/learn-spam.sieve'] = {
|
|
'owner': 'nobody',
|
|
'group': 'nogroup',
|
|
}
|
|
files['/var/mail/vmail/sieve/global/spam-global.sieve'] = {
|
|
'owner': 'nobody',
|
|
'group': 'nogroup',
|
|
}
|