Allow access to dak@bmdb1 from ullmann
[mirror/dsa-puppet.git] / modules / ferm / manifests / per_host.pp
index e2c0ae8..307ef87 100644 (file)
@@ -14,7 +14,7 @@ class ferm::per_host {
                                rule            => '&SERVICE_RANGE(tcp, 3493, ( 82.195.75.64/26 192.168.43.0/24 ))'
                        }
                }
-               lotti,lully,loghost-grnet-01: {
+               lotti,loghost-grnet-01,loghost-osuosl-01: {
                        @ferm::rule { 'dsa-syslog':
                                description     => 'Allow syslog access',
                                rule            => '&SERVICE_RANGE(tcp, 5140, $HOST_DEBIAN_V4)'
@@ -60,29 +60,9 @@ class ferm::per_host {
                                rule            => '&SERVICE(tcp, 636)'
                        }
                }
-               sonntag: {
-                       @ferm::rule { 'dsa-bugs-search':
-                               description  => 'port 1978 for bugs-search from bug web frontends',
-                               rule         => '&SERVICE_RANGE(tcp, 1978, ( 140.211.166.26 209.87.16.39 ))'
-                       }
-               }
                default: {}
        }
 
-       # redirect snapshot into varnish
-       case $::hostname {
-               sibelius: {
-                       @ferm::rule { 'dsa-snapshot-varnish':
-                               rule            => '&SERVICE(tcp, 6081)',
-                       }
-                       @ferm::rule { 'dsa-nat-snapshot-varnish':
-                               table           => 'nat',
-                               chain           => 'PREROUTING',
-                               rule            => 'proto tcp daddr 193.62.202.30 dport 80 REDIRECT to-ports 6081',
-                       }
-               }
-               default: {}
-       }
        case $::hostname {
                bm-bl1,bm-bl2: {
                        @ferm::rule { 'dsa-vrrp':
@@ -128,105 +108,106 @@ class ferm::per_host {
                ullmann: {
                        @ferm::rule { 'dsa-postgres-udd':
                                description     => 'Allow postgress access',
-                               # quantz, moszumanska, master, coccia
-                               rule            => '&SERVICE_RANGE(tcp, 5452, ( 5.153.231.28/32 5.153.231.21/32 82.195.75.110/32 5.153.231.11/32 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-udd6':
-                               domain          => '(ip6)',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5452, ( 2001:41c8:1000:21::21:28/128 2001:41b8:202:deb:216:36ff:fe40:4001/128 2001:41c8:1000:21::21:11/32 2001:41c8:1000:21::21:21/128 ))'
+                               domain          => '(ip ip6)',
+                               # quantz, master, coccia
+                               rule            => @("EOF")
+                                       &SERVICE_RANGE(tcp, 5452, (
+                                               ${ join(getfromhash($site::allnodeinfo, 'quantz.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'master.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'coccia.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'respighi.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'wuiet.debian.org', 'ipHostNumber'), " ") }
+                                       ))
+                                       | EOF
                        }
                }
                fasolo: {
-                       @ferm::rule { 'dsa-postgres-fasolo':
+                       @ferm::rule { 'dsa-postgres':
                                description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5433, ( 5.153.231.10/32 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-fasolo6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5433, ( 2001:41c8:1000:21::21:10/128 ))'
-                       }
-
-                       @ferm::rule { 'dsa-postgres-backup':
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5433, ( $HOST_PGBACKUPHOST_V4 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-backup6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5433, ( $HOST_PGBACKUPHOST_V6 ))'
+                               domain          => '(ip ip6)',
+                               rule            => @("EOF"/$)
+                                       &SERVICE_RANGE(tcp, 5433, (
+                                               ${ join(getfromhash($site::allnodeinfo, 'bmdb1.debian.org', 'ipHostNumber'), " ") }
+                                               \$HOST_PGBACKUPHOST
+                                       ))
+                                       | EOF
                        }
                }
                bmdb1: {
                        @ferm::rule { 'dsa-postgres-main':
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5435, ( 5.153.231.23/32 5.153.231.25/32 209.87.16.38/32 5.153.231.26/32 5.153.231.18/32 5.153.231.28/32 5.153.231.249/32 5.153.231.29/32 5.153.231.43/32 5.153.231.33/32 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-main6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5435, ( 2001:41c8:1000:21::21:23/128 2001:41c8:1000:21::21:25/128 2607:f8f0:614:1::1274:38/128 2001:41c8:1000:21::21:26/128 2001:41c8:1000:21::21:18/128 2001:41c8:1000:21::21:28/128 2001:41c8:1000:20::20:249/128 2001:41c8:1000:21::21:29/128 2001:41c8:1000:21::21:43/128 2001:41c8:1000:21::21:33/128 ))'
+                               description     => 'Allow postgress access to cluster: main',
+                               domain          => '(ip ip6)',
+                               rule            => @("EOF"/$)
+                                       &SERVICE_RANGE(tcp, 5435, (
+                                               ${ join(getfromhash($site::allnodeinfo, 'ticharich.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'petrova.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'ullmann.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'olin.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'wuiet.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'quantz.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'respighi.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'rusca.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'tate.debian.org', 'ipHostNumber'), " ") }
+                                               \$HOST_PGBACKUPHOST
+                                       ))
+                                       | EOF
                        }
                        @ferm::rule { 'dsa-postgres-dak':
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5434, ( 5.153.231.11/32 5.153.231.28/32 209.87.16.26/32 5.153.231.21/32 5.153.231.18/32 5.153.231.29/32 128.31.0.69/32 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-dak6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5434, ( 2001:41c8:1000:21::21:11/128 2001:41c8:1000:21::21:28/128 2607:f8f0:614:1::1274:26/128 2001:41c8:1000:21::21:21/128 2001:41c8:1000:21::21:18/128 2001:41c8:1000:21::21:29/128 ))'
+                               description     => 'Allow postgress access to cluster: dak',
+                               domain          => '(ip ip6)',
+                               rule            => @("EOF"/$)
+                                       &SERVICE_RANGE(tcp, 5434, (
+                                               ${ join(getfromhash($site::allnodeinfo, 'coccia.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'quantz.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'nono.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'wuiet.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'respighi.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'usper.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'ullmann.debian.org', 'ipHostNumber'), " ") }
+                                       ))
+                                       | EOF
                        }
                        @ferm::rule { 'dsa-postgres-wannabuild':
-                               # wuiet, ullmann
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5436, ( 5.153.231.18/32 209.87.16.38/32 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-wannabuild6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5436, ( 2001:41c8:1000:21::21:18/128 2607:f8f0:614:1::1274:38/128 ))'
+                               description     => 'Allow postgress access to cluster: wannabuild',
+                               domain          => '(ip ip6)',
+                               rule            => @("EOF"/$)
+                                       &SERVICE_RANGE(tcp, 5436, (
+                                               ${ join(getfromhash($site::allnodeinfo, 'respighi.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'wuiet.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'ullmann.debian.org', 'ipHostNumber'), " ") }
+                                               \$HOST_PGBACKUPHOST
+                                       ))
+                                       | EOF
                        }
                        @ferm::rule { 'dsa-postgres-bacula':
-                               # dinis
-                               description     => 'Allow postgress access1',
-                               rule            => '&SERVICE_RANGE(tcp, 5437, ( 5.153.231.19/32 93.94.130.161/32 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-bacula6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access1',
-                               rule            => '&SERVICE_RANGE(tcp, 5437, ( 2001:41c8:1000:21::21:19/128 2a02:158:380:280::161/128 ))'
-                       }
-
-                       @ferm::rule { 'dsa-postgres-backup':
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, (5435 5436 5440), ( $HOST_PGBACKUPHOST_V4 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-backup6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, (5435 5436 5440), ( $HOST_PGBACKUPHOST_V6 ))'
+                               description     => 'Allow postgress access to cluster: bacula',
+                               domain          => '(ip ip6)',
+                               rule            => @("EOF"/$)
+                                       &SERVICE_RANGE(tcp, 5437, (
+                                               ${ join(getfromhash($site::allnodeinfo, 'dinis.debian.org', 'ipHostNumber'), " ") }
+                                               ${ join(getfromhash($site::allnodeinfo, 'storace.debian.org', 'ipHostNumber'), " ") }
+                                               \$HOST_PGBACKUPHOST
+                                       ))
+                                       | EOF
                        }
-
                        @ferm::rule { 'dsa-postgres-dedup':
-                               # ubc, wuit
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, (5439), ( 5.153.231.17/32 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-dedup6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, (5439), ( 2001:41c8:1000:21::21:17/128 ))'
+                               description     => 'Allow postgress access to cluster: dedup',
+                               domain          => '(ip ip6)',
+                               rule            => @("EOF"/$)
+                                       &SERVICE_RANGE(tcp, 5439, (
+                                               ${ join(getfromhash($site::allnodeinfo, 'delfin.debian.org', 'ipHostNumber'), " ") }
+                                       ))
+                                       | EOF
                        }
-
                        @ferm::rule { 'dsa-postgres-debsources':
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, (5440), ( 5.153.231.38/32 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-debsources6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, (5440), ( 2001:41c8:1000:21::21:38/128 ))'
+                               description     => 'Allow postgress access to cluster: debsources',
+                               domain          => '(ip ip6)',
+                               rule            => @("EOF"/$)
+                                       &SERVICE_RANGE(tcp, 5440, (
+                                               ${ join(getfromhash($site::allnodeinfo, 'sor.debian.org', 'ipHostNumber'), " ") }
+                                               \$HOST_PGBACKUPHOST
+                                       ))
+                                       | EOF
                        }
                }
                danzi: {
@@ -262,24 +243,16 @@ class ferm::per_host {
                                rule            => '&SERVICE_RANGE(tcp, 5432, ( $HOST_PGBACKUPHOST_V6 ))'
                        }
                }
-               sibelius: {
-                       @ferm::rule { 'dsa-postgres-backup':
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5433, ( $HOST_PGBACKUPHOST_V4 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-backup6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5433, ( $HOST_PGBACKUPHOST_V6 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-replication':
+               sallinen: {
+                       @ferm::rule { 'dsa-postgres':
                                description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5433, ( 185.17.185.187/32 193.62.202.26/32 ))'
-                       }
-                       @ferm::rule { 'dsa-postgres-replication6':
-                               domain          => 'ip6',
-                               description     => 'Allow postgress access',
-                               rule            => '&SERVICE_RANGE(tcp, 5433, ( 2001:1af8:4020:b030:deb::187/128 2001:630:206:4000:1a1a:0:c13e:ca1a/128 ))'
+                               domain          => '(ip ip6)',
+                               rule            => @("EOF"/$)
+                                       &SERVICE_RANGE(tcp, 5473, (
+                                               ${ join(getfromhash($site::allnodeinfo, 'lw07.debian.org', 'ipHostNumber'), " ") }
+                                               \$HOST_PGBACKUPHOST
+                                       ))
+                                       | EOF
                        }
                }
                lw07: {