Empact-deprec 1.99.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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