|
|
6e96c8 |
include:
|
|
|
6e96c8 |
- profile.cron
|
|
|
5aef08 |
- zypper.packages
|
|
|
6e96c8 |
|
|
|
9c01e4 |
/etc/postfix/master.cf:
|
|
|
9c01e4 |
file.managed:
|
|
|
9c01e4 |
- source: salt://profile/mailserver/files/master.cf
|
|
|
9c01e4 |
- user: root
|
|
|
9c01e4 |
- group: root
|
|
|
faabbf |
- mode: '0644'
|
|
|
9c01e4 |
- template: jinja
|
|
|
9c01e4 |
- replace: True
|
|
|
9c01e4 |
- require:
|
|
|
5aef08 |
- pkg: zypper_packages
|
|
|
9c01e4 |
- watch_in:
|
|
|
9c01e4 |
- service: postfix
|
|
|
9c01e4 |
|
|
|
9c01e4 |
{% for file in [
|
|
|
9c01e4 |
'handling_special_recipients',
|
|
|
e13367 |
'manually-blocked-users',
|
|
|
9c01e4 |
'no-internal-tls',
|
|
|
9c01e4 |
'ratelimit',
|
|
|
9c01e4 |
'transport',
|
|
|
9c01e4 |
'virtual-domains',
|
|
|
9c01e4 |
'virtual-opensuse-aliases',
|
|
|
9c01e4 |
'virtual-opensuse-mailinglists'
|
|
|
9c01e4 |
] %}
|
|
|
faabbf |
/etc/postfix/{{ file }}:
|
|
|
9c01e4 |
file.managed:
|
|
|
faabbf |
- source: salt://profile/mailserver/files/{{ file }}
|
|
|
9c01e4 |
- user: root
|
|
|
9c01e4 |
- group: root
|
|
|
faabbf |
- mode: '0644'
|
|
|
9c01e4 |
- replace: True
|
|
|
e1cb78 |
- template: jinja
|
|
|
9c01e4 |
cmd.run:
|
|
|
faabbf |
- name: postmap /etc/postfix/{{ file }}
|
|
|
9c01e4 |
- runas: root
|
|
|
9c01e4 |
- onchanges:
|
|
|
faabbf |
- file: /etc/postfix/{{ file }}
|
|
|
9c01e4 |
- watch_in:
|
|
|
9c01e4 |
- service: postfix
|
|
|
9c01e4 |
- require:
|
|
|
5aef08 |
- pkg: zypper_packages
|
|
|
9c01e4 |
{% endfor %}
|
|
|
9c01e4 |
|
|
|
9c01e4 |
/etc/sysconfig/postgrey:
|
|
|
9c01e4 |
file.line:
|
|
|
9c01e4 |
- match: ^POSTGREY_EXTRA_OPTIONS=
|
|
|
9c01e4 |
- content: POSTGREY_EXTRA_OPTIONS="--auto-whitelist-clients --greylist-text='Service temporarily unavailable, please retry later'"
|
|
|
9c01e4 |
- mode: replace
|
|
|
9c01e4 |
|
|
|
9c01e4 |
/etc/postfix/header_checks:
|
|
|
9c01e4 |
file.managed:
|
|
|
9c01e4 |
- source: salt://profile/mailserver/files/header_checks
|
|
|
9c01e4 |
- user: root
|
|
|
9c01e4 |
- group: root
|
|
|
faabbf |
- mode: '0644'
|
|
|
faabbf |
- replace: True
|
|
|
c54df7 |
- template: jinja
|
|
|
9c01e4 |
|
|
|
9c01e4 |
{% for file in [
|
|
|
9c01e4 |
'bounce-old-mlmmj.pcre',
|
|
|
9c01e4 |
'greylist_helos.pcre',
|
|
|
9c01e4 |
'suspicious_client.pcre',
|
|
|
9c01e4 |
'virtual-opensuse-mm3-bounces.pcre'
|
|
|
9c01e4 |
] %}
|
|
|
faabbf |
/etc/postfix/{{ file }}:
|
|
|
9c01e4 |
file.managed:
|
|
|
faabbf |
- source: salt://profile/mailserver/files/{{ file }}
|
|
|
9c01e4 |
- user: root
|
|
|
9c01e4 |
- group: root
|
|
|
faabbf |
- mode: '0644'
|
|
|
9c01e4 |
- replace: True
|
|
|
e1cb78 |
- template: jinja
|
|
|
9c01e4 |
- require:
|
|
|
5aef08 |
- pkg: zypper_packages
|
|
|
9c01e4 |
- watch_in:
|
|
|
9c01e4 |
- service: postfix
|
|
|
9c01e4 |
{% endfor %}
|
|
|
9c01e4 |
|
|
|
9c01e4 |
/etc/clamd.conf:
|
|
|
9c01e4 |
file.managed:
|
|
|
9c01e4 |
- source: salt://profile/mailserver/files/clamd.conf
|
|
|
9c01e4 |
- user: root
|
|
|
9c01e4 |
- group: root
|
|
|
faabbf |
- mode: '0644'
|
|
|
9c01e4 |
- replace: True
|
|
|
e1cb78 |
- template: jinja
|
|
|
9c01e4 |
- require:
|
|
|
5aef08 |
- pkg: zypper_packages
|
|
|
9c01e4 |
- watch_in:
|
|
|
9c01e4 |
- service: clamd
|
|
|
9c01e4 |
|
|
|
9c01e4 |
/etc/freshclam.conf:
|
|
|
9c01e4 |
file.managed:
|
|
|
9c01e4 |
- source: salt://profile/mailserver/files/freshclam.conf
|
|
|
9c01e4 |
- user: root
|
|
|
9c01e4 |
- group: root
|
|
|
faabbf |
- mode: '0644'
|
|
|
9c01e4 |
- replace: True
|
|
|
e1cb78 |
- template: jinja
|
|
|
9c01e4 |
- require:
|
|
|
5aef08 |
- pkg: zypper_packages
|
|
|
9c01e4 |
- watch_in:
|
|
|
9c01e4 |
- service: freshclam
|
|
|
9c01e4 |
|
|
|
9c01e4 |
/etc/postgrey/whitelist_clients.local:
|
|
|
9c01e4 |
file.managed:
|
|
|
9c01e4 |
- source: salt://profile/mailserver/files/whitelist_clients.local
|
|
|
9c01e4 |
- user: root
|
|
|
9c01e4 |
- group: root
|
|
|
faabbf |
- mode: '0644'
|
|
|
9c01e4 |
- replace: True
|
|
|
c54df7 |
- template: jinja
|
|
|
9c01e4 |
- require:
|
|
|
5aef08 |
- pkg: zypper_packages
|
|
|
9c01e4 |
- watch_in:
|
|
|
9c01e4 |
- service: postgrey
|
|
|
9c01e4 |
|
|
|
faabbf |
{%- for file, dir in [
|
|
|
9c01e4 |
('spampd', 'sysconfig'),
|
|
|
9c01e4 |
('local.cf', 'mail/spamassassin'),
|
|
|
9c01e4 |
('opensuse.cf', 'mail/spamassassin'),
|
|
|
9c01e4 |
('opensuse-rules.cf', 'mail/spamassassin'),
|
|
|
faabbf |
] %}
|
|
|
faabbf |
/etc/{{ dir }}/{{ file }}:
|
|
|
9c01e4 |
file.managed:
|
|
|
faabbf |
- source: salt://profile/mailserver/files/spamassassin/{{ file }}
|
|
|
9c01e4 |
- user: root
|
|
|
9c01e4 |
- group: root
|
|
|
faabbf |
- mode: '0644'
|
|
|
9c01e4 |
- replace: True
|
|
|
e1cb78 |
- template: jinja
|
|
|
9c01e4 |
- require:
|
|
|
5aef08 |
- pkg: zypper_packages
|
|
|
9c01e4 |
- watch_in:
|
|
|
9c01e4 |
- service: spampd
|
|
|
faabbf |
{%- endfor %}
|
|
|
9c01e4 |
|
|
|
ee0f8b |
/etc/default/postsrsd:
|
|
|
ee0f8b |
file.line:
|
|
|
ee0f8b |
- match: ^SRS_LISTEN_ADDR=
|
|
|
79d4b0 |
- content: SRS_LISTEN_ADDR=ipv6-localhost
|
|
|
ee0f8b |
- mode: replace
|
|
|
74e530 |
- watch_in:
|
|
|
74e530 |
- service: service postsrsd
|
|
|
ee0f8b |
|
|
|
9c01e4 |
# MAYBE: remove override for clamd, seems to be standard now?
|
|
|
faabbf |
{%- for svc in ['clamd', 'spampd'] %}
|
|
|
faabbf |
/etc/systemd/system/{{ svc }}.service.d/override.conf:
|
|
|
9c01e4 |
file.managed:
|
|
|
9c01e4 |
- user: root
|
|
|
9c01e4 |
- group: root
|
|
|
faabbf |
- mode: '0644'
|
|
|
9c01e4 |
- replace: True
|
|
|
9c01e4 |
- makedirs: True
|
|
|
9c01e4 |
- contents:
|
|
|
e1cb78 |
- {{ pillar['managed_by_salt'] | yaml_encode }}
|
|
|
9c01e4 |
- '[Service]'
|
|
|
9c01e4 |
- 'RestartSec=10'
|
|
|
9c01e4 |
- 'Restart=always'
|
|
|
faabbf |
{%- endfor %}
|
|
|
9c01e4 |
|
|
|
faabbf |
{%- for svc in ['clamd', 'freshclam', 'spampd', 'postsrsd', 'postgrey'] %}
|
|
|
faabbf |
service {{ svc }}:
|
|
|
9c01e4 |
service.running:
|
|
|
faabbf |
- name: {{ svc }}
|
|
|
9c01e4 |
- enable: True
|
|
|
faabbf |
{%- endfor %}
|
|
|
9c01e4 |
|
|
|
faabbf |
{%- for file, dir in [
|
|
|
9c01e4 |
('dhprimes','/etc/cron.d'),
|
|
|
9c01e4 |
('regen_dh_primes','/usr/local/bin'),
|
|
|
9c01e4 |
('member_aliases','/etc/cron.d'),
|
|
|
9c01e4 |
('get_member_aliases', '/usr/local/bin')
|
|
|
faabbf |
] %}
|
|
|
faabbf |
{{ dir }}/{{ file }}:
|
|
|
9c01e4 |
file.managed:
|
|
|
faabbf |
- source: salt://profile/mailserver/files/cron/{{ file }}
|
|
|
9c01e4 |
- user: root
|
|
|
9c01e4 |
- group: root
|
|
|
9cbb82 |
- mode: {{ '0755' if dir.endswith('/bin') else '0644' }}
|
|
|
9c01e4 |
- replace: True
|
|
|
d91308 |
- template: jinja
|
|
|
9c01e4 |
{% endfor %}
|
|
|
9c01e4 |
|
|
|
d91308 |
/root/.my.cnf:
|
|
|
d91308 |
file.managed:
|
|
|
d91308 |
- contents:
|
|
|
70fcd0 |
- {{ pillar['managed_by_salt'] | yaml_encode }}
|
|
|
d91308 |
- '[client]'
|
|
|
70fcd0 |
- 'host=mysql.infra.opensuse.org'
|
|
|
70fcd0 |
- 'port=3307'
|
|
|
d91308 |
- 'user={{ pillar.profile.mailserver.members.user }}'
|
|
|
d91308 |
- 'password={{ salt['pillar.get']('profile:mailserver:members:password', '') }}'
|
|
|
d91308 |
- user: root
|
|
|
d91308 |
- group: root
|
|
|
faabbf |
- mode: '0600'
|
|
|
d91308 |
|
|
|
d91308 |
# make sure the user database exists and is ready to use
|
|
|
d91308 |
/etc/postfix/virtual-opensuse-users:
|
|
|
d91308 |
cmd.run:
|
|
|
d91308 |
- name: /usr/local/bin/get_member_aliases
|
|
|
d91308 |
- runas: root
|
|
|
d91308 |
- unless:
|
|
|
d91308 |
- test -f /etc/postfix/virtual-opensuse-users
|
|
|
d91308 |
- require:
|
|
|
5aef08 |
- pkg: zypper_packages
|
|
|
d91308 |
- file: /root/.my.cnf
|