summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--provider_base/services/mx.json1
-rw-r--r--puppet/modules/site_postfix/manifests/mx.pp3
2 files changed, 4 insertions, 0 deletions
diff --git a/provider_base/services/mx.json b/provider_base/services/mx.json
index 9d0ee532..d57c3168 100644
--- a/provider_base/services/mx.json
+++ b/provider_base/services/mx.json
@@ -6,6 +6,7 @@
"servers": "= haproxy_servers(nodes_like_me[:services => :couchdb], stunnel.couch_client)"
},
"couchdb_leap_mx_user": "= global.services[:couchdb].couch.users[:leap_mx]",
+ "mx_nodes": "= nodes['services' => 'mx']['environment' => '!local'].field('ip_address')",
"x509": {
"use": true,
"ca_cert": "= file :ca_cert, :missing => 'provider CA. Run `leap cert ca`'",
diff --git a/puppet/modules/site_postfix/manifests/mx.pp b/puppet/modules/site_postfix/manifests/mx.pp
index 441252f2..de89c26e 100644
--- a/puppet/modules/site_postfix/manifests/mx.pp
+++ b/puppet/modules/site_postfix/manifests/mx.pp
@@ -4,6 +4,7 @@ class site_postfix::mx {
$domain = $domain_hash['full_suffix']
$host_domain = $domain_hash['full']
$cert_name = hiera('name')
+ $mynetworks = join(hiera('mx_nodes'), ' ')
$root_mail_recipient = hiera ('contacts')
$postfix_smtp_listen = 'all'
@@ -14,6 +15,8 @@ class site_postfix::mx {
include site_config::x509::client_ca::key
postfix::config {
+ 'mynetworks':
+ value => "127.0.0.0/8 [::1]/128 [fe80::]/64 ${mynetworks}";
'mydestination':
value => "\$myorigin, localhost, localhost.\$mydomain, ${domain}";
'myhostname':