add openbsd support to opensmtpd role

This commit is contained in:
Timo Makinen 2019-05-22 22:58:25 +03:00
parent 745b4a5a77
commit e022e3f991
5 changed files with 45 additions and 16 deletions

View file

@ -1,5 +1,5 @@
---
- name: restart opensmtpd
service:
name: opensmtpd
name: "{{ opensmtpd_service }}"
state: restarted

View file

@ -1,34 +1,41 @@
---
- name: include OS-specific variables
include_vars: "{{ item }}"
with_first_found:
- "{{ ansible_os_family }}.yml"
- default.yml
- name: install opensmtpd
package:
name: opensmtpd
state: installed
- name: set default mta to opensmtpd
alternatives:
name: mta
path: /usr/sbin/sendmail.opensmtpd
- block:
- name: install opensmtpd
package:
name: opensmtpd
state: installed
- name: set default mta to opensmtpd
alternatives:
name: mta
path: /usr/sbin/sendmail.opensmtpd
when: opensmtpd_package is defined
- name: create smtpd.conf from template
template:
src: smtpd.conf.j2
dest: /etc/opensmtpd/smtpd.conf
dest: "{{ opensmtpd_config }}"
mode: 0644
owner: root
group: root
group: "{{ ansible_wheel }}"
notify: restart opensmtpd
- name: force server name to domain name
copy:
content: "{{ mail_domain }}\n"
dest: /etc/opensmtpd/mailname
dest: "{{ opensmtpd_confdir }}/mailname"
mode: 0644
owner: root
group: root
group: "{{ ansible_wheel }}"
notify: restart opensmtpd
- name: enable opensmtpd
service:
name: opensmtpd
name: "{{ opensmtpd_service }}"
state: started
enabled: true

View file

@ -1,6 +1,17 @@
{% if ansible_lo0 %}
listen on lo0
{% else %}
listen on lo
{% endif %}
table aliases file:/etc/aliases
table aliases file:{{ opensmtpd_aliases }}
# use obsolete smtps as it goes through firewalls better than 25
accept from local for any relay via smtps://{{ mail_server }} as "@{{ mail_domain }}"
{% if ansible_os_family in ["OpenBSD"] %}
action "local" mbox alias <aliases>
action "relay" relay host smtps://{{ mail_server }} mail-from "@{{ mail_domain }}"
match for local action "local"
match for any action "relay"
{% else %}
accept from local for any relay via smtps://mail.foo.sh as "@foo.sh"
{% endif %}

View file

@ -0,0 +1,5 @@
---
opensmtpd_confdir: /etc/mail
opensmtpd_config: "{{ opensmtpd_confdir }}/smtpd.conf"
opensmtpd_service: smtpd
opensmtpd_aliases: /etc/mail/aliases

View file

@ -0,0 +1,6 @@
---
opensmtpd_confdir: /etc/opensmtpd
opensmtpd_config: "{{ opensmtpd_confdir }}/opensmtpd.conf"
opensmtpd_package: opensmtpd
opensmtpd_service: opensmtpd
opensmtpd_aliases: /etc/aliases