Add mail_port to hiera and the exim class. not yet used
[mirror/dsa-puppet.git] / modules / exim / manifests / init.pp
index fd41732..5eb4923 100644 (file)
@@ -1,13 +1,17 @@
 # our exim class
-# @param smarthost host to relay through (if unset)
+# @param use_smarthost use the smarthost
+# @param smarthost host to relay through (if set and use_smarthost)
 # @param is_bugsmx this system handles bugs.debian.org
 # @param is_mailrelay this system is a mailrelay, both in and out, for debian hosts
 # @param is_rtmaster this system handles rt.debian.org
 # @param is_packagesmaster this system handles packagesrt.debian.org
 # @param is_packagesqamaster this system handles packages.qa.debian.org
-# @param smarthost_port the port on which satellites send mail to the smarthost
+# @param mail_port override the default incoming mailport (only applicable for hosts behind an incoming relay)
+# @param smarthost_port the port on which satellites send mail to the smarthost (needs to be the same on both sides)
 class exim (
   Optional[String] $smarthost,
+  Optional[Integer] $mail_port,
+  Boolean $use_smarthost = true,
   Boolean $is_bugsmx = false,
   Boolean $is_mailrelay = false,
   Boolean $is_rtmaster = false,
@@ -18,10 +22,17 @@ class exim (
   include exim::vdomain::setup
   include debian_org::mail_incoming_port
 
-  if $smarthost {
+  if $use_smarthost {
     $heavy = false
+
+    if ! smarthost {
+      fail('No smarthost set but use_smarthost is true')
+    }
   } else {
     $heavy = true
+    if $mail_port {
+      fail('Cannot override mail_port in heavy/no-smarthost hosts')
+    }
   }
 
   munin::check { 'ps_exim4': script => 'ps_' }