andyh-deprec 1.99.26 → 1.99.27

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 CHANGED
@@ -1,5 +1,32 @@
1
- == SVN
1
+ == git
2
2
 
3
+ * Restricted tasks to roles. [mbailey]
4
+ http://github.com/mbailey/deprec/commit/d103dda7ee3f7696007d230c76c7739dd57115ec
5
+
6
+ * Extend capistrano_extensions.rb to allow install from git sources. [jasherai]
7
+
8
+ * Updated git to 1.6.0.1 [thornysun]
9
+
10
+ == 1.99.27 (August 27, 2008)
11
+
12
+ * Bugfix: Add configure and make options to src_package for rubygems to
13
+ override defaults. [jasherai]
14
+
15
+ * Change: We now setup postfix as a satellite mail server. This is designed
16
+ to listen only on the local network interface and non-local mail to a relay
17
+ host. [mbailey]
18
+
19
+ == 1.99.26 (August 22, 2008)
20
+
21
+ * added vnstat recipes - measure and report traffic on interface counters [mbailey]
22
+ * upgrade ruby to 1.8.6-p287 [Isaac Kearse]
23
+ * upgrade to rubygems 1.2.0 - addresses memory utilization issues on
24
+ low-memory boxes (half-gig or less) [thewoolleyman]
25
+ * deprec:rails:install_stack now installs mysql [mbailey]
26
+ * turned tcp_nopush back on [mbailey]
27
+ * Correctly handle tarballs with .tgz extension [mbailey]
28
+ * Generate default remote config on install [mbailey]
29
+
3
30
  == 1.99.24 (July 7, 2008)
4
31
 
5
32
  * I've rejigged things to make it easier to install a service without having
@@ -4,12 +4,24 @@ require 'fileutils'
4
4
 
5
5
  module Deprec2
6
6
 
7
- # Temporarly set ROLES to something different
7
+ # Temporarily modify ROLES if HOSTS not set
8
+ # Capistrano's default behaviour is for HOSTS to override ROLES
8
9
  def for_roles(roles)
9
10
  old_roles = ENV['ROLES']
10
- ENV['ROLES'] = roles
11
+ ENV['ROLES'] = roles.to_s unless ENV['HOSTS']
12
+ yield
13
+ ENV['ROLES'] = old_roles.to_s unless ENV['HOSTS']
14
+ end
15
+
16
+ # Temporarily ignore ROLES and HOSTS
17
+ def ignoring_roles_and_hosts
18
+ old_roles = ENV['ROLES']
19
+ old_hosts = ENV['HOSTS']
20
+ ENV['ROLES'] = nil
21
+ ENV['HOSTS'] = nil
11
22
  yield
12
23
  ENV['ROLES'] = old_roles
24
+ ENV['HOSTS'] = old_hosts
13
25
  end
14
26
 
15
27
  DEPREC_TEMPLATES_BASE = File.join(File.dirname(__FILE__), 'templates')
@@ -242,35 +254,63 @@ module Deprec2
242
254
  if defined?(src_package[:md5sum])
243
255
  md5_clause = " && echo '#{src_package[:md5sum]}' | md5sum -c - "
244
256
  end
245
- apt.install( {:base => %w(wget)}, :stable )
246
- # XXX replace with invoke_command
247
- run "cd #{src_dir} && test -f #{src_package[:filename]} #{md5_clause} || #{sudo} wget --quiet --timestamping #{src_package[:url]}"
257
+ case src_package[:download_method]
258
+ # when getting source with git
259
+ when :git
260
+ # ensure git is installed
261
+ apt.install( {:base => %w(git-core)}, :stable) #TODO fix this to test ubuntu version <hardy might need specific git version for full git submodules support
262
+ package_dir = File.join(src_dir, src_package[:dir])
263
+ run "if [ -d #{package_dir} ]; then cd #{package_dir} && #{sudo} git pull && #{sudo} git submodule init && #{sudo} git submodule update; else #{sudo} git clone #{src_package[:url]} #{package_dir} && cd #{package_dir} && #{sudo} git submodule init && #{sudo} git submodule update ; fi"
264
+ # Checkout the revision wanted if defined
265
+ invoke_command "cd #{package_dir} && git co #{src_package[:version]}", :via => :via if src_package[:version]
266
+ # when getting source with wget
267
+ when :http
268
+ # ensure wget is installed
269
+ apt.install( {:base => %w(wget)}, :stable )
270
+ # XXX replace with invoke_command
271
+ run "cd #{src_dir} && test -f #{src_package[:filename]} #{md5_clause} || #{sudo} wget --quiet --timestamping #{src_package[:url]}"
272
+ else
273
+ puts "DOWNLOAD SRC: Download method not recognised. src_package[:download_method]: #{src_package[:download_method]}"
274
+ end
248
275
  end
249
276
 
250
277
  # unpack src and make it writable by the group
251
278
  def unpack_src(src_package, src_dir)
252
279
  set_package_defaults(src_package)
253
280
  package_dir = File.join(src_dir, src_package[:dir])
254
- # XXX replace with invoke_command
281
+ case src_package[:download_method]
282
+ # when unpacking git sources - nothing to do
283
+ when :git
284
+ puts "UNPACK SRC: nothing to do for git installs"
285
+ when :http
286
+ sudo <<-EOF
287
+ bash -c '
288
+ cd #{src_dir};
289
+ test -d #{package_dir}.old && rm -fr #{package_dir}.old;
290
+ test -d #{package_dir} && mv #{package_dir} #{package_dir}.old;
291
+ #{src_package[:unpack]}
292
+ '
293
+ EOF
294
+ else
295
+ puts "UNPACK SRC: Download method not recognised. src_package[:download_method]: #{src_package[:download_method]} "
296
+ end
255
297
  sudo <<-EOF
256
298
  bash -c '
257
299
  cd #{src_dir};
258
- test -d #{package_dir}.old && rm -fr #{package_dir}.old;
259
- test -d #{package_dir} && mv #{package_dir} #{package_dir}.old;
260
- #{src_package[:unpack]}
261
300
  chgrp -R #{group} #{package_dir};
262
301
  chmod -R g+w #{package_dir};
263
302
  '
264
303
  EOF
265
304
  end
266
-
305
+
267
306
  def set_package_defaults(pkg)
268
- pkg[:filename] ||= File.basename(pkg[:url])
269
- pkg[:dir] ||= pkg[:filename].sub(/(\.tgz|\.tar\.gz)/,'')
270
- pkg[:unpack] ||= "tar zxf #{pkg[:filename]};"
271
- pkg[:configure] ||= './configure ;'
272
- pkg[:make] ||= 'make;'
273
- pkg[:install] ||= 'make install;'
307
+ pkg[:filename] ||= File.basename(pkg[:url])
308
+ pkg[:dir] ||= pkg[:filename].sub(/(\.tgz|\.tar\.gz)/,'')
309
+ pkg[:download_method] ||= :http
310
+ pkg[:unpack] ||= "tar zxf #{pkg[:filename]};"
311
+ pkg[:configure] ||= './configure ;'
312
+ pkg[:make] ||= 'make;'
313
+ pkg[:install] ||= 'make install;'
274
314
  end
275
315
 
276
316
  # install package from source
@@ -388,4 +428,4 @@ module Deprec2
388
428
 
389
429
  end
390
430
 
391
- Capistrano.plugin :deprec2, Deprec2
431
+ Capistrano.plugin :deprec2, Deprec2
@@ -32,6 +32,8 @@ require "#{File.dirname(__FILE__)}/recipes/sphinx"
32
32
  require "#{File.dirname(__FILE__)}/recipes/logrotate"
33
33
  require "#{File.dirname(__FILE__)}/recipes/utils"
34
34
  require "#{File.dirname(__FILE__)}/recipes/git"
35
+ require "#{File.dirname(__FILE__)}/recipes/apt_mirror"
35
36
  # require "#{File.dirname(__FILE__)}/recipes/pdns"
36
37
  require "#{File.dirname(__FILE__)}/recipes/gitosis"
38
+ require "#{File.dirname(__FILE__)}/recipes/wordpress"
37
39
  require "#{File.dirname(__FILE__)}/recipes/ar_sendmail"
@@ -2,75 +2,74 @@
2
2
  Capistrano::Configuration.instance(:must_exist).load do
3
3
 
4
4
  SRC_PACKAGES[:aoe] = {
5
- :filename => 'aoe6-56.tar.gz',
6
- :md5sum => "93689aaad32f647a788c15c82bd0158e aoe6-56.tar.gz",
7
- :dir => 'aoe6-56',
8
- :url => "http://www.coraid.com/support/linux/aoe6-56.tar.gz",
9
- :unpack => "tar zxf aoe6-56.tar.gz;",
10
- :make => 'make;',
11
- :install => 'make install;'
5
+ :url => "http://support.coraid.com/support/linux/aoe6-64.tar.gz",
6
+ :md5sum => "c5e1ebb734e3b29c0a3d886a700ca44a aoe6-64.tar.gz",
7
+ :configure => ''
8
+ }
9
+
10
+ SRC_PACKAGES[:cec] = {
11
+ :url => "http://easynews.dl.sourceforge.net/sourceforge/aoetools/cec-8.tgz",
12
+ :md5sum => "7899dc549f9a368e532f9c39ed819f71 cec-8.tgz",
13
+ :configure => '',
14
+ :install => "test -f /usr/sbin/cec && rm /usr/sbin/cec; make install;"
15
+ }
16
+
17
+ SRC_PACKAGES[:ddt] = {
18
+ :url => "http://support.coraid.com/support/sr/ddt-8.tgz",
19
+ :md5sum => "256a58aba5e05f9995fb9de6aadadf92 ddt-8.tgz"
20
+ }
21
+
22
+ SRC_PACKAGES[:aoemask] = {
23
+ :url => "http://support.coraid.com/support/sr/aoemask-1.tgz",
24
+ :md5sum => "379461a28d511e269f4593b846bd1288 aoemask-1.tgz"
12
25
  }
13
26
 
14
27
  namespace :deprec do
15
28
  namespace :aoe do
16
-
29
+
17
30
  desc "Install aoe drivers required to mount Coraid block devices"
18
- task :install do
31
+ task :install, :roles => :aoe do
19
32
  install_deps
20
33
  deprec2.download_src(SRC_PACKAGES[:aoe], src_dir)
21
34
  deprec2.install_from_src(SRC_PACKAGES[:aoe], src_dir)
22
35
  end
23
36
 
24
- task :install_deps do
37
+ task :install_deps, :roles => :aoe do
25
38
  apt.install( {:base => %w(build-essential linux-headers-$(uname -r) vblade aoetools)}, :stable )
26
39
  end
27
-
40
+
41
+ desc "Install all AoE related software"
42
+ task :install_all, :roles => :aoe do
43
+ top.deprec.aoe.install
44
+ top.deprec.cec.install
45
+ top.deprec.ddt.install
46
+ top.deprec.aoemask.install
47
+ end
48
+
28
49
  end
29
50
 
30
-
31
- SRC_PACKAGES[:cec] = {
32
- :url => "http://easynews.dl.sourceforge.net/sourceforge/aoetools/cec-8.tgz",
33
- :md5sum => "7899dc549f9a368e532f9c39ed819f71 cec-8.tgz"
34
- }
35
-
36
51
  namespace :cec do
37
-
38
52
  desc "install CEC (Coraid Ethernet Console)"
39
- task :install do
53
+ task :install, :roles => :aoe do
40
54
  deprec2.download_src(SRC_PACKAGES[:cec], src_dir)
41
55
  deprec2.install_from_src(SRC_PACKAGES[:cec], src_dir)
42
56
  end
43
-
44
57
  end
45
58
 
46
- SRC_PACKAGES[:ddt] = {
47
- :url => "http://support.coraid.com/support/sr/ddt-6.tgz",
48
- :md5sum => "5e1e8a58a8621b93440be605113f7bc0 ddt-6.tgz"
49
- }
50
-
51
59
  namespace :ddt do
52
-
53
60
  desc "install DDT (tool for testing performance)"
54
- task :install do
61
+ task :install, :roles => :aoe do
55
62
  deprec2.download_src(SRC_PACKAGES[:ddt], src_dir)
56
63
  deprec2.install_from_src(SRC_PACKAGES[:ddt], src_dir)
57
64
  end
58
-
59
65
  end
60
66
 
61
- SRC_PACKAGES[:aoemask] = {
62
- :url => "http://support.coraid.com/support/sr/aoemask-1.tgz",
63
- :md5sum => "379461a28d511e269f4593b846bd1288 aoemask-1.tgz"
64
- }
65
-
66
67
  namespace :aoemask do
67
-
68
68
  desc "install aoemask"
69
- task :install do
69
+ task :install, :roles => :aoe do
70
70
  deprec2.download_src(SRC_PACKAGES[:aoemask], src_dir)
71
71
  deprec2.install_from_src(SRC_PACKAGES[:aoemask], src_dir)
72
72
  end
73
-
74
73
  end
75
74
 
76
75
  end
@@ -4,12 +4,12 @@ Capistrano::Configuration.instance(:must_exist).load do
4
4
  namespace :ar_sendmail do
5
5
 
6
6
  desc "Install ar_mailer"
7
- task :install do
7
+ task :install, :roles => :app do
8
8
  gem2.install 'ar_mailer'
9
9
  end
10
10
 
11
- # install dependencies for nginx
12
- task :install_deps do
11
+ # install dependencies for ar_sendmail
12
+ task :install_deps, :roles => :app do
13
13
  #pass
14
14
  end
15
15
 
@@ -30,12 +30,14 @@ Capistrano::Configuration.instance(:must_exist).load do
30
30
  config_gen_project
31
31
  end
32
32
 
33
+ desc "Generate configuration file(s) for ar_sendmail from template(s)"
33
34
  task :config_gen_project do
34
35
  PROJECT_CONFIG_FILES[:ar_sendmail].each do |file|
35
36
  deprec2.render_template(:ar_sendmail, file)
36
37
  end
37
38
  end
38
39
 
40
+ desc "Push ar_sendmail config files to server"
39
41
  task :config, :roles => :app do
40
42
  config_project
41
43
  end
@@ -10,8 +10,8 @@ Capistrano::Configuration.instance(:must_exist).load do
10
10
  set :git_root, '/var/git'
11
11
 
12
12
  SRC_PACKAGES[:git] = {
13
- :url => "http://kernel.org/pub/software/scm/git/git-1.5.5.4.tar.gz",
14
- :md5sum => "8255894042c8a6db07227475b8b4622f git-1.5.5.4.tar.gz"
13
+ :url => "http://kernel.org/pub/software/scm/git/git-1.6.0.1.tar.gz",
14
+ :md5sum => "7096bac44acbb73f916d3089aa3fdee6 git-1.6.0.1.tar.gz"
15
15
  }
16
16
 
17
17
  desc "Install git"
@@ -94,4 +94,4 @@ Capistrano::Configuration.instance(:must_exist).load do
94
94
 
95
95
  end
96
96
  end
97
- end
97
+ end
@@ -21,7 +21,7 @@ Capistrano::Configuration.instance(:must_exist).load do
21
21
  # Install
22
22
 
23
23
  desc "Install mongrel"
24
- task :install do
24
+ task :install, :roles => :app do
25
25
  gem2.install 'mongrel'
26
26
  gem2.install 'mongrel_cluster'
27
27
  gem2.install 'swiftiply'
@@ -32,11 +32,11 @@ Capistrano::Configuration.instance(:must_exist).load do
32
32
  activate_system
33
33
  end
34
34
 
35
- task :symlink_mongrel_rails do
35
+ task :symlink_mongrel_rails, :roles => :app do
36
36
  sudo "ln -sf /usr/local/bin/mongrel_rails /usr/bin/mongrel_rails"
37
37
  end
38
38
 
39
- task :symlink_logrotate_config do
39
+ task :symlink_logrotate_config, :roles => :app do
40
40
  sudo "ln -sf #{deploy_to}/mongrel/logrotate.conf /etc/logrotate.d/mongrel-#{application}"
41
41
  end
42
42
 
@@ -142,16 +142,16 @@ Capistrano::Configuration.instance(:must_exist).load do
142
142
  send(run_method, "mongrel_rails cluster::restart --clean -C #{mongrel_conf}")
143
143
  end
144
144
 
145
- task :activate, :roles => :app do
145
+ task :activate do
146
146
  activate_system
147
147
  activate_project
148
148
  end
149
149
 
150
- task :activate_system, :roles => :app do
150
+ task :activate_system do
151
151
  send(run_method, "update-rc.d mongrel_cluster defaults")
152
152
  end
153
153
 
154
- task :activate_project, :roles => :app do
154
+ task :activate_project do
155
155
  symlink_mongrel_cluster
156
156
  symlink_monit_config
157
157
  end
@@ -6,22 +6,22 @@ Capistrano::Configuration.instance(:must_exist).load do
6
6
  # Installation
7
7
 
8
8
  desc "Install mysql"
9
- task :install do
9
+ task :install, :roles => :db do
10
10
  install_deps
11
- symlink_mysql_sockfile # XXX still needed?
11
+ # symlink_mysql_sockfile # XXX still needed?
12
12
  end
13
13
 
14
14
  # Install dependencies for Mysql
15
- task :install_deps do
15
+ task :install_deps, :roles => :db do
16
16
  apt.install( {:base => %w(mysql-server mysql-client)}, :stable )
17
17
  end
18
18
 
19
- task :symlink_mysql_sockfile, :roles => :db do
20
- # rails puts "socket: /tmp/mysql.sock" into config/database.yml
21
- # this is not the location for our ubuntu's mysql socket file
22
- # so we create this link to make deployment using rails defaults simpler
23
- sudo "ln -sf /var/run/mysqld/mysqld.sock /tmp/mysql.sock"
24
- end
19
+ # task :symlink_mysql_sockfile, :roles => :db do
20
+ # # rails puts "socket: /tmp/mysql.sock" into config/database.yml
21
+ # # this is not the location for our ubuntu's mysql socket file
22
+ # # so we create this link to make deployment using rails defaults simpler
23
+ # sudo "ln -sf /var/run/mysqld/mysqld.sock /tmp/mysql.sock"
24
+ # end
25
25
 
26
26
  # Configuration
27
27
 
@@ -17,7 +17,7 @@ Capistrano::Configuration.instance(:must_exist).load do
17
17
  }
18
18
 
19
19
  desc "Install nginx"
20
- task :install do
20
+ task :install, :roles => :web do
21
21
  install_deps
22
22
  deprec2.download_src(SRC_PACKAGES[:nginx], src_dir)
23
23
  deprec2.install_from_src(SRC_PACKAGES[:nginx], src_dir)
@@ -30,20 +30,15 @@ Capistrano::Configuration.instance(:must_exist).load do
30
30
  end
31
31
 
32
32
  # install dependencies for nginx
33
- task :install_deps do
33
+ task :install_deps, :roles => :web do
34
34
  apt.install( {:base => %w(libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev)}, :stable )
35
35
  # do we need libgcrypt11-dev?
36
36
  end
37
37
 
38
- task :create_nginx_user do
38
+ task :create_nginx_user, :roles => :web do
39
39
  deprec2.groupadd(nginx_group)
40
40
  deprec2.useradd(nginx_user, :group => nginx_group, :homedir => false)
41
41
  end
42
-
43
- task :rename_index_page, :roles => :web do
44
- index_file = '/usr/local/nginx/html/index.html'
45
- sudo "test -f #{index_file} && sudo mv #{index_file} #{index_file}.orig || exit 0"
46
- end
47
42
 
48
43
  SYSTEM_CONFIG_FILES[:nginx] = [
49
44
 
@@ -89,11 +84,11 @@ Capistrano::Configuration.instance(:must_exist).load do
89
84
  Activate nginx start scripts on server.
90
85
  Setup server to start nginx on boot.
91
86
  DESC
92
- task :activate do
87
+ task :activate, :roles => :web do
93
88
  activate_system
94
89
  end
95
90
 
96
- task :activate_system do
91
+ task :activate_system, :roles => :web do
97
92
  send(run_method, "update-rc.d nginx defaults")
98
93
  end
99
94
 
@@ -101,11 +96,10 @@ Capistrano::Configuration.instance(:must_exist).load do
101
96
  Dectivate nginx start scripts on server.
102
97
  Setup server to start nginx on boot.
103
98
  DESC
104
- task :deactivate do
99
+ task :deactivate, :roles => :web do
105
100
  send(run_method, "update-rc.d -f nginx remove")
106
101
  end
107
102
 
108
-
109
103
  # Control
110
104
 
111
105
  desc "Start Nginx"
@@ -138,6 +132,12 @@ Capistrano::Configuration.instance(:must_exist).load do
138
132
  task :restore, :roles => :web do
139
133
  # there's nothing to store for nginx
140
134
  end
135
+
136
+ # Helper task to get rid of pesky "it works" page - not called by deprec tasks
137
+ task :rename_index_page, :roles => :web do
138
+ index_file = '/usr/local/nginx/html/index.html'
139
+ sudo "test -f #{index_file} && sudo mv #{index_file} #{index_file}.orig || exit 0"
140
+ end
141
141
 
142
142
  end
143
143
  end
@@ -5,14 +5,11 @@ Capistrano::Configuration.instance(:must_exist).load do
5
5
 
6
6
  desc "Install PHP from source"
7
7
  task :install do
8
- version = 'php-5.2.4'
9
8
  set :src_package, {
10
- :file => version + '.tar.gz',
11
- :md5sum => '0826e231c3148b29fd039d7a8c893ad3 php-5.2.4.tar.gz',
12
- :dir => version,
13
- :url => "http://www.php.net/distributions/#{version}.tar.gz",
14
- :unpack => "tar zxf #{version}.tar.gz;",
9
+ :md5sum => '1720f95f26c506338f0dba3a51906bbd php-5.2.6.tar.gz',
10
+ :url => "http://www.php.net/distributions/php-5.2.6.tar.gz",
15
11
  :configure => %w(
12
+ export CFLAGS=-O2;
16
13
  ./configure
17
14
  --prefix=/usr/local/php
18
15
  --with-apxs2=/usr/local/apache2/bin/apxs
@@ -34,13 +31,9 @@ Capistrano::Configuration.instance(:must_exist).load do
34
31
  --enable-mbstring
35
32
  --with-curl==/usr/lib
36
33
  ;
37
- ).reject{|arg| arg.match '#'}.join(' '),
38
- :make => 'make;',
39
- :install => 'make install;',
40
- :post_install => ""
34
+ ).reject{|arg| arg.match '#'}.join(' ')
41
35
  }
42
36
  install_deps
43
- run "export CFLAGS=-O2;"
44
37
  deprec2.download_src(src_package, src_dir)
45
38
  deprec2.install_from_src(src_package, src_dir)
46
39
  deprec2.append_to_file_if_missing('/usr/local/apache2/conf/httpd.conf', 'AddType application/x-httpd-php .php')
@@ -48,7 +41,6 @@ Capistrano::Configuration.instance(:must_exist).load do
48
41
 
49
42
  # install dependencies for php
50
43
  task :install_deps do
51
- puts "This function should be overridden by your OS plugin!"
52
44
  apt.install( {:base => %w(zlib1g-dev zlib1g openssl libssl-dev
53
45
  flex libcurl3 libcurl3-dev libmcrypt-dev libmysqlclient15-dev libncurses5-dev
54
46
  libxml2-dev libjpeg62-dev libpng12-dev)}, :stable )
@@ -4,16 +4,24 @@ Capistrano::Configuration.instance(:must_exist).load do
4
4
  namespace :deprec do
5
5
  namespace :postfix do
6
6
 
7
+ set(:postfix_relayhost) { Capistrano::CLI.ui.ask "What host should we relay mail through?" }
7
8
  desc "Install Postfix"
8
- task :install, :roles => :web do
9
+ task :install, :roles => :mail do
9
10
  install_deps
10
11
  end
11
12
 
12
13
  # Install dependencies for Postfix
13
14
  task :install_deps do
14
- apt.install( {:base => %w(postfix)}, :stable )
15
+ # mutt and mailx are useful tools for testing mail
16
+ # e.g. echo test | mail test@gmail.com
17
+ apt.install( {:base => %w(postfix mutt mailx)}, :stable )
15
18
  end
16
19
 
20
+ # This is my default Postfix setup on servers that
21
+ # aren't my main outgoing mailserver.
22
+ # It accepts mail from localhost only and relays
23
+ # all mail to a master mailserver for delivery.
24
+ #
17
25
  SYSTEM_CONFIG_FILES[:postfix] = [
18
26
 
19
27
  {:template => "main.cf.erb",
@@ -38,17 +46,18 @@ Capistrano::Configuration.instance(:must_exist).load do
38
46
 
39
47
  ]
40
48
 
41
- desc "Generate configuration file(s) for XXX from template(s)"
49
+ desc 'Generate configuration files(s) for postfix'
42
50
  task :config_gen do
43
51
  SYSTEM_CONFIG_FILES[:postfix].each do |file|
44
52
  deprec2.render_template(:postfix, file)
45
53
  end
46
54
  end
47
55
 
48
- desc 'Deploy configuration files(s) for XXX'
49
- task :config, :roles => :mail do
56
+ desc 'Deploy configuration files(s) for postfix'
57
+ task :config, :roles => :mail, :except => { :master => true } do
50
58
  deprec2.push_configs(:postfix, SYSTEM_CONFIG_FILES[:postfix])
51
59
  send(run_method, "/usr/bin/newaliases")
60
+ reload
52
61
  end
53
62
 
54
63
  desc "Start Postfix"
@@ -61,10 +61,9 @@ Capistrano::Configuration.instance(:must_exist).load do
61
61
  top.deprec.ruby.install
62
62
  top.deprec.rubygems.install
63
63
 
64
- deprec2.for_roles('web') do
65
- top.deprec.nginx.install
66
- end
64
+ top.deprec.nginx.install
67
65
 
66
+ # XXX check this out before removing - Mike
68
67
  deprec2.for_roles('app') do
69
68
  top.deprec.svn.install
70
69
  top.deprec.git.install
@@ -73,15 +72,10 @@ Capistrano::Configuration.instance(:must_exist).load do
73
72
  top.deprec.rails.install
74
73
  end
75
74
 
76
- deprec2.for_roles('web,app') do
77
- top.deprec.logrotate.install
78
- end
75
+ top.deprec.logrotate.install
79
76
 
80
- # Install database separately
81
- deprec2.for_roles('db') do
82
- top.deprec.mysql.install
83
- top.deprec.mysql.start
84
- end
77
+ top.deprec.mysql.install
78
+ top.deprec.mysql.start
85
79
 
86
80
  end
87
81
 
@@ -90,7 +84,7 @@ Capistrano::Configuration.instance(:must_exist).load do
90
84
  install_stack
91
85
  end
92
86
 
93
- task :install_gems_for_project do
87
+ task :install_gems_for_project, :roles => :app do
94
88
  if gems_for_project
95
89
  gems_for_project.each { |gem| gem2.install(gem) }
96
90
  end
@@ -122,23 +116,23 @@ Capistrano::Configuration.instance(:must_exist).load do
122
116
  deprec2.push_configs(:nginx, PROJECT_CONFIG_FILES[:nginx])
123
117
  top.deprec.mongrel.config_project
124
118
  symlink_nginx_vhost
125
- symlink_logrotate_config
119
+ symlink_nginx_logrotate_config
126
120
  end
127
121
 
128
122
  task :symlink_nginx_vhost, :roles => :web do
129
123
  sudo "ln -sf #{deploy_to}/nginx/rails_nginx_vhost.conf #{nginx_vhost_dir}/#{application}.conf"
130
124
  end
131
125
 
132
- task :symlink_logrotate_config, :roles => :web do
126
+ task :symlink_nginx_logrotate_config, :roles => :web do
133
127
  sudo "ln -sf #{deploy_to}/nginx/logrotate.conf /etc/logrotate.d/nginx-#{application}"
134
128
  end
135
129
 
136
- task :create_config_dir do
130
+ task :create_config_dir, :roles => :app do
137
131
  deprec2.mkdir("#{shared_path}/config", :group => group, :mode => 0775, :via => :sudo)
138
132
  end
139
133
 
140
134
  desc "Create deployment group and add current user to it"
141
- task :setup_user_perms do
135
+ task :setup_user_perms, :roles => [:app, :web] do
142
136
  deprec2.groupadd(group)
143
137
  deprec2.add_user_to_group(user, group)
144
138
  deprec2.groupadd(mongrel_group)
@@ -160,7 +154,7 @@ Capistrano::Configuration.instance(:must_exist).load do
160
154
  end
161
155
 
162
156
  # setup extra paths required for deployment
163
- task :setup_paths, :roles => :app do
157
+ task :setup_paths, :roles => [:app, :web] do
164
158
  deprec2.mkdir(deploy_to, :mode => 0775, :group => group, :via => :sudo)
165
159
  deprec2.mkdir(shared_path, :mode => 0775, :group => group, :via => :sudo)
166
160
  end
@@ -285,4 +279,4 @@ Capistrano::Configuration.instance(:must_exist).load do
285
279
 
286
280
  end
287
281
 
288
- end
282
+ end
@@ -5,11 +5,11 @@ Capistrano::Configuration.instance(:must_exist).load do
5
5
  namespace :ruby do
6
6
 
7
7
  SRC_PACKAGES[:ruby] = {
8
- :filename => 'ruby-1.8.6-p110.tar.gz',
9
- :md5sum => "5d9f903eae163cda2374ef8fdba5c0a5 ruby-1.8.6-p110.tar.gz",
10
- :dir => 'ruby-1.8.6-p110',
11
- :url => "ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p110.tar.gz",
12
- :unpack => "tar zxf ruby-1.8.6-p110.tar.gz;",
8
+ :filename => 'ruby-1.8.6-p287.tar.gz',
9
+ :md5sum => "f6cd51001534ced5375339707a757556 ruby-1.8.6-p287.tar.gz",
10
+ :dir => 'ruby-1.8.6-p287',
11
+ :url => "ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p287.tar.gz",
12
+ :unpack => "tar zxf ruby-1.8.6-p287.tar.gz;",
13
13
  :configure => %w(
14
14
  ./configure
15
15
  --with-readline-dir=/usr/local
@@ -38,10 +38,12 @@ Capistrano::Configuration.instance(:must_exist).load do
38
38
 
39
39
  SRC_PACKAGES[:rubygems] = {
40
40
  :filename => 'rubygems-1.2.0.tgz',
41
- :md5sum => "b77a4234360735174d1692e6fc598402 rubygems-1.0.1.tgz",
41
+ :md5sum => "b77a4234360735174d1692e6fc598402 rubygems-1.2.0.tgz",
42
42
  :dir => 'rubygems-1.2.0',
43
43
  :url => "http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz",
44
44
  :unpack => "tar zxf rubygems-1.2.0.tgz;",
45
+ :configure => "",
46
+ :make => "",
45
47
  :install => 'ruby setup.rb;'
46
48
  }
47
49
 
@@ -80,4 +80,7 @@ Capistrano::Configuration.instance(:must_exist).load do
80
80
 
81
81
  end
82
82
  end
83
- end
83
+ end
84
+
85
+ # ultrasphinx deployment notes
86
+ # http://blog.evanweaver.com/files/doc/fauna/ultrasphinx/files/DEPLOYMENT_NOTES.html
@@ -28,8 +28,7 @@ Capistrano::Configuration.instance(:must_exist).load do
28
28
  end
29
29
 
30
30
  task :net do
31
- apps = %w(lynx nmap netcat
32
- vim-full)
31
+ apps = %w(lynx nmap netcat mailx mutt telnet vim-full dnsutils)
33
32
  apt.install( {:base => apps}, :stable )
34
33
  end
35
34
 
@@ -60,7 +60,7 @@ Capistrano::Configuration.instance(:must_exist).load do
60
60
  enable_hardy_domu
61
61
  end
62
62
 
63
- task :install_deps do
63
+ task :install_deps, :roles => :dom0 do
64
64
  # for amd64 version of ubuntu 7.10
65
65
  apt.install( {:base => %w(linux-image-xen bridge-utils libxen3.1 python-xen-3.1 xen-docs-3.1 xen-hypervisor-3.1 xen-ioemu-3.1 xen-tools xen-utils-3.1 lvm2)}, :stable )
66
66
  # alternatively, for x86 version of ubuntu:
@@ -75,7 +75,7 @@ Capistrano::Configuration.instance(:must_exist).load do
75
75
  end
76
76
 
77
77
  desc "Push Xen config files to server"
78
- task :config do
78
+ task :config, :roles => :dom0 do
79
79
  deprec2.push_configs(:xen, SYSTEM_CONFIG_FILES[:xen])
80
80
  end
81
81
 
@@ -86,30 +86,30 @@ Capistrano::Configuration.instance(:must_exist).load do
86
86
  # xm create -c /etc/xen/x1.cfg
87
87
 
88
88
  desc "Start Xen"
89
- task :start do
89
+ task :start, :roles => :dom0 do
90
90
  send(run_method, "/etc/init.d/xend start")
91
91
  end
92
92
 
93
93
  desc "Stop Xen"
94
- task :stop do
94
+ task :stop, :roles => :dom0 do
95
95
  send(run_method, "/etc/init.d/xend stop")
96
96
  end
97
97
 
98
98
  desc "Restart Xen"
99
- task :restart do
99
+ task :restart, :roles => :dom0 do
100
100
  send(run_method, "/etc/init.d/xend restart")
101
101
  end
102
102
 
103
103
  desc "Reload Xen"
104
- task :reload do
104
+ task :reload, :roles => :dom0 do
105
105
  send(run_method, "/etc/init.d/xend reload")
106
106
  end
107
107
 
108
- task :list do
108
+ task :list, :roles => :dom0 do
109
109
  sudo "xm list"
110
110
  end
111
111
 
112
- task :info do
112
+ task :info, :roles => :dom0 do
113
113
  sudo "xm info"
114
114
  end
115
115
 
@@ -1,4 +1,4 @@
1
- <%= shared_path %>/log/production.log <%= shared_path %>/log/mongrel.*.log {
1
+ <%= shared_path %>/log/<%= rails_env %>.log <%= shared_path %>/log/mongrel.*.log {
2
2
  daily
3
3
  rotate 14
4
4
  dateext
@@ -1,9 +1,10 @@
1
1
  # See /usr/share/postfix/main.cf.dist for a commented, more complete version
2
2
 
3
+
3
4
  # Debian specific: Specifying a file name will cause the first
4
5
  # line of that file to be used as the name. The Debian default
5
6
  # is /etc/mailname.
6
- #myorigin = /etc/mailname
7
+ myorigin = /etc/mailname
7
8
 
8
9
  smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
9
10
  biff = no
@@ -24,18 +25,12 @@ smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
24
25
  # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
25
26
  # information on enabling SSL in the smtp client.
26
27
 
27
- myhostname = dn.blocksglobal.com
28
+ # myhostname =
28
29
  alias_maps = hash:/etc/aliases
29
30
  alias_database = hash:/etc/aliases
30
- myorigin = /etc/mailname
31
-
32
- # deprec - XXX add something like this to template file
33
- #
34
- # mydestination = <%# postfix_destination_domains * ', ' %>, localhost.localdomain, localhost
35
- mydestination = dn.blocksglobal.com, localhost.blocksglobal.com, , localhost
36
-
37
- relayhost =
31
+ mydestination = $myhostname localhost.$mydomain $myorigin
32
+ relayhost = <%= postfix_relayhost %>
38
33
  mynetworks = 127.0.0.0/8
39
34
  mailbox_size_limit = 0
40
35
  recipient_delimiter = +
41
- inet_interfaces = all
36
+ inet_interfaces = loopback-only
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: andyh-deprec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.99.26
4
+ version: 1.99.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Bailey
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-13 00:00:00 -07:00
12
+ date: 2008-10-09 00:00:00 -07:00
13
13
  default_executable: depify
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency