74418027d40bc719094bd01aaabafcb1075623b5
[mirror/dsa-puppet.git] / modules / ganeti2 / manifests / firewall.pp
1 class ganeti2::firewall {
2
3         include ganeti2::params
4
5         $ganeti_hosts = $ganeti2::params::ganeti_hosts
6         $ganeti_priv  = $ganeti2::params::ganeti_priv
7         $drbd         = $ganeti2::params::drbd
8
9         @ferm::conf { 'ganeti2':
10                 content => template('ganeti2/defs.conf.erb')
11         }
12
13         @ferm::rule { 'dsa-ganeti-noded':
14                 description => 'allow ganeti-noded communication',
15                 domain      => '(ip ip6)',
16                 rule        => 'proto tcp mod state state (NEW) dport (1811) @subchain \'ganeti-noded\' { saddr ($HOST_GANETI) daddr ($HOST_GANETI) ACCEPT; }',
17                 notarule    => true,
18         }
19
20         @ferm::rule { 'dsa-ganeti-confd':
21                 description => 'allow ganeti-confd communication',
22                 domain      => '(ip ip6)',
23                 rule        => 'proto udp mod state state (NEW) dport (1814) @subchain \'ganeti-confd\' { saddr ($HOST_GANETI) daddr ($HOST_GANETI) ACCEPT; }',
24                 notarule    => true,
25         }
26
27         @ferm::rule { 'dsa-ganeti-rapi':
28                 description => 'allow ganeti-rapi communication',
29                 domain      => '(ip ip6)',
30                 rule        => 'proto tcp mod state state (NEW) dport (5080) @subchain \'ganeti-rapi\' { saddr ($HOST_GANETI) daddr ($HOST_GANETI) ACCEPT; }',
31                 notarule    => true,
32         }
33
34         @ferm::rule { 'dsa-ganeti-kvm-migration':
35                 description => 'allow ganeti kvm migration ',
36                 domain      => '(ip ip6)',
37                 rule        => 'proto tcp dport 8102 @subchain \'ganeti-kvm-migration\' { saddr ($HOST_GANETI_BACKEND) daddr ($HOST_GANETI_BACKEND) ACCEPT; }',
38                 notarule    => true,
39         }
40
41         @ferm::rule { 'dsa-ganeti-ssh':
42                 description => 'allow ganeti to ssh around',
43                 domain      => '(ip ip6)',
44                 rule        => 'proto tcp dport ssh @subchain \'ganeti-ssh\' { saddr ( $HOST_GANETI    $HOST_GANETI_BACKEND) ACCEPT; }',
45                 notarule    => true,
46         }
47
48         if $drbd {
49                 @ferm::rule { 'dsa-ganeti-drbd':
50                         description => 'allow ganeti drbd communication',
51                         domain      => '(ip ip6)',
52                         rule        => 'proto tcp mod state state (NEW) dport (11000:11999) @subchain \'ganeti-drbd\' { saddr ($HOST_GANETI_BACKEND) daddr ($HOST_GANETI_BACKEND) ACCEPT; }',
53                         notarule    => true,
54                 }
55         }
56 }