7dd59bf36f48c6a88ac5b1e4080fd7a9f0f7a162
[chef.git] / cookbooks / supybot / recipes / default.rb
1 #
2 # Cookbook Name:: supybot
3 # Recipe:: default
4 #
5 # Copyright 2013, OpenStreetMap Foundation
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #     http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 #
19
20 users = data_bag_item("supybot", "users")
21 passwords = data_bag_item("supybot", "passwords")
22
23 package "supybot"
24
25 directory "/etc/supybot" do
26   owner "supybot"
27   group "supybot"
28   mode 0755
29 end
30
31 template "/etc/supybot/supybot.conf" do
32   source "supybot.conf.erb"
33   owner "supybot"
34   group "supybot"
35   mode 0644
36   variables :passwords => passwords
37 end
38
39 template "/etc/supybot/channels.conf" do
40   source "channels.conf.erb"
41   owner "supybot"
42   group "supybot"
43   mode 0644
44 end
45
46 template "/etc/supybot/git.conf" do
47   source "git.conf.erb"
48   owner "supybot"
49   group "supybot"
50   mode 0644
51 end
52
53 template "/etc/supybot/ignores.conf" do
54   source "ignores.conf.erb"
55   owner "supybot"
56   group "supybot"
57   mode 0644
58 end
59
60 template "/etc/supybot/userdata.conf" do
61   source "userdata.conf.erb"
62   owner "supybot"
63   group "supybot"
64   mode 0644
65 end
66
67 template "/etc/supybot/users.conf" do
68   source "users.conf.erb"
69   owner "supybot"
70   group "supybot"
71   mode 0644
72   variables :passwords => users
73 end
74
75 directory "/var/lib/supybot" do
76   owner "root"
77   group "root"
78   mode 0755
79 end
80
81 directory "/var/lib/supybot/data" do
82   owner "supybot"
83   group "supybot"
84   mode 0755
85 end
86
87 directory "/var/lib/supybot/backup" do
88   owner "supybot"
89   group "supybot"
90   mode 0755
91 end
92
93 directory "/var/lib/supybot/git" do
94   owner "supybot"
95   group "supybot"
96   mode 0755
97 end
98
99 directory "/var/tmp/supybot" do
100   owner "supybot"
101   group "supybot"
102   mode 0755
103 end
104
105 directory "/var/log/supybot" do
106   owner "supybot"
107   group "supybot"
108   mode 0755
109 end
110
111 directory "/usr/local/lib/supybot" do
112   owner "root"
113   group "root"
114   mode 0755
115 end
116
117 directory "/usr/local/lib/supybot/plugins" do
118   owner "root"
119   group "root"
120   mode 0755
121 end
122
123 git "/usr/local/lib/supybot/plugins/Git" do
124   action :sync
125   repository "git://github.com/mmueller/supybot-git"
126   revision "master"
127   user "root"
128   group "root"
129 end
130
131 template "/etc/init.d/supybot" do
132   source "supybot.init.erb"
133   owner "root"
134   group "root"
135   mode 0755
136 end
137
138 service "supybot" do
139   action [ :enable, :start ]
140   supports :restart => true
141   subscribes :restart, "template[/etc/supybot/supybot.conf]"
142   subscribes :restart, "template[/etc/supybot/channels.conf]"
143   subscribes :restart, "template[/etc/supybot/git.conf]"
144   subscribes :restart, "template[/etc/supybot/ignores.conf]"
145   subscribes :restart, "template[/etc/supybot/userdata.conf]"
146   subscribes :restart, "template[/etc/supybot/users.conf]"
147   subscribes :restart, "git[/usr/local/lib/supybot/plugins/Git]"
148   subscribes :restart, "template[/etc/init.d/supybot]"
149 end