]> git.openstreetmap.org Git - chef.git/blob - roles/ironbelly.rb
Merge remote-tracking branch 'github/pull/165'
[chef.git] / roles / ironbelly.rb
1 name "ironbelly"
2 description "Master role applied to ironbelly"
3
4 default_attributes(
5   :apt => {
6     :sources => ["ubuntugis-unstable"]
7   },
8   :elasticsearch => {
9     :cluster => {
10       :routing => {
11         :allocation => {
12           :disk => {
13             :watermark => {
14               :low => "95%",
15               :high => "98%"
16             }
17           }
18         }
19       }
20     },
21     :path => {
22       :data => "/store/elasticsearch"
23     }
24   },
25   :networking => {
26     :interfaces => {
27       :internal_ipv4 => {
28         :interface => "eth0",
29         :role => :internal,
30         :family => :inet,
31         :address => "146.179.159.177"
32       },
33       :external_ipv4 => {
34         :interface => "eth1",
35         :role => :external,
36         :family => :inet,
37         :address => "193.63.75.107"
38       },
39       :external_ipv6 => {
40         :interface => "eth1",
41         :role => :external,
42         :family => :inet6,
43         :address => "2001:630:12:500:225:90ff:fec4:f6ef"
44       }
45     }
46   },
47   :openvpn => {
48     :address => "10.0.16.2",
49     :tunnels => {
50       :ic2ucl => {
51         :port => "1194",
52         :mode => "server",
53         :peer => {
54           :host => "ridley.openstreetmap.org"
55         }
56       },
57       :aws2ic => {
58         :port => "1195",
59         :mode => "server",
60         :peer => {
61           :host => "fafnir.openstreetmap.org"
62         }
63       },
64       :ic2bm => {
65         :port => "1196",
66         :mode => "client",
67         :peer => {
68           :host => "grisu.openstreetmap.org",
69           :port => "1194"
70         }
71       }
72     }
73   },
74   :planet => {
75     :replication => "enabled"
76   },
77   :rsyncd => {
78     :modules => {
79       :hosts => {
80         :comment => "Host data",
81         :path => "/home/hosts",
82         :read_only => true,
83         :write_only => false,
84         :list => false,
85         :uid => "tomh",
86         :gid => "tomh",
87         :transfer_logging => false,
88         :hosts_allow => [
89           "212.110.172.32",                      # shenron
90           "2001:41c9:1:400::32",                 # shenron
91           "212.159.112.221"                      # grant
92         ]
93       },
94       :logs => {
95         :comment => "Log files",
96         :path => "/store/logs",
97         :read_only => false,
98         :write_only => true,
99         :list => false,
100         :uid => "www-data",
101         :gid => "www-data",
102         :transfer_logging => false,
103         :hosts_allow => [
104           "193.60.236.0/24",      # ucl external
105           "146.179.159.160/27",   # ic internal
106           "193.63.75.96/27",      # ic external
107           "2001:630:12:500::/64", # ic external
108           "10.0.32.0/20",         # bytemark internal
109           "89.16.162.16/28",      # bytemark external
110           "2001:41c9:2:d6::/64",  # bytemark external
111           "127.0.0.0/8",          # localhost
112           "::1"                   # localhost
113         ],
114         :nodes_allow => "roles:tilecache"
115       }
116     }
117   }
118 )
119
120 run_list(
121   "role[ic]",
122   "role[gateway]",
123   "role[web-storage]",
124   "role[supybot]",
125   "role[backup]",
126   "role[stats]",
127   "role[planet]",
128   "role[planetdump]",
129   "role[logstash]",
130   "recipe[rsyncd]",
131   "recipe[openvpn]",
132   "recipe[tilelog]"
133 )