Partially migrate the mailrelay role. ferm still needs the old style.
authorPeter Palfrader <peter@palfrader.org>
Sun, 15 Sep 2019 19:51:18 +0000 (21:51 +0200)
committerPeter Palfrader <peter@palfrader.org>
Sun, 15 Sep 2019 19:51:18 +0000 (21:51 +0200)
hieradata/common.yaml
hieradata/nodes/mailly.debian.org.yaml [new file with mode: 0644]
hieradata/nodes/muffat.debian.org.yaml [new file with mode: 0644]
modules/exim/manifests/init.pp
modules/exim/manifests/mx.pp
modules/exim/templates/manualroute.erb
modules/exim/templates/virtualdomains.erb
modules/roles/manifests/init.pp
modules/roles/manifests/mailrelay.pp

index 48c21b2..e72b759 100644 (file)
@@ -48,7 +48,7 @@ roles:
     # XXX - used by ferm templates/defs.conf.erb
     - fasolo.debian.org
   mailrelay:
-    # XXX - used by ferm templates/defs.conf.erb
+    # XXX - ONLY used by ferm templates/defs.conf.erb
     - mailly.debian.org
     - muffat.debian.org
   mirrormaster:
diff --git a/hieradata/nodes/mailly.debian.org.yaml b/hieradata/nodes/mailly.debian.org.yaml
new file mode 100644 (file)
index 0000000..806a802
--- /dev/null
@@ -0,0 +1,5 @@
+---
+classes:
+  - roles::mailrelay
+
+exim::is_mailrelay: true
diff --git a/hieradata/nodes/muffat.debian.org.yaml b/hieradata/nodes/muffat.debian.org.yaml
new file mode 100644 (file)
index 0000000..806a802
--- /dev/null
@@ -0,0 +1,5 @@
+---
+classes:
+  - roles::mailrelay
+
+exim::is_mailrelay: true
index 882a3c2..3596c31 100644 (file)
@@ -1,9 +1,9 @@
 class exim (
   Boolean $is_bugsmx = false,
+  Boolean $is_mailrelay = false,
   Boolean $is_rtmaster = false,
 ) {
 
-  $is_mailrelay = has_role('mailrelay')
   $is_packagesmaster = has_role('packagesmaster')
   $is_packagesqamaster = has_role('packagesqamaster')
 
index 34558a3..e60cfb7 100644 (file)
@@ -35,7 +35,7 @@ class exim::mx inherits exim {
                ensure => installed,
        }
 
-       if has_role('mailrelay') {
+       if $exim::is_mailrelay {
                concat::fragment { 'puppet-crontab--email-virtualdomains':
                        target => '/etc/cron.d/puppet-crontab',
                        content  => @(EOF)
index c7ce96c..8a07033 100644 (file)
@@ -12,7 +12,7 @@ mxmatches = [ @fqdn ]
 routes = []
 extraroutes = []
 
-if scope.function_has_role(['mailrelay'])
+if @is_mailrelay
   mxmatches << 'mailout.debian.org'
   mxmatches << 'INCOMING-MX'
   extraroutes = [ ]
index 59f4920..98086ff 100644 (file)
@@ -28,7 +28,7 @@ packages.qa.debian.org: user=qa group=qa directory=/srv/packages.qa.debian.org/m
 end
 vdoms
 %>
-<% if classes.include?("roles::mailrelay") -%>
+<% if @is_mailrelay -%>
 debian.org: user=nobody group=Debian directory=/etc/exim4/email-virtualdomains/debian.org
 admin.debian.org: user=mail_admin group=mail_admin directory=/etc/exim4/email-virtualdomains/admin.debian.org
 ftp-master.debian.org: user=nobody group=nogroup directory=/etc/exim4/email-virtualdomains/ftp-master.debian.org
index cac91ff..7d4addb 100644 (file)
@@ -49,10 +49,6 @@ class roles {
                include roles::syncproxy
        }
 
-       if has_role('mailrelay') {
-               include roles::mailrelay
-       }
-
        if has_role('dns_primary') {
                include roles::dns_primary
        }
index 388370a..f7c1a04 100644 (file)
@@ -7,17 +7,17 @@
 #   include roles::mailrelay
 #
 class roles::mailrelay {
-       include roles::pubsub::parameters
+  include roles::pubsub::parameters
 
-       $rabbit_password = $roles::pubsub::parameters::rabbit_password
+  $rabbit_password = $roles::pubsub::parameters::rabbit_password
 
-       roles::pubsub::config { 'emailvdomains':
-               key      => 'dsa-emailvdomains-receive',
-               exchange => dsa,
-               queue    => "email-${::fqdn}",
-               topic    => 'dsa.email.update',
-               vhost    => dsa,
-               username => $::fqdn,
-               password => $rabbit_password
-       }
+  roles::pubsub::config { 'emailvdomains':
+    key      => 'dsa-emailvdomains-receive',
+    exchange => dsa,
+    queue    => "email-${::fqdn}",
+    topic    => 'dsa.email.update',
+    vhost    => dsa,
+    username => $::fqdn,
+    password => $rabbit_password
+  }
 }