Merge ~hloeung/smtp-relay-charm:mx into smtp-relay-charm:master

Proposed by Haw Loeung
Status: Merged
Approved by: Haw Loeung
Approved revision: 873dbd4b353647d4d5d2e76f3f564f3395e524b4
Merged at revision: ed9800757df5c1a5924f6b59c91c5f9d70a65852
Proposed branch: ~hloeung/smtp-relay-charm:mx
Merge into: smtp-relay-charm:master
Diff against target: 83 lines (+16/-0)
5 files modified
config.yaml (+8/-0)
reactive/smtp_relay.py (+2/-0)
templates/postfix_main_cf.tmpl (+3/-0)
tests/unit/files/postfix_main_transport_maps_with_virtual_alias_maps.cf (+1/-0)
tests/unit/test_smtp_relay.py (+2/-0)
Reviewer Review Type Date Requested Status
Paul Collins lgtm Approve
Canonical IS Reviewers Pending
Review via email: mp+416435@code.launchpad.net

Commit message

Allow specifying virtual alias domains for running as MX

To post a comment you must log in.
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

This merge proposal is being monitored by mergebot. Change the status to Approved to merge.

Revision history for this message
Paul Collins (pjdc) :
review: Approve (lgtm)
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Change successfully merged at revision ed9800757df5c1a5924f6b59c91c5f9d70a65852

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/config.yaml b/config.yaml
2index b3d6470..6014e5c 100644
3--- a/config.yaml
4+++ b/config.yaml
5@@ -168,6 +168,14 @@ options:
6 to indicate it is managed outside of juju configs).
7
8 http://www.postfix.org/postconf.5.html#transport_maps
9+ virtual_alias_domains:
10+ type: string
11+ default: ''
12+ description: |
13+ Optional list of domains for which all addresses are aliased to
14+ addresses in other local or remote domains.
15+
16+ http://www.postfix.org/postconf.5.html#virtual_alias_domains
17 virtual_alias_maps:
18 type: string
19 default: ''
20diff --git a/reactive/smtp_relay.py b/reactive/smtp_relay.py
21index cddb1f3..ed69309 100644
22--- a/reactive/smtp_relay.py
23+++ b/reactive/smtp_relay.py
24@@ -123,6 +123,7 @@ def configure_smtp_auth(dovecot_config='/etc/dovecot/dovecot.conf', dovecot_user
25 'config.changed.tls_protocols',
26 'config.changed.tls_security_level',
27 'config.changed.transport_maps',
28+ 'config.changed.virtual_alias_domains',
29 'config.changed.virtual_alias_maps',
30 )
31 def config_changed():
32@@ -225,6 +226,7 @@ def configure_smtp_relay(postfix_conf_dir='/etc/postfix', tls_dh_params='/etc/ss
33 'tls_protocols': config['tls_protocols'],
34 'tls_security_level': config['tls_security_level'],
35 'transport_maps': bool(config['transport_maps']),
36+ 'virtual_alias_domains': config['virtual_alias_domains'],
37 'virtual_alias_maps': bool(config['virtual_alias_maps']),
38 }
39 base = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
40diff --git a/templates/postfix_main_cf.tmpl b/templates/postfix_main_cf.tmpl
41index c92ee6f..c5ddfee 100644
42--- a/templates/postfix_main_cf.tmpl
43+++ b/templates/postfix_main_cf.tmpl
44@@ -106,6 +106,9 @@ header_checks = regexp:/etc/postfix/header_checks
45 {%- if transport_maps %}
46 transport_maps = hash:/etc/postfix/transport
47 {% endif %}
48+{%- if virtual_alias_domains %}
49+virtual_alias_domains = {{virtual_alias_domains}}
50+{%- endif -%}
51 {%- if virtual_alias_maps %}
52 virtual_alias_maps = hash:/etc/postfix/virtual_alias
53 {% endif %}
54diff --git a/tests/unit/files/postfix_main_transport_maps_with_virtual_alias_maps.cf b/tests/unit/files/postfix_main_transport_maps_with_virtual_alias_maps.cf
55index 6049e7c..3df14ec 100644
56--- a/tests/unit/files/postfix_main_transport_maps_with_virtual_alias_maps.cf
57+++ b/tests/unit/files/postfix_main_transport_maps_with_virtual_alias_maps.cf
58@@ -58,4 +58,5 @@ smtpd_sender_restrictions = reject_unknown_sender_domain, check_sender_access ha
59
60 transport_maps = hash:/etc/postfix/transport
61
62+virtual_alias_domains = mydomain.local mydomain2.local
63 virtual_alias_maps = hash:/etc/postfix/virtual_alias
64diff --git a/tests/unit/test_smtp_relay.py b/tests/unit/test_smtp_relay.py
65index f9cdd61..5177d44 100644
66--- a/tests/unit/test_smtp_relay.py
67+++ b/tests/unit/test_smtp_relay.py
68@@ -78,6 +78,7 @@ class TestCharm(unittest.TestCase):
69 'tls_protocols': '!SSLv2 !SSLv3',
70 'tls_security_level': 'may',
71 'transport_maps': '',
72+ 'virtual_alias_domains': '',
73 'virtual_alias_maps': '',
74 }
75
76@@ -963,6 +964,7 @@ someplace.local encrypt
77 get_cn.return_value = ''
78 get_milters.return_value = ''
79 self.mock_config.return_value['transport_maps'] = '.mydomain.local smtp:[smtp.mydomain.local]'
80+ self.mock_config.return_value['virtual_alias_domains'] = 'mydomain.local mydomain2.local'
81 self.mock_config.return_value['virtual_alias_maps'] = 'abuse@mydomain.local sysadmin@mydomain.local'
82 smtp_relay.configure_smtp_relay(self.tmpdir)
83 with open(

Subscribers

People subscribed via source and target branches