exim: build submission domain list dynamically
[mirror/dsa-puppet.git] / modules / exim / manifests / init.pp
index 92fdc18..9746763 100644 (file)
@@ -4,7 +4,7 @@
 # @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_packagesmaster this system handles packages.debian.org
 # @param is_packagesqamaster this system handles packages.qa.debian.org
 # @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)
@@ -19,8 +19,6 @@ class exim (
   Integer $smarthost_port = 587,
   Optional[Integer] $mail_port = undef,
 ) {
-  include exim::vdomain::setup
-
   if $use_smarthost {
     $heavy = false
 
@@ -81,12 +79,27 @@ class exim (
   file { '/etc/mailname':
     content => template('exim/mailname.erb'),
   }
+
+  concat { '/etc/exim4/virtualdomains': }
+  concat::fragment { 'virtualdomains_header':
+    target  => '/etc/exim4/virtualdomains',
+    content => template('exim/virtualdomains.header.erb'),
+    order   => '00',
+  }
+
   file { '/etc/exim4/locals':
     content => template('exim/locals.erb')
   }
-  file { '/etc/exim4/submission-domains':
-    content => template('exim/submission-domains.erb'),
+
+  concat { '/etc/exim4/submission-domains':
+    ensure_newline => true,
+    warn           => @(EOF),
+    ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
+    | EOF
+    target         => '/etc/exim4/submission-domains',
+    order          => '00',
   }
+
   file { '/etc/exim4/host_blacklist':
     source => 'puppet:///modules/exim/common/host_blacklist',
   }