Empact-deprec 1.99.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. data/CHANGELOG +170 -0
  2. data/COPYING +19 -0
  3. data/LICENSE +339 -0
  4. data/README +136 -0
  5. data/THANKS +5 -0
  6. data/bin/depify +133 -0
  7. data/docs/ANNOUNCE.deprec2 +47 -0
  8. data/docs/README.install +88 -0
  9. data/docs/README.nagios +28 -0
  10. data/docs/README.rails +20 -0
  11. data/docs/README.svn +31 -0
  12. data/docs/ROADMAP.txt +74 -0
  13. data/docs/deprec-1.x/deprec-1.x.quickstart +50 -0
  14. data/docs/deprec-1.x/notes.txt +12 -0
  15. data/docs/deprec_banner.gif +0 -0
  16. data/lib/deprec.rb +8 -0
  17. data/lib/deprec/capistrano_extensions.rb +378 -0
  18. data/lib/deprec/recipes.rb +40 -0
  19. data/lib/deprec/recipes/aoe.rb +117 -0
  20. data/lib/deprec/recipes/apache.rb +179 -0
  21. data/lib/deprec/recipes/ar_sendmail.rb +65 -0
  22. data/lib/deprec/recipes/canonical.rb +57 -0
  23. data/lib/deprec/recipes/deprec.rb +155 -0
  24. data/lib/deprec/recipes/deprecated.rb +71 -0
  25. data/lib/deprec/recipes/example.rb +115 -0
  26. data/lib/deprec/recipes/git.rb +168 -0
  27. data/lib/deprec/recipes/gitosis.rb +47 -0
  28. data/lib/deprec/recipes/god.rb +107 -0
  29. data/lib/deprec/recipes/heartbeat.rb +138 -0
  30. data/lib/deprec/recipes/iptables.rb +53 -0
  31. data/lib/deprec/recipes/logrotate.rb +51 -0
  32. data/lib/deprec/recipes/lvm.rb +20 -0
  33. data/lib/deprec/recipes/memcached.rb +102 -0
  34. data/lib/deprec/recipes/mongrel.rb +209 -0
  35. data/lib/deprec/recipes/monit.rb +130 -0
  36. data/lib/deprec/recipes/mysql.rb +115 -0
  37. data/lib/deprec/recipes/nagios.rb +302 -0
  38. data/lib/deprec/recipes/network.rb +84 -0
  39. data/lib/deprec/recipes/nginx.rb +154 -0
  40. data/lib/deprec/recipes/ntp.rb +96 -0
  41. data/lib/deprec/recipes/php.rb +99 -0
  42. data/lib/deprec/recipes/postfix.rb +105 -0
  43. data/lib/deprec/recipes/rails.rb +302 -0
  44. data/lib/deprec/recipes/ruby.rb +66 -0
  45. data/lib/deprec/recipes/sphinx.rb +83 -0
  46. data/lib/deprec/recipes/ssh.rb +93 -0
  47. data/lib/deprec/recipes/svn.rb +169 -0
  48. data/lib/deprec/recipes/swiftiply.rb +108 -0
  49. data/lib/deprec/recipes/thin.rb +201 -0
  50. data/lib/deprec/recipes/trac.rb +277 -0
  51. data/lib/deprec/recipes/ubuntu.rb +20 -0
  52. data/lib/deprec/recipes/users.rb +90 -0
  53. data/lib/deprec/recipes/utils.rb +39 -0
  54. data/lib/deprec/recipes/xen.rb +259 -0
  55. data/lib/deprec/templates/aoe/aoe-init +55 -0
  56. data/lib/deprec/templates/aoe/fence_aoemask +351 -0
  57. data/lib/deprec/templates/apache/httpd-vhost-app.conf.erb +144 -0
  58. data/lib/deprec/templates/apache/httpd.conf +465 -0
  59. data/lib/deprec/templates/apache/index.html.erb +37 -0
  60. data/lib/deprec/templates/apache/master.css +72 -0
  61. data/lib/deprec/templates/ar_sendmail/logrotate.conf.erb +9 -0
  62. data/lib/deprec/templates/ar_sendmail/monit.conf.erb +5 -0
  63. data/lib/deprec/templates/coraid/aoe-init +55 -0
  64. data/lib/deprec/templates/deprec/caprc.erb +14 -0
  65. data/lib/deprec/templates/god/god-init-script +71 -0
  66. data/lib/deprec/templates/god/god-notifications +0 -0
  67. data/lib/deprec/templates/god/god_mongrel.erb +81 -0
  68. data/lib/deprec/templates/god/god_mysql.erb +50 -0
  69. data/lib/deprec/templates/god/god_nginx.erb +61 -0
  70. data/lib/deprec/templates/god/god_thin.erb +80 -0
  71. data/lib/deprec/templates/heartbeat/authkeys.erb +2 -0
  72. data/lib/deprec/templates/heartbeat/ha.cf.erb +15 -0
  73. data/lib/deprec/templates/heartbeat/haresources.erb +1 -0
  74. data/lib/deprec/templates/iptables/iptables.up.erb +41 -0
  75. data/lib/deprec/templates/logrotate/logrotate.conf.erb +32 -0
  76. data/lib/deprec/templates/memcached/memcached-init-script +65 -0
  77. data/lib/deprec/templates/memcached/memcached.conf.erb +46 -0
  78. data/lib/deprec/templates/mongrel/logrotate.conf.erb +11 -0
  79. data/lib/deprec/templates/mongrel/mongrel_cluster-init-script +54 -0
  80. data/lib/deprec/templates/mongrel/mongrel_cluster.logrotate.d +14 -0
  81. data/lib/deprec/templates/mongrel/mongrel_cluster.yml.erb +10 -0
  82. data/lib/deprec/templates/mongrel/monit.conf.erb +17 -0
  83. data/lib/deprec/templates/monit/monit-init-script +104 -0
  84. data/lib/deprec/templates/monit/monitrc.erb +227 -0
  85. data/lib/deprec/templates/monit/nothing +0 -0
  86. data/lib/deprec/templates/mysql/create_databases.sql +20 -0
  87. data/lib/deprec/templates/mysql/database.yml.prod +6 -0
  88. data/lib/deprec/templates/mysql/database.yml.stage +6 -0
  89. data/lib/deprec/templates/mysql/my.cnf.erb +140 -0
  90. data/lib/deprec/templates/mysql/sphinx.conf.prod +542 -0
  91. data/lib/deprec/templates/mysql/sphinx.conf.stage +542 -0
  92. data/lib/deprec/templates/nagios/cgi.cfg.erb +321 -0
  93. data/lib/deprec/templates/nagios/commands.cfg.erb +240 -0
  94. data/lib/deprec/templates/nagios/contacts.cfg.erb +75 -0
  95. data/lib/deprec/templates/nagios/hosts.cfg.erb +70 -0
  96. data/lib/deprec/templates/nagios/htpasswd.users +1 -0
  97. data/lib/deprec/templates/nagios/localhost.cfg.erb +157 -0
  98. data/lib/deprec/templates/nagios/nagios.cfg.erb +1274 -0
  99. data/lib/deprec/templates/nagios/nagios_apache_vhost.conf.erb +45 -0
  100. data/lib/deprec/templates/nagios/nrpe.cfg.erb +208 -0
  101. data/lib/deprec/templates/nagios/nrpe.xinetd.erb +16 -0
  102. data/lib/deprec/templates/nagios/resource.cfg.erb +34 -0
  103. data/lib/deprec/templates/nagios/services.cfg.erb +7 -0
  104. data/lib/deprec/templates/nagios/templates.cfg.erb +190 -0
  105. data/lib/deprec/templates/nagios/timeperiods.cfg.erb +94 -0
  106. data/lib/deprec/templates/network/hostname.erb +1 -0
  107. data/lib/deprec/templates/network/hosts.erb +2 -0
  108. data/lib/deprec/templates/network/interfaces.erb +18 -0
  109. data/lib/deprec/templates/nginx/logrotate.conf.erb +13 -0
  110. data/lib/deprec/templates/nginx/mime.types.erb +70 -0
  111. data/lib/deprec/templates/nginx/nginx-init-script +62 -0
  112. data/lib/deprec/templates/nginx/nginx.conf.erb +53 -0
  113. data/lib/deprec/templates/nginx/nginx.logrotate.d +12 -0
  114. data/lib/deprec/templates/nginx/nothing.conf +1 -0
  115. data/lib/deprec/templates/nginx/rails_nginx_vhost.conf.erb +45 -0
  116. data/lib/deprec/templates/ntp/ntp.conf.erb +42 -0
  117. data/lib/deprec/templates/postfix/aliases.erb +3 -0
  118. data/lib/deprec/templates/postfix/dynamicmaps.cf.erb +8 -0
  119. data/lib/deprec/templates/postfix/main.cf.erb +41 -0
  120. data/lib/deprec/templates/postfix/master.cf.erb +77 -0
  121. data/lib/deprec/templates/rails/database.yml.erb +6 -0
  122. data/lib/deprec/templates/sphinx/monit.conf.erb +5 -0
  123. data/lib/deprec/templates/ssh/ssh_config.erb +50 -0
  124. data/lib/deprec/templates/ssh/sshd_config.erb +78 -0
  125. data/lib/deprec/templates/subversion/svn.apache.vhost.erb +43 -0
  126. data/lib/deprec/templates/swiftiply/swiftiply-init-script +61 -0
  127. data/lib/deprec/templates/swiftiply/swiftiply.yml.erb +11 -0
  128. data/lib/deprec/templates/thin/thin-init-script +51 -0
  129. data/lib/deprec/templates/thin/thin.yml.erb +11 -0
  130. data/lib/deprec/templates/trac/apache_vhost.conf.erb +24 -0
  131. data/lib/deprec/templates/trac/nginx_vhost.conf.erb +26 -0
  132. data/lib/deprec/templates/trac/trac.ini.erb +169 -0
  133. data/lib/deprec/templates/trac/trac_deprec.png +0 -0
  134. data/lib/deprec/templates/trac/tracd-init.erb +43 -0
  135. data/lib/deprec/templates/trac/users.htdigest.erb +0 -0
  136. data/lib/deprec/templates/xen/15-disable-hwclock +40 -0
  137. data/lib/deprec/templates/xen/network-bridge-wrapper +3 -0
  138. data/lib/deprec/templates/xen/xen-tools.conf.erb +220 -0
  139. data/lib/deprec/templates/xen/xend-config.sxp.erb +195 -0
  140. data/lib/deprec/templates/xen/xend-init.erb +69 -0
  141. data/lib/deprec/templates/xen/xendomains.erb +137 -0
  142. data/lib/deprec/templates/xen/xm.tmpl.erb +85 -0
  143. data/lib/vmbuilder_plugins/all.rb +20 -0
  144. data/lib/vmbuilder_plugins/apt.rb +93 -0
  145. data/lib/vmbuilder_plugins/emerge.rb +76 -0
  146. data/lib/vmbuilder_plugins/gem.rb +90 -0
  147. data/lib/vmbuilder_plugins/std.rb +203 -0
  148. metadata +207 -0
@@ -0,0 +1,40 @@
1
+ # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
+ unless Capistrano::Configuration.respond_to?(:instance)
3
+ abort "deprec2 requires Capistrano 2"
4
+ end
5
+ ## Disabled Modules
6
+ #require "#{File.dirname(__FILE__)}/recipes/canonical"
7
+ #require "#{File.dirname(__FILE__)}/recipes/aoe"
8
+ #require "#{File.dirname(__FILE__)}/recipes/apache"
9
+ #require "#{File.dirname(__FILE__)}/recipes/god"
10
+ #require "#{File.dirname(__FILE__)}/recipes/heartbeat"
11
+ #require "#{File.dirname(__FILE__)}/recipes/memcache"
12
+ #require "#{File.dirname(__FILE__)}/recipes/monit"
13
+ #require "#{File.dirname(__FILE__)}/recipes/nagios"
14
+ #require "#{File.dirname(__FILE__)}/recipes/php"
15
+ #require "#{File.dirname(__FILE__)}/recipes/trac"
16
+ #require "#{File.dirname(__FILE__)}/recipes/xen"
17
+ ## Enabled Modules
18
+ require "#{File.dirname(__FILE__)}/recipes/deprec"
19
+ require "#{File.dirname(__FILE__)}/recipes/deprecated"
20
+ require "#{File.dirname(__FILE__)}/recipes/iptables"
21
+ require "#{File.dirname(__FILE__)}/recipes/memcached"
22
+ require "#{File.dirname(__FILE__)}/recipes/mongrel"
23
+ require "#{File.dirname(__FILE__)}/recipes/mysql"
24
+ require "#{File.dirname(__FILE__)}/recipes/network"
25
+ require "#{File.dirname(__FILE__)}/recipes/nginx"
26
+ require "#{File.dirname(__FILE__)}/recipes/ntp"
27
+ require "#{File.dirname(__FILE__)}/recipes/logrotate"
28
+ require "#{File.dirname(__FILE__)}/recipes/utils"
29
+ require "#{File.dirname(__FILE__)}/recipes/git"
30
+ require "#{File.dirname(__FILE__)}/recipes/gitosis"
31
+ require "#{File.dirname(__FILE__)}/recipes/ar_sendmail"
32
+ require "#{File.dirname(__FILE__)}/recipes/postfix"
33
+ require "#{File.dirname(__FILE__)}/recipes/rails"
34
+ require "#{File.dirname(__FILE__)}/recipes/ruby"
35
+ require "#{File.dirname(__FILE__)}/recipes/ssh"
36
+ require "#{File.dirname(__FILE__)}/recipes/sphinx"
37
+ require "#{File.dirname(__FILE__)}/recipes/svn"
38
+ require "#{File.dirname(__FILE__)}/recipes/swiftiply"
39
+ require "#{File.dirname(__FILE__)}/recipes/thin"
40
+ require "#{File.dirname(__FILE__)}/recipes/users"
@@ -0,0 +1,117 @@
1
+ # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
+ Capistrano::Configuration.instance(:must_exist).load do
3
+
4
+ namespace :deprec do
5
+
6
+ SRC_PACKAGES[:aoe] = {
7
+ :filename => 'aoe6-56.tar.gz',
8
+ :md5sum => "93689aaad32f647a788c15c82bd0158e aoe6-56.tar.gz",
9
+ :dir => 'aoe6-56',
10
+ :url => "http://www.coraid.com/support/linux/aoe6-56.tar.gz",
11
+ :unpack => "tar zxf aoe6-56.tar.gz;",
12
+ :make => 'make;',
13
+ :install => 'make install;'
14
+ }
15
+
16
+ namespace :aoe do
17
+
18
+ desc "Install aoe drivers required to mount Coraid block devices"
19
+ task :install do
20
+ install_deps
21
+ deprec2.download_src(SRC_PACKAGES[:aoe], src_dir)
22
+ deprec2.install_from_src(SRC_PACKAGES[:aoe], src_dir)
23
+ end
24
+
25
+ task :install_deps do
26
+ apt.install( {:base => %w(build-essential linux-headers-$(uname -r) vblade aoetools)}, :stable )
27
+ end
28
+
29
+ SYSTEM_CONFIG_FILES[:aoe] = [
30
+
31
+ {:template => "aoetools.erb",
32
+ :path => '/etc/default/aoetools',
33
+ :mode => 0644,
34
+ :owner => 'root:root'}
35
+
36
+ ]
37
+
38
+ desc "Generate configuration file(s) for XXX from template(s)"
39
+ task :config_gen do
40
+ SYSTEM_CONFIG_FILES[:aoe].each do |file|
41
+ deprec2.render_template(:aoe, file)
42
+ end
43
+ end
44
+
45
+ desc 'Deploy configuration files(s) for XXX'
46
+ task :config do
47
+ deprec2.push_configs(:aoe, SYSTEM_CONFIG_FILES[:aoe])
48
+ end
49
+
50
+ end
51
+
52
+
53
+ SRC_PACKAGES[:cec] = {
54
+ :filename => 'cec-8.tgz',
55
+ :md5sum => "7899dc549f9a368e532f9c39ed819f71 cec-8.tgz",
56
+ :dir => 'cec-8',
57
+ :url => "http://easynews.dl.sourceforge.net/sourceforge/aoetools/cec-8.tgz",
58
+ :unpack => "tar zxf cec-8.tgz;",
59
+ :make => 'make;',
60
+ :install => 'make install;'
61
+ }
62
+
63
+ namespace :cec do
64
+
65
+ desc "install CEC (Coraid Ethernet Console)"
66
+ task :install do
67
+ deprec2.download_src(SRC_PACKAGES[:cec], src_dir)
68
+ deprec2.install_from_src(SRC_PACKAGES[:cec], src_dir)
69
+ end
70
+
71
+ end
72
+
73
+ SRC_PACKAGES[:ddt] = {
74
+ :filename => 'ddt-6.tgz',
75
+ :md5sum => "5e1e8a58a8621b93440be605113f7bc0 ddt-6.tgz",
76
+ :dir => 'ddt-6',
77
+ :url => "http://www.coraid.com/support/sr/ddt-6.tgz",
78
+ :unpack => "tar zxf ddt-6.tgz;",
79
+ :make => 'make;',
80
+ :install => 'make install;'
81
+ }
82
+
83
+ namespace :ddt do
84
+
85
+ desc "install DDT (tool for testing performance)"
86
+ task :install do
87
+ deprec2.download_src(SRC_PACKAGES[:ddt], src_dir)
88
+ deprec2.install_from_src(SRC_PACKAGES[:ddt], src_dir)
89
+ end
90
+
91
+ end
92
+
93
+ SRC_PACKAGES[:aoemask] = {
94
+ :filename => 'aoemask-1.tgz',
95
+ :md5sum => "379461a28d511e269f4593b846bd1288 aoemask-1.tgz",
96
+ :dir => 'aoemask-1',
97
+ :url => "http://www.coraid.com/support/sr/aoemask-1.tgz",
98
+ :unpack => "tar zxf aoemask-1.tgz;",
99
+ :make => 'make;',
100
+ :install => 'make install;'
101
+ }
102
+
103
+ namespace :aoemask do
104
+
105
+ desc "install aoemask"
106
+ task :install do
107
+ deprec2.download_src(SRC_PACKAGES[:aoemask], src_dir)
108
+ deprec2.install_from_src(SRC_PACKAGES[:aoemask], src_dir)
109
+ end
110
+
111
+ end
112
+
113
+ end
114
+
115
+ end
116
+
117
+
@@ -0,0 +1,179 @@
1
+ # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
+ Capistrano::Configuration.instance(:must_exist).load do
3
+ namespace :deprec do
4
+ namespace :apache do
5
+
6
+ # put apache config for site in shared/config/apache2 dir
7
+ # link it into apps to enable, unlink to disable?
8
+ # http://times.usefulinc.com/2006/09/15-rails-debian-apache
9
+
10
+ # XXX Check this over after a nice sleep
11
+ #
12
+ # def set_apache_conf
13
+ # if apache_default_vhost
14
+ # set :apache_conf, "/usr/local/apache2/conf/default.conf" unless apache_default_vhost_conf
15
+ # else
16
+ # set :apache_conf, "/usr/local/apache2/conf/apps/#{application}.conf" unless apache_conf
17
+ # end
18
+ # end
19
+
20
+ set(:apache_server_name) { domain }
21
+ set :apache_user, 'daemon' # XXX this is not yet being inserted into httpd.conf!
22
+ # I've added it for deprec:nagios:install
23
+ set :apache_conf, nil
24
+ set :apache_default_vhost, false
25
+ set :apache_default_vhost_conf, nil
26
+ set :apache_ctl, "/usr/local/apache2/bin/apachectl"
27
+ set(:apache_server_aliases) { web_server_aliases }
28
+ set :apache_proxy_port, 8000
29
+ set :apache_proxy_servers, 2
30
+ set :apache_proxy_address, "127.0.0.1"
31
+ set :apache_ssl_enabled, false
32
+ set :apache_ssl_ip, nil
33
+ set :apache_ssl_forward_all, false
34
+ set :apache_ssl_chainfile, false
35
+ set :apache_docroot, '/usr/local/apache2/htdocs'
36
+ set :apache_vhost_dir, '/usr/local/apache2/conf/apps'
37
+ set :apache_config_file, '/usr/local/apache2/conf/httpd.conf'
38
+
39
+ SRC_PACKAGES[:apache] = {
40
+ :filename => 'httpd-2.2.6.tar.gz',
41
+ :md5sum => "d050a49bd7532ec21c6bb593b3473a5d httpd-2.2.6.tar.gz",
42
+ :dir => 'httpd-2.2.6',
43
+ :url => "http://www.apache.org/dist/httpd/httpd-2.2.6.tar.gz",
44
+ :unpack => "tar zxf httpd-2.2.6.tar.gz;",
45
+ :configure => %w(
46
+ ./configure
47
+ --enable-mods-shared=all
48
+ --enable-proxy
49
+ --enable-proxy-balancer
50
+ --enable-proxy-http
51
+ --enable-rewrite
52
+ --enable-cache
53
+ --enable-headers
54
+ --enable-ssl
55
+ --enable-deflate
56
+ --with-included-apr #_so_this_recipe_doesn't_break_when_rerun
57
+ --enable-dav #_for_subversion_
58
+ --enable-so #_for_subversion_
59
+ ;
60
+ ).reject{|arg| arg.match '#'}.join(' '),
61
+ :make => 'make;',
62
+ :install => 'make install;',
63
+ :post_install => 'install -b support/apachectl /etc/init.d/httpd;'
64
+ }
65
+
66
+ desc "Install apache"
67
+ task :install do
68
+ install_deps
69
+ deprec2.download_src(SRC_PACKAGES[:apache], src_dir)
70
+ deprec2.install_from_src(SRC_PACKAGES[:apache], src_dir)
71
+ setup_vhost_dir
72
+ install_index_page
73
+ end
74
+
75
+ # install dependencies for apache
76
+ task :install_deps do
77
+ apt.install( {:base => %w(zlib1g-dev zlib1g openssl libssl-dev)}, :stable )
78
+ end
79
+
80
+ # Create dir for vhost config files
81
+ task :setup_vhost_dir do
82
+ deprec2.mkdir(apache_vhost_dir, :owner => 'root', :group => group, :mode => 0775, :via => :sudo)
83
+ deprec2.append_to_file_if_missing(apache_config_file, 'Include conf/apps/')
84
+ end
85
+
86
+ SYSTEM_CONFIG_FILES[:apache] = [
87
+ # They're generated and put in place during install
88
+ # I may put them in here at some point
89
+ ]
90
+
91
+ PROJECT_CONFIG_FILES[:apache] = [
92
+
93
+ {:template => "httpd-vhost-app.conf.erb",
94
+ :path => 'conf/httpd-vhost-app.conf',
95
+ :mode => 0755,
96
+ :owner => 'root:root'}
97
+ ]
98
+
99
+ desc "Generate configuration file(s) for apache from template(s)"
100
+ task :config_gen do
101
+ config_gen_system
102
+ config_gen_project
103
+ end
104
+
105
+ task :config_gen_system do
106
+ SYSTEM_CONFIG_FILES[:apache].each do |file|
107
+ deprec2.render_template(:apache, file)
108
+ end
109
+ end
110
+
111
+ task :config_gen_project do
112
+ PROJECT_CONFIG_FILES[:apache].each do |file|
113
+ deprec2.render_template(:apache, file)
114
+ end
115
+ end
116
+
117
+ desc "Push apache config files to server"
118
+ task :config, :roles => :web do
119
+ config_system
120
+ config_project
121
+ end
122
+
123
+ task :config_system, :roles => :web do
124
+ deprec2.push_configs(:apache, SYSTEM_CONFIG_FILES[:apache])
125
+ end
126
+
127
+ task :config_project, :roles => :web do
128
+ deprec2.push_configs(:apache, PROJECT_CONFIG_FILES[:apache])
129
+ sudo "ln -sf #{deploy_to}/apache/conf/httpd-vhost-app.conf /usr/local/apache2/conf/apps/#{application}.conf"
130
+ end
131
+
132
+ desc "Start Apache"
133
+ task :start, :roles => :web do
134
+ send(run_method, "#{apache_ctl} start")
135
+ end
136
+
137
+ desc "Stop Apache"
138
+ task :stop, :roles => :web do
139
+ send(run_method, "#{apache_ctl} stop")
140
+ end
141
+
142
+ desc "Restart Apache"
143
+ task :restart, :roles => :web do
144
+ send(run_method, "#{apache_ctl} restart")
145
+ end
146
+
147
+ desc "Reload Apache"
148
+ task :reload, :roles => :web do
149
+ send(run_method, "#{apache_ctl} reload")
150
+ end
151
+
152
+ desc "Set apache to start on boot"
153
+ task :activate, :roles => :web do
154
+ send(run_method, "update-rc.d httpd defaults")
155
+ end
156
+
157
+ desc "Set apache to not start on boot"
158
+ task :deactivate, :roles => :web do
159
+ send(run_method, "update-rc.d -f httpd remove")
160
+ end
161
+
162
+ task :backup, :roles => :web do
163
+ # not yet implemented
164
+ end
165
+
166
+ task :restore, :roles => :web do
167
+ # not yet implemented
168
+ end
169
+
170
+ # Generate an index.html page
171
+ task :install_index_page, :roles => :web do
172
+ deprec2.mkdir(apache_docroot, :owner => :root, :group => :deploy, :mode => 0775, :via => :sudo)
173
+ std.su_put deprec2.render_template(:apache, :template => 'index.html.erb'), File.join(apache_docroot, 'index.html')
174
+ std.su_put deprec2.render_template(:apache, :template => 'master.css'), File.join(apache_docroot, 'master.css')
175
+ end
176
+
177
+ end
178
+ end
179
+ end
@@ -0,0 +1,65 @@
1
+ # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
+ Capistrano::Configuration.instance(:must_exist).load do
3
+ namespace :deprec do
4
+ namespace :ar_sendmail do
5
+
6
+ desc "Install ar_mailer"
7
+ task :install do
8
+ gem2.install 'ar_mailer'
9
+ end
10
+
11
+ # install dependencies for nginx
12
+ task :install_deps do
13
+ #pass
14
+ end
15
+
16
+ PROJECT_CONFIG_FILES[:ar_sendmail] = [
17
+
18
+ {:template => 'monit.conf.erb',
19
+ :path => "monit.conf",
20
+ :mode => 0600,
21
+ :owner => 'root:root'},
22
+
23
+ {:template => 'logrotate.conf.erb',
24
+ :path => "logrotate.conf",
25
+ :mode => 0644,
26
+ :owner => 'root:root'}
27
+ ]
28
+
29
+ task :config_gen do
30
+ config_gen_project
31
+ end
32
+
33
+ task :config_gen_project do
34
+ PROJECT_CONFIG_FILES[:ar_sendmail].each do |file|
35
+ deprec2.render_template(:ar_sendmail, file)
36
+ end
37
+ end
38
+
39
+ task :config, :roles => :app do
40
+ config_project
41
+ end
42
+
43
+ task :config_project, :roles => :app do
44
+ deprec2.push_configs(:ar_sendmail, PROJECT_CONFIG_FILES[:ar_sendmail])
45
+ symlink_monit_config
46
+ symlink_logrotate_config
47
+ end
48
+
49
+ task :symlink_monit_config, :roles => :app do
50
+ deprec2.mkdir(monit_confd_dir, :via => :sudo)
51
+ sudo "ln -sf #{deploy_to}/ar_sendmail/monit.conf #{monit_confd_dir}/ar_sendmail_#{application}.conf"
52
+ end
53
+
54
+ task :unlink_monit_config, :roles => :app do
55
+ link = "#{monit_confd_dir}/ar_sendmail_#{application}.conf"
56
+ sudo "test -L #{link} && unlink #{link}"
57
+ end
58
+
59
+ task :symlink_logrotate_config, :roles => :app do
60
+ sudo "ln -sf #{deploy_to}/ar_sendmail/logrotate.conf /etc/logrotate.d/ar_sendmail-#{application}"
61
+ end
62
+
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,57 @@
1
+ # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
+ # canonical.rb
3
+ #
4
+ # Running deprec:web:stop will be the same as running deprec:apache:stop or
5
+ # deprec:nginx:stop depending what you have chosen.
6
+ #
7
+ # generic namespaces are linked up to chosen applications at runtime but these
8
+ # stubs are so they'll be included in the output of "cap -T"
9
+ #
10
+ Capistrano::Configuration.instance(:must_exist).load do
11
+
12
+ %w(web app db).each do |server|
13
+ namespace "deprec:#{server}" do
14
+
15
+ desc "Install #{server} server"
16
+ task :install, :roles => server do
17
+ end
18
+
19
+ desc "Generate config file(s) for #{server} server from template(s)"
20
+ task :config_gen do
21
+ end
22
+
23
+ desc "Deploy configuration files(s) for #{server} server"
24
+ task :config, :roles => server do
25
+ end
26
+
27
+ desc "Start #{server} server"
28
+ task :start, :roles => server do
29
+ end
30
+
31
+ desc "Stop #{server} server"
32
+ task :stop, :roles => server do
33
+ end
34
+
35
+ desc "Stop #{server} server"
36
+ task :restart, :roles => server do
37
+ end
38
+
39
+ desc "Enable startup script for #{server} server"
40
+ task :activate, :roles => server do
41
+ end
42
+
43
+ desc "Disable startup script for #{server} server"
44
+ task :deactivate, :roles => server do
45
+ end
46
+
47
+ desc "Backup data for #{server} server"
48
+ task :backup, :roles => server do
49
+ end
50
+
51
+ desc "Restore data for #{server} server from backup"
52
+ task :restore, :roles => server do
53
+ end
54
+
55
+ end
56
+ end
57
+ end