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 - name: restart opensmtpd
service: service:
name: opensmtpd name: "{{ opensmtpd_service }}"
state: restarted 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 - block:
package: - name: install opensmtpd
name: opensmtpd package:
state: installed name: opensmtpd
- name: set default mta to opensmtpd state: installed
alternatives: - name: set default mta to opensmtpd
name: mta alternatives:
path: /usr/sbin/sendmail.opensmtpd name: mta
path: /usr/sbin/sendmail.opensmtpd
when: opensmtpd_package is defined
- name: create smtpd.conf from template - name: create smtpd.conf from template
template: template:
src: smtpd.conf.j2 src: smtpd.conf.j2
dest: /etc/opensmtpd/smtpd.conf dest: "{{ opensmtpd_config }}"
mode: 0644 mode: 0644
owner: root owner: root
group: root group: "{{ ansible_wheel }}"
notify: restart opensmtpd notify: restart opensmtpd
- name: force server name to domain name - name: force server name to domain name
copy: copy:
content: "{{ mail_domain }}\n" content: "{{ mail_domain }}\n"
dest: /etc/opensmtpd/mailname dest: "{{ opensmtpd_confdir }}/mailname"
mode: 0644 mode: 0644
owner: root owner: root
group: root group: "{{ ansible_wheel }}"
notify: restart opensmtpd notify: restart opensmtpd
- name: enable opensmtpd - name: enable opensmtpd
service: service:
name: opensmtpd name: "{{ opensmtpd_service }}"
state: started state: started
enabled: true enabled: true

View file

@ -1,6 +1,17 @@
{% if ansible_lo0 %}
listen on lo0
{% else %}
listen on lo 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 # 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