]> git.openstreetmap.org Git - chef.git/blob - roles/ironbelly.rb
Configure a private git server for chef, restricted to chef clients
[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   :git => {
9     :allowed_nodes => "*:*",
10     :backup => "chef-git"
11   },
12   :networking => {
13     :interfaces => {
14       :internal_ipv4 => {
15         :interface => "eth0",
16         :role => :internal,
17         :family => :inet,
18         :address => "146.179.159.177"
19       },
20       :external_ipv4 => {
21         :interface => "eth1",
22         :role => :external,
23         :family => :inet,
24         :address => "193.63.75.107"
25       },
26       :external_ipv6 => {
27         :interface => "eth1",
28         :role => :external,
29         :family => :inet6,
30         :address => "2001:630:12:500:225:90ff:fec4:f6ef"
31       }
32     }
33   },
34   :openvpn => {
35     :address => "10.0.16.2",
36     :tunnels => {
37       :ic2ucl => {
38         :port => "1194",
39         :mode => "server",
40         :peer => {
41           :host => "ridley.openstreetmap.org"
42         }
43       }
44     }
45   },
46   :rsyncd => {
47     :modules => {
48       :hosts => {
49         :comment => "Host data",
50         :path => "/home/hosts",
51         :read_only => true,
52         :write_only => false,
53         :list => false,
54         :uid => "tomh",
55         :gid => "tomh",
56         :transfer_logging => false,
57         :hosts_allow => [ 
58           "89.16.179.150",                       # shenron
59           "2001:41c8:10:996:21d:7dff:fec3:df70", # shenron
60           "212.159.112.221"                      # grant
61         ]
62       },
63       :logs => {
64         :comment => "Log files",
65         :path => "/store/logs",
66         :read_only => false,
67         :write_only => true,
68         :list => false,
69         :uid => "www-data",
70         :gid => "www-data",
71         :transfer_logging => false,
72         :hosts_allow => [
73           "128.40.168.0/24",      # ucl external
74           "146.179.159.160/27",   # ic internal
75           "193.63.75.96/27",      # ic external
76           "2001:630:12:500::/64", # ic external
77           "127.0.0.0/8",          # localhost
78           "::1"                   # localhost
79         ],
80         :nodes_allow => "roles:tilecache"
81       }
82     }
83   }
84 );
85
86 run_list(
87   "role[ic]",
88   "role[gateway]",
89   "role[chef-server]",
90   "role[chef-repository]",
91   "role[web-storage]",
92   "role[supybot]",
93   "role[backup]",
94   "role[stats]",
95   "role[planet]",
96   "recipe[rsyncd]",
97   "recipe[openvpn]",
98   "recipe[git::server]"
99 )