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.
- data/CHANGELOG +170 -0
- data/COPYING +19 -0
- data/LICENSE +339 -0
- data/README +136 -0
- data/THANKS +5 -0
- data/bin/depify +133 -0
- data/docs/ANNOUNCE.deprec2 +47 -0
- data/docs/README.install +88 -0
- data/docs/README.nagios +28 -0
- data/docs/README.rails +20 -0
- data/docs/README.svn +31 -0
- data/docs/ROADMAP.txt +74 -0
- data/docs/deprec-1.x/deprec-1.x.quickstart +50 -0
- data/docs/deprec-1.x/notes.txt +12 -0
- data/docs/deprec_banner.gif +0 -0
- data/lib/deprec.rb +8 -0
- data/lib/deprec/capistrano_extensions.rb +378 -0
- data/lib/deprec/recipes.rb +40 -0
- data/lib/deprec/recipes/aoe.rb +117 -0
- data/lib/deprec/recipes/apache.rb +179 -0
- data/lib/deprec/recipes/ar_sendmail.rb +65 -0
- data/lib/deprec/recipes/canonical.rb +57 -0
- data/lib/deprec/recipes/deprec.rb +155 -0
- data/lib/deprec/recipes/deprecated.rb +71 -0
- data/lib/deprec/recipes/example.rb +115 -0
- data/lib/deprec/recipes/git.rb +168 -0
- data/lib/deprec/recipes/gitosis.rb +47 -0
- data/lib/deprec/recipes/god.rb +107 -0
- data/lib/deprec/recipes/heartbeat.rb +138 -0
- data/lib/deprec/recipes/iptables.rb +53 -0
- data/lib/deprec/recipes/logrotate.rb +51 -0
- data/lib/deprec/recipes/lvm.rb +20 -0
- data/lib/deprec/recipes/memcached.rb +102 -0
- data/lib/deprec/recipes/mongrel.rb +209 -0
- data/lib/deprec/recipes/monit.rb +130 -0
- data/lib/deprec/recipes/mysql.rb +115 -0
- data/lib/deprec/recipes/nagios.rb +302 -0
- data/lib/deprec/recipes/network.rb +84 -0
- data/lib/deprec/recipes/nginx.rb +154 -0
- data/lib/deprec/recipes/ntp.rb +96 -0
- data/lib/deprec/recipes/php.rb +99 -0
- data/lib/deprec/recipes/postfix.rb +105 -0
- data/lib/deprec/recipes/rails.rb +302 -0
- data/lib/deprec/recipes/ruby.rb +66 -0
- data/lib/deprec/recipes/sphinx.rb +83 -0
- data/lib/deprec/recipes/ssh.rb +93 -0
- data/lib/deprec/recipes/svn.rb +169 -0
- data/lib/deprec/recipes/swiftiply.rb +108 -0
- data/lib/deprec/recipes/thin.rb +201 -0
- data/lib/deprec/recipes/trac.rb +277 -0
- data/lib/deprec/recipes/ubuntu.rb +20 -0
- data/lib/deprec/recipes/users.rb +90 -0
- data/lib/deprec/recipes/utils.rb +39 -0
- data/lib/deprec/recipes/xen.rb +259 -0
- data/lib/deprec/templates/aoe/aoe-init +55 -0
- data/lib/deprec/templates/aoe/fence_aoemask +351 -0
- data/lib/deprec/templates/apache/httpd-vhost-app.conf.erb +144 -0
- data/lib/deprec/templates/apache/httpd.conf +465 -0
- data/lib/deprec/templates/apache/index.html.erb +37 -0
- data/lib/deprec/templates/apache/master.css +72 -0
- data/lib/deprec/templates/ar_sendmail/logrotate.conf.erb +9 -0
- data/lib/deprec/templates/ar_sendmail/monit.conf.erb +5 -0
- data/lib/deprec/templates/coraid/aoe-init +55 -0
- data/lib/deprec/templates/deprec/caprc.erb +14 -0
- data/lib/deprec/templates/god/god-init-script +71 -0
- data/lib/deprec/templates/god/god-notifications +0 -0
- data/lib/deprec/templates/god/god_mongrel.erb +81 -0
- data/lib/deprec/templates/god/god_mysql.erb +50 -0
- data/lib/deprec/templates/god/god_nginx.erb +61 -0
- data/lib/deprec/templates/god/god_thin.erb +80 -0
- data/lib/deprec/templates/heartbeat/authkeys.erb +2 -0
- data/lib/deprec/templates/heartbeat/ha.cf.erb +15 -0
- data/lib/deprec/templates/heartbeat/haresources.erb +1 -0
- data/lib/deprec/templates/iptables/iptables.up.erb +41 -0
- data/lib/deprec/templates/logrotate/logrotate.conf.erb +32 -0
- data/lib/deprec/templates/memcached/memcached-init-script +65 -0
- data/lib/deprec/templates/memcached/memcached.conf.erb +46 -0
- data/lib/deprec/templates/mongrel/logrotate.conf.erb +11 -0
- data/lib/deprec/templates/mongrel/mongrel_cluster-init-script +54 -0
- data/lib/deprec/templates/mongrel/mongrel_cluster.logrotate.d +14 -0
- data/lib/deprec/templates/mongrel/mongrel_cluster.yml.erb +10 -0
- data/lib/deprec/templates/mongrel/monit.conf.erb +17 -0
- data/lib/deprec/templates/monit/monit-init-script +104 -0
- data/lib/deprec/templates/monit/monitrc.erb +227 -0
- data/lib/deprec/templates/monit/nothing +0 -0
- data/lib/deprec/templates/mysql/create_databases.sql +20 -0
- data/lib/deprec/templates/mysql/database.yml.prod +6 -0
- data/lib/deprec/templates/mysql/database.yml.stage +6 -0
- data/lib/deprec/templates/mysql/my.cnf.erb +140 -0
- data/lib/deprec/templates/mysql/sphinx.conf.prod +542 -0
- data/lib/deprec/templates/mysql/sphinx.conf.stage +542 -0
- data/lib/deprec/templates/nagios/cgi.cfg.erb +321 -0
- data/lib/deprec/templates/nagios/commands.cfg.erb +240 -0
- data/lib/deprec/templates/nagios/contacts.cfg.erb +75 -0
- data/lib/deprec/templates/nagios/hosts.cfg.erb +70 -0
- data/lib/deprec/templates/nagios/htpasswd.users +1 -0
- data/lib/deprec/templates/nagios/localhost.cfg.erb +157 -0
- data/lib/deprec/templates/nagios/nagios.cfg.erb +1274 -0
- data/lib/deprec/templates/nagios/nagios_apache_vhost.conf.erb +45 -0
- data/lib/deprec/templates/nagios/nrpe.cfg.erb +208 -0
- data/lib/deprec/templates/nagios/nrpe.xinetd.erb +16 -0
- data/lib/deprec/templates/nagios/resource.cfg.erb +34 -0
- data/lib/deprec/templates/nagios/services.cfg.erb +7 -0
- data/lib/deprec/templates/nagios/templates.cfg.erb +190 -0
- data/lib/deprec/templates/nagios/timeperiods.cfg.erb +94 -0
- data/lib/deprec/templates/network/hostname.erb +1 -0
- data/lib/deprec/templates/network/hosts.erb +2 -0
- data/lib/deprec/templates/network/interfaces.erb +18 -0
- data/lib/deprec/templates/nginx/logrotate.conf.erb +13 -0
- data/lib/deprec/templates/nginx/mime.types.erb +70 -0
- data/lib/deprec/templates/nginx/nginx-init-script +62 -0
- data/lib/deprec/templates/nginx/nginx.conf.erb +53 -0
- data/lib/deprec/templates/nginx/nginx.logrotate.d +12 -0
- data/lib/deprec/templates/nginx/nothing.conf +1 -0
- data/lib/deprec/templates/nginx/rails_nginx_vhost.conf.erb +45 -0
- data/lib/deprec/templates/ntp/ntp.conf.erb +42 -0
- data/lib/deprec/templates/postfix/aliases.erb +3 -0
- data/lib/deprec/templates/postfix/dynamicmaps.cf.erb +8 -0
- data/lib/deprec/templates/postfix/main.cf.erb +41 -0
- data/lib/deprec/templates/postfix/master.cf.erb +77 -0
- data/lib/deprec/templates/rails/database.yml.erb +6 -0
- data/lib/deprec/templates/sphinx/monit.conf.erb +5 -0
- data/lib/deprec/templates/ssh/ssh_config.erb +50 -0
- data/lib/deprec/templates/ssh/sshd_config.erb +78 -0
- data/lib/deprec/templates/subversion/svn.apache.vhost.erb +43 -0
- data/lib/deprec/templates/swiftiply/swiftiply-init-script +61 -0
- data/lib/deprec/templates/swiftiply/swiftiply.yml.erb +11 -0
- data/lib/deprec/templates/thin/thin-init-script +51 -0
- data/lib/deprec/templates/thin/thin.yml.erb +11 -0
- data/lib/deprec/templates/trac/apache_vhost.conf.erb +24 -0
- data/lib/deprec/templates/trac/nginx_vhost.conf.erb +26 -0
- data/lib/deprec/templates/trac/trac.ini.erb +169 -0
- data/lib/deprec/templates/trac/trac_deprec.png +0 -0
- data/lib/deprec/templates/trac/tracd-init.erb +43 -0
- data/lib/deprec/templates/trac/users.htdigest.erb +0 -0
- data/lib/deprec/templates/xen/15-disable-hwclock +40 -0
- data/lib/deprec/templates/xen/network-bridge-wrapper +3 -0
- data/lib/deprec/templates/xen/xen-tools.conf.erb +220 -0
- data/lib/deprec/templates/xen/xend-config.sxp.erb +195 -0
- data/lib/deprec/templates/xen/xend-init.erb +69 -0
- data/lib/deprec/templates/xen/xendomains.erb +137 -0
- data/lib/deprec/templates/xen/xm.tmpl.erb +85 -0
- data/lib/vmbuilder_plugins/all.rb +20 -0
- data/lib/vmbuilder_plugins/apt.rb +93 -0
- data/lib/vmbuilder_plugins/emerge.rb +76 -0
- data/lib/vmbuilder_plugins/gem.rb +90 -0
- data/lib/vmbuilder_plugins/std.rb +203 -0
- 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
|