# Postfix bundle creates metadata and directories which are also used # by this bundle repo.libs.tools.require_bundle(node, 'postfix') 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', }, }, } 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': { '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', }