| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- include:
- - firewall.public.pop3s
- - firewall.public.imaps
- - systemd.helpers
- vmail:
- group.present:
- - system: False
- user.present:
- - system: False
- - gid: vmail
- - home: /data/vmail
- - createhome: False
- - require:
- - group: vmail
- /data/vmail:
- file.directory:
- - user: vmail
- - group: vmail
- - require:
- - user: vmail
- - group: vmail
- dovecot:
- pkg.installed:
- - pkgs:
- - dovecot-core
- - dovecot-imapd
- - dovecot-lmtpd
- - dovecot-mysql
- - dovecot-pop3d
- - require:
- - user: vmail
- - group: vmail
- - file: /data/vmail
- service.running:
- - require:
- - file: /etc/systemd/system/dovecot.socket
- - watch:
- - pkg: dovecot
- # Stop systemd from listening on the dovecot ports.
- /etc/systemd/system/dovecot.socket:
- file.symlink:
- - target: /dev/null
- - require:
- - pkg: dovecot
- - onchanges_in:
- - module: reload_systemd
- {% for file in [
- 'dovecot.conf',
- 'conf.d/10-auth.conf',
- 'conf.d/10-mail.conf',
- 'conf.d/10-master.conf',
- 'conf.d/10-ssl.conf',
- 'conf.d/auth-sql.conf.ext',
- ] %}
- /etc/dovecot/{{ file }}:
- file.managed:
- - source: salt://vmail/files/{{ grains['osfinger'] }}/dovecot/{{ file }}
- - template: jinja
- - require:
- - pkg: dovecot
- - watch_in:
- - service: dovecot
- {% endfor %}
- /etc/dovecot/dovecot-sql.conf.ext:
- file.managed:
- - source: salt://vmail/files/{{ grains['osfinger'] }}/dovecot/dovecot-sql.conf.ext
- - mode: 640
- - group: dovecot
- - template: jinja
- - context:
- db_host: {{ pillar['vmail']['db_host'] }}
- db_name: {{ pillar['vmail']['db_name'] }}
- db_user: {{ pillar['vmail']['db_user'] }}
- db_password: {{ pillar['vmail']['db_password'] }}
- - require:
- - pkg: dovecot
- - watch_in:
- - service: dovecot
|