summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--provider_base/common.json6
-rw-r--r--provider_base/services/mx.json3
-rw-r--r--puppet/modules/site_config/manifests/default.pp4
-rw-r--r--puppet/modules/site_postfix/manifests/mx.pp5
-rw-r--r--puppet/modules/site_postfix/manifests/mx/checks.pp (renamed from puppet/modules/site_postfix/manifests/checks.pp)0
-rw-r--r--puppet/modules/site_postfix/manifests/mx/reserved_aliases.pp4
-rw-r--r--puppet/modules/site_postfix/manifests/satellite.pp11
7 files changed, 24 insertions, 9 deletions
diff --git a/provider_base/common.json b/provider_base/common.json
index 2313bd8b..5be0dd70 100644
--- a/provider_base/common.json
+++ b/provider_base/common.json
@@ -3,6 +3,7 @@
"environment": null,
"services": [],
"tags": [],
+ "contacts": "= global.provider.contacts.default",
"domain": {
"full_suffix": "= global.provider.domain",
"internal_suffix": "= global.provider.domain_internal",
@@ -35,5 +36,8 @@
},
"name": "common",
"location": null,
- "enabled": true
+ "enabled": true,
+ "mail": {
+ "smarthost": "= nodes_like_me[:services => :mx].exclude(self).field('domain.full')"
+ }
}
diff --git a/provider_base/services/mx.json b/provider_base/services/mx.json
index f999dd23..7b0aa57b 100644
--- a/provider_base/services/mx.json
+++ b/provider_base/services/mx.json
@@ -1,7 +1,4 @@
{
- "mx": {
- "contact": "= global.provider.contacts.default"
- },
"stunnel": {
"couch_client": "= stunnel_client(nodes_like_me[:services => :couchdb], global.services[:couchdb].couch.port)"
},
diff --git a/puppet/modules/site_config/manifests/default.pp b/puppet/modules/site_config/manifests/default.pp
index d3bb241f..a645cb1a 100644
--- a/puppet/modules/site_config/manifests/default.pp
+++ b/puppet/modules/site_config/manifests/default.pp
@@ -71,4 +71,8 @@ class site_config::default {
include site_squid_deb_proxy::client
}
+ if $::services !~ /\bmx\b/ {
+ include site_postfix::satellite
+ }
+
}
diff --git a/puppet/modules/site_postfix/manifests/mx.pp b/puppet/modules/site_postfix/manifests/mx.pp
index a043c277..474ed03d 100644
--- a/puppet/modules/site_postfix/manifests/mx.pp
+++ b/puppet/modules/site_postfix/manifests/mx.pp
@@ -3,10 +3,9 @@ class site_postfix::mx {
$domain_hash = hiera ('domain')
$domain = $domain_hash['full_suffix']
$host_domain = $domain_hash['full']
- $mx_hash = hiera('mx')
$cert_name = hiera('name')
- $root_mail_recipient = $mx_hash['contact']
+ $root_mail_recipient = hiera ('contacts')
$postfix_smtp_listen = 'all'
include site_config::x509::cert
@@ -32,7 +31,7 @@ class site_postfix::mx {
}
include site_postfix::mx::smtpd_checks
- include site_postfix::checks
+ include site_postfix::mx::checks
include site_postfix::mx::tls
include site_postfix::mx::reserved_aliases
diff --git a/puppet/modules/site_postfix/manifests/checks.pp b/puppet/modules/site_postfix/manifests/mx/checks.pp
index 31399d32..31399d32 100644
--- a/puppet/modules/site_postfix/manifests/checks.pp
+++ b/puppet/modules/site_postfix/manifests/mx/checks.pp
diff --git a/puppet/modules/site_postfix/manifests/mx/reserved_aliases.pp b/puppet/modules/site_postfix/manifests/mx/reserved_aliases.pp
index 6df53355..aea66f78 100644
--- a/puppet/modules/site_postfix/manifests/mx/reserved_aliases.pp
+++ b/puppet/modules/site_postfix/manifests/mx/reserved_aliases.pp
@@ -1,11 +1,11 @@
-class site_postfix::reserved_aliases {
+class site_postfix::mx::reserved_aliases {
postfix::mailalias {
[ 'postmaster', 'hostmaster', 'domainadmin', 'certmaster', 'ssladmin',
'arin-admin', 'administrator', 'webmaster', 'www-data', 'www',
'nobody', 'sys', 'postgresql', 'mysql', 'bin', 'cron', 'lp', 'games',
'maildrop', 'abuse', 'noc', 'security', 'usenet', 'news', 'uucp',
- 'ftp':
+ 'ftp' ]:
ensure => present,
recipient => 'root'
}
diff --git a/puppet/modules/site_postfix/manifests/satellite.pp b/puppet/modules/site_postfix/manifests/satellite.pp
new file mode 100644
index 00000000..de20b667
--- /dev/null
+++ b/puppet/modules/site_postfix/manifests/satellite.pp
@@ -0,0 +1,11 @@
+class site_postfix::satellite {
+
+ $root_mail_recipient = hiera ('contacts')
+ $mail = hiera ('mail')
+ $relayhost = $mail['smarthost']
+
+ class { '::postfix::satellite':
+ relayhost => $relayhost,
+ root_mail_recipient => $root_mail_recipient
+ }
+}