Add SRS support
This commit is contained in:
parent
62777745f1
commit
d65295f798
|
@ -0,0 +1,61 @@
|
||||||
|
---
|
||||||
|
- name: Manage the POSTSRSD packages in EL systems
|
||||||
|
block:
|
||||||
|
- name: Install the COPR repo that publishes postsrsd
|
||||||
|
template:
|
||||||
|
src: copr-postsrsd.repo.j2
|
||||||
|
dest: /etc/yum.repos.d/copr-postsrsd.repo
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0644
|
||||||
|
|
||||||
|
- name: Install the POSTSRSD packages on EL
|
||||||
|
yum:
|
||||||
|
pkg: '{{ postfix_srs_pkg }}'
|
||||||
|
state: present
|
||||||
|
|
||||||
|
when: ansible_distribution_file_variety == "RedHat"
|
||||||
|
tags: ['postfix', 'postfix_postsrsd', 'postsrsd']
|
||||||
|
|
||||||
|
- name: Manage the POSTSRSD packages in DEB systems
|
||||||
|
block:
|
||||||
|
- name: Install the POSTSRSD packages on DEB
|
||||||
|
apt:
|
||||||
|
pkg: '{{ postfix_srs_pkg }}'
|
||||||
|
state: present
|
||||||
|
cache_valid_time: 1800
|
||||||
|
|
||||||
|
when: ansible_distribution_file_variety == "Debian"
|
||||||
|
tags: ['postfix', 'postfix_postsrsd', 'postsrsd']
|
||||||
|
|
||||||
|
- name: POSTSRSD configuration
|
||||||
|
block:
|
||||||
|
- name: Install the postsrsd secret
|
||||||
|
template:
|
||||||
|
src: postsrsd.secret.j2
|
||||||
|
dest: '{{ postfix_srs_conf_file }}'
|
||||||
|
mode: 0440
|
||||||
|
owner: '{{ postfix_srs_user }}'
|
||||||
|
group: 'root'
|
||||||
|
notify: restart postsrsd
|
||||||
|
|
||||||
|
- name: Install the postsrsd configuration file
|
||||||
|
template:
|
||||||
|
src: 'postsrsd.default.j2'
|
||||||
|
dest: '{{ postfix_srs_conf_file }}'
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0644
|
||||||
|
notify: restart postsrsd
|
||||||
|
|
||||||
|
tags: ['postfix', 'postfix_postsrsd', 'postsrsd', 'postfix_conf', 'postsrsd_conf']
|
||||||
|
|
||||||
|
- name: Manage the POSTSRSD service
|
||||||
|
block:
|
||||||
|
- name: Ensure that the postsrsd service is started and enabled
|
||||||
|
service:
|
||||||
|
name: postsrsd
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
tags: ['postfix', 'postfix_postsrsd', 'postsrsd']
|
|
@ -0,0 +1,10 @@
|
||||||
|
[copr:copr.fedorainfracloud.org:jered:postsrsd]
|
||||||
|
name=Copr repo for postsrsd owned by jered
|
||||||
|
baseurl=https://download.copr.fedorainfracloud.org/results/jered/postsrsd/epel-{{ ansible_distribution_major_version }}-$basearch/
|
||||||
|
type=rpm-md
|
||||||
|
skip_if_unavailable=True
|
||||||
|
gpgcheck=1
|
||||||
|
gpgkey=https://download.copr.fedorainfracloud.org/results/jered/postsrsd/pubkey.gpg
|
||||||
|
repo_gpgcheck=0
|
||||||
|
enabled=1
|
||||||
|
enabled_metadata=1
|
|
@ -0,0 +1,64 @@
|
||||||
|
# Default settings for PostSRSd
|
||||||
|
|
||||||
|
# Local domain name.
|
||||||
|
# Addresses are rewritten to originate from this domain. The default value
|
||||||
|
# is taken from `postconf -h mydomain` and probably okay.
|
||||||
|
#
|
||||||
|
SRS_DOMAIN={% if domain_name is defined %}{{ domain_name }}{% else %}{{ ansible_fqdn }}{% endif %}
|
||||||
|
|
||||||
|
{% if postfix_srs_list_exclude_domains %}
|
||||||
|
# Exclude additional domains.
|
||||||
|
# You may list domains which shall not be subjected to address rewriting.
|
||||||
|
# If a domain name starts with a dot, it matches all subdomains, but not
|
||||||
|
# the domain itself. Separate multiple domains by space or comma.
|
||||||
|
#
|
||||||
|
SRS_EXCLUDE_DOMAINS={% for dom in postfix_srs_exclude_domains %}"{{ dom }}"{% if not loop.last %}, {% endif %}{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# First separator character after SRS0 or SRS1.
|
||||||
|
# Can be one of: -+=
|
||||||
|
SRS_SEPARATOR==
|
||||||
|
|
||||||
|
# Secret key to sign rewritten addresses.
|
||||||
|
# When postsrsd is installed for the first time, a random secret is generated
|
||||||
|
# and stored in /etc/postsrsd.secret. For most installations, that is just fine.
|
||||||
|
#
|
||||||
|
SRS_SECRET=/etc/postsrsd.secret
|
||||||
|
|
||||||
|
# Length of hash to be used in rewritten addresses
|
||||||
|
SRS_HASHLENGTH=4
|
||||||
|
|
||||||
|
# Minimum length of hash to accept when validating return addresses.
|
||||||
|
# When increasing SRS_HASHLENGTH, set this to its previous value and
|
||||||
|
# wait for the duration of SRS return address validity (21 days) before
|
||||||
|
# increading this value as well.
|
||||||
|
SRS_HASHMIN=4
|
||||||
|
|
||||||
|
# Local ports for TCP list.
|
||||||
|
# These ports are used to bind the TCP list for postfix. If you change
|
||||||
|
# these, you have to modify the postfix settings accordingly. The ports
|
||||||
|
# are bound to the loopback interface, and should never be exposed on
|
||||||
|
# the internet.
|
||||||
|
#
|
||||||
|
SRS_FORWARD_PORT={{ postfix_srs_sender_port }}
|
||||||
|
SRS_REVERSE_PORT={{ postfix_srs_receiver_port }}
|
||||||
|
|
||||||
|
# Drop root privileges and run as another user after initialization.
|
||||||
|
# This is highly recommended as postsrsd handles untrusted input.
|
||||||
|
#
|
||||||
|
RUN_AS={{ postfix_srs_user }}
|
||||||
|
|
||||||
|
# Bind to this address
|
||||||
|
#
|
||||||
|
SRS_LISTEN_ADDR={{ postfix_srs_listen }}
|
||||||
|
|
||||||
|
# Jail daemon in chroot environment
|
||||||
|
#
|
||||||
|
CHROOT=/run/postsrsd
|
||||||
|
|
||||||
|
# Additional Options
|
||||||
|
# PostSRSd understands a few rarely needed extra options:
|
||||||
|
# -A always rewrite email addresses, even from SRS_DOMAIN
|
||||||
|
# -t<n> set connection timeout to <n> seconds (default: 1800)
|
||||||
|
#
|
||||||
|
#SRS_EXTRA_OPTIONS=-A
|
|
@ -0,0 +1,3 @@
|
||||||
|
{% for sec in postfix_srs_secrets %}
|
||||||
|
{{ sec }}
|
||||||
|
{% endfor %}
|
Loading…
Reference in New Issue