]> git.openstreetmap.org Git - chef.git/blob - roles/fafnir.rb
Send 10% of outgoing mail via equinix
[chef.git] / roles / fafnir.rb
1 name "fafnir"
2 description "Master role applied to fafnir"
3
4 default_attributes(
5   :dhcpd => {
6     :first_address => "10.0.79.1",
7     :last_address => "10.0.79.254"
8   },
9   :exim => {
10     :external_interface => "<;${if <{${randint:100}}{90} {184.104.226.98;2001:470:1:b3b::2}{87.252.214.98;2001:4d78:fe03:1c::2}}",
11     :routes => {
12       :openstreetmap => {
13         :comment => "openstreetmap.org",
14         :domains => ["openstreetmap.org"],
15         :host => ["shenron.openstreetmap.org"]
16       }
17     }
18   },
19   :networking => {
20     :interfaces => {
21       :internal => {
22         :interface => "bond0",
23         :role => :internal,
24         :inet => {
25           :address => "10.0.64.2"
26         },
27         :bond => {
28           :mode => "802.3ad",
29           :lacprate => "fast",
30           :xmithashpolicy => "layer3+4",
31           :slaves => %w[eno1 eno2 eno3 eno4 eno49 eno50]
32         }
33       },
34       :external_he => {
35         :interface => "bond0.101",
36         :role => :external,
37         :source_route_table => 100,
38         :inet => {
39           :address => "184.104.226.98",
40           :prefix => "27",
41           :gateway => "184.104.226.97"
42         },
43         :inet6 => {
44           :address => "2001:470:1:b3b::2",
45           :prefix => 64,
46           :gateway => "2001:470:1:b3b::1"
47         }
48       },
49       :external => {
50         :interface => "bond0.203",
51         :role => :external,
52         :metric => 150,
53         :source_route_table => 150,
54         :inet => {
55           :address => "87.252.214.98",
56           :prefix => "27",
57           :gateway => "87.252.214.97"
58         },
59         :inet6 => {
60           :address => "2001:4d78:fe03:1c::2",
61           :prefix => 64,
62           :gateway => "2001:4d78:fe03:1c::1"
63         }
64       }
65     }
66   },
67   :prometheus => {
68     :junos => {
69       "switch1" => { :address => "184.104.226.97", :labels => { "site" => "dublin" } }
70     },
71     :snmp => {
72       "pdu1" => { :address => "10.0.64.100", :modules => %w[apcups], :labels => { "site" => "dublin" } },
73       "pdu2" => { :address => "10.0.64.101", :modules => %w[apcups], :labels => { "site" => "dublin" } }
74     },
75     :metrics => {
76       :uplink_interface => {
77         :help => "Site uplink interface name",
78         :labels => { :site => "dublin", :name => "xe-[01]/2/[01]|ge-[01]/2/2" }
79       }
80     }
81   }
82 )
83
84 run_list(
85   "role[equinix-dub]",
86   "role[hp-g9]",
87   "role[gateway]",
88   "role[mail]",
89   "recipe[dhcpd]"
90 )