rubber 1.3.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +41 -0
- data/VERSION +1 -1
- data/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +1 -1
- data/generators/vulcanize/templates/base/config/rubber/rubber.yml +1 -1
- data/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +1 -1
- data/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +2 -2
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +25 -0
- data/lib/rubber/recipes/rubber/setup.rb +15 -2
- metadata +4 -16
data/CHANGELOG
CHANGED
@@ -1,3 +1,44 @@
|
|
1
|
+
1.3.0
|
2
|
+
-----
|
3
|
+
|
4
|
+
fix release process <4e1243b> [Matt Conway]
|
5
|
+
more tests <6a70bb5> [Matt Conway]
|
6
|
+
Merge branch 'master' into zerigo_api_1_1 <9d5fb10> [Matt Conway]
|
7
|
+
Merge branch 'master' into canonical_ami <b40f95a> [Matt Conway]
|
8
|
+
preserver backwards compatbility with sysklog in older ubuntu images <daf3283> [Matt Conway]
|
9
|
+
Bump rubygems version. <60509fb> [Kevin Menard]
|
10
|
+
Redis version bump. <89ca8ee> [Kevin Menard]
|
11
|
+
Merge branch 'master' into canonical_ami <fc62f2e> [Matt Conway]
|
12
|
+
ruby 1.9 fix for to_a (thanks to rlewis) <19fa3c1> [Matt Conway]
|
13
|
+
Fixed compatibility issues with Ruby 1.9.x <d037136> [Matt Conway]
|
14
|
+
Merge branch 'jrhicks/master' <b28fa6a> [Matt Conway]
|
15
|
+
disable debian.cnf copy <fdbbf8c> [Matt Conway]
|
16
|
+
prevent backups when generating apparmor config file <2cc50b6> [Matt Conway]
|
17
|
+
cleanup remote ruby script execution <86da61e> [Matt Conway]
|
18
|
+
fix force flag, add backup flag for disabling backups (e.g. in /etc/*.d directories) <9e749fd> [Matt Conway]
|
19
|
+
prevent ubuntu 9.10 ec2-init script from changing hostname <739a495> [Matt Conway]
|
20
|
+
fix monit config for new version in ubuntu 9.10 <6df5a33> [Matt Conway]
|
21
|
+
move mysql reconfigure to common mysql bootstrap <4ce6255> [Matt Conway]
|
22
|
+
fix mysql deploy for new ubuntu <7ef0ae7> [Matt Conway]
|
23
|
+
Ubuntu using rsyslog now <904f225> [Matt Conway]
|
24
|
+
update to latest rubygems <7722ba6> [Matt Conway]
|
25
|
+
use sudo everywhere in case users don't want to run as root <8b19367> [Matt Conway]
|
26
|
+
allow root login to canonical amis <d04b7f1> [Matt Conway]
|
27
|
+
Switch to canonical AMIs <4cd540e> [Matt Conway]
|
28
|
+
fix 404, use zone.id <2219de4> [Matt Conway]
|
29
|
+
Merge branch 'zerigo_api_1_1' of github.com:wr0ngway/rubber into zerigo_api_1_1 <23f7b70> [Matt Conway]
|
30
|
+
no need for customer id in new zerigo api <e91589a> [Matt Conway]
|
31
|
+
using zerigo api v1.1 <1aecee3> [Matt Conway]
|
32
|
+
no need for customer id in new zerigo api <45c4258> [Matt Conway]
|
33
|
+
using zerigo api v1.1 <8784286> [Matt Conway]
|
34
|
+
Only proxy app roles since mongrel may be used by non-app roles. <3dd218d> [Kevin Menard]
|
35
|
+
Only proxy app roles since passenger may be used for non-app roles, too. <13a7f49> [Kevin Menard]
|
36
|
+
Add capistrano task to move data from deploy client to production server. cap rubber:mysql:local_to_ec2 <628920d> [Jeffrey Hicks]
|
37
|
+
Added mysql cap commands rubber:mysql:backup and rubber:mysql:restore_s3 <2f3c535> [Jeffrey Hicks]
|
38
|
+
Added mysql client headers to mysql package to allow compilation of mysql <89c5a38> [Jeffrey Hicks]
|
39
|
+
Passenger bump. <d09934e> [Kevin Menard]
|
40
|
+
Use full path to ruby in case munin's path doesn't work due to non-login shell. <c9ec151> [Kevin Menard]
|
41
|
+
|
1
42
|
1.2.1
|
2
43
|
-----
|
3
44
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.3.
|
1
|
+
1.3.1
|
@@ -140,7 +140,7 @@ ruby_prefix: "#{use_enterprise_ruby ? '/usr/local' : '/usr'}"
|
|
140
140
|
# OPTIONAL: The packages to install on all instances
|
141
141
|
# You can install a specific version of a package by using a sub-array of pkg, version
|
142
142
|
# For example, packages: [[rake, 0.7.1], irb]
|
143
|
-
packages: [postfix, build-essential, ruby-full, ruby1.8-dev, rake, irb, git-core]
|
143
|
+
packages: [postfix, build-essential, ruby-full, ruby1.8-dev, rake, irb, git-core, ec2-ami-tools]
|
144
144
|
|
145
145
|
# OPTIONAL: gem sources to setup for rubygems
|
146
146
|
# gemsources: ["http://rubygems.org", "http://gems.github.com"]
|
@@ -10,7 +10,7 @@ namespace :rubber do
|
|
10
10
|
task :custom_install, :roles => :jetty do
|
11
11
|
rubber.sudo_script 'install_jetty', <<-ENDSCRIPT
|
12
12
|
if [[ -z `ls #{rubber_env.jetty_prefix}/jetty-hightide-#{rubber_env.jetty_version} 2> /dev/null` ]]; then
|
13
|
-
wget -
|
13
|
+
wget -qN http://dist.codehaus.org/jetty/jetty-hightide-7.0.0/jetty-hightide-#{rubber_env.jetty_version}.tar.gz
|
14
14
|
tar -zxf jetty-hightide-#{rubber_env.jetty_version}.tar.gz
|
15
15
|
|
16
16
|
# Install to appropriate location.
|
@@ -132,8 +132,8 @@ namespace :rubber do
|
|
132
132
|
task :custom_install_munin, :roles => [:mysql_master, :mysql_slave] do
|
133
133
|
rubber.sudo_script 'install_munin_mysql', <<-ENDSCRIPT
|
134
134
|
if [ ! -f /usr/share/munin/plugins/mysql_ ]; then
|
135
|
-
wget -
|
136
|
-
wget -
|
135
|
+
wget -qN -O /usr/share/munin/plugins/mysql_ http://github.com/kjellm/munin-mysql/raw/master/mysql_
|
136
|
+
wget -qN -O /etc/munin/plugin-conf.d/mysql_.conf http://github.com/kjellm/munin-mysql/raw/master/mysql_.conf
|
137
137
|
fi
|
138
138
|
ENDSCRIPT
|
139
139
|
end
|
@@ -7,4 +7,29 @@ PassengerRoot <%= rubber_env.passenger_root %>
|
|
7
7
|
PassengerRuby <%= rubber_env.passenger_ruby %>
|
8
8
|
PassengerUseGlobalQueue on
|
9
9
|
|
10
|
+
# max number of rails instances per appserver
|
10
11
|
PassengerMaxPoolSize <%= rubber_env.max_app_connections %>
|
12
|
+
|
13
|
+
# Use PassengerMaxPoolSize for limit as we only have 1 app
|
14
|
+
PassengerMaxInstancesPerApp 0
|
15
|
+
|
16
|
+
# For performances sake, never shutdown rails instances when idle
|
17
|
+
PassengerPoolIdleTime 0
|
18
|
+
|
19
|
+
# For performances sake, never shutdown a rails instance after N requests
|
20
|
+
PassengerMaxRequests 0
|
21
|
+
|
22
|
+
# Passenger checks stuff like restart.txt on every request when this is 0
|
23
|
+
PassengerStatThrottleRate <%= RUBBER_ENV == 'production' ? '60' : '0' %>
|
24
|
+
|
25
|
+
# Turning this on breaks mod_rewrite
|
26
|
+
PassengerHighPerformance off
|
27
|
+
|
28
|
+
# Cache framework code per application
|
29
|
+
RailsSpawnMethod smart-lv2
|
30
|
+
|
31
|
+
# For performances sake, don't ever unload framework spawner
|
32
|
+
RailsFrameworkSpawnerIdleTime 0
|
33
|
+
|
34
|
+
# For performances sake, don't ever unload app spawner
|
35
|
+
RailsAppSpawnerIdleTime 0
|
@@ -9,6 +9,7 @@ namespace :rubber do
|
|
9
9
|
task :bootstrap do
|
10
10
|
link_bash
|
11
11
|
set_timezone
|
12
|
+
enable_multiverse
|
12
13
|
upgrade_packages
|
13
14
|
install_packages
|
14
15
|
setup_volumes
|
@@ -196,7 +197,7 @@ namespace :rubber do
|
|
196
197
|
# Setup hostname on instance so shell, etcs have nice display
|
197
198
|
sudo "sh -c 'echo $CAPISTRANO:HOST$ > /etc/hostname && hostname $CAPISTRANO:HOST$'"
|
198
199
|
# Newer ubuntus ec2-init script always resets hostname, so prevent it
|
199
|
-
sudo "sh -c 'echo compat=0 > /etc/ec2-init/is-compat-env'"
|
200
|
+
sudo "sh -c 'mkdir -p/etc/ec2-init && echo compat=0 > /etc/ec2-init/is-compat-env'"
|
200
201
|
end
|
201
202
|
|
202
203
|
# TODO
|
@@ -348,6 +349,18 @@ namespace :rubber do
|
|
348
349
|
ENDSCRIPT
|
349
350
|
end
|
350
351
|
|
352
|
+
desc <<-DESC
|
353
|
+
Enable the ubuntu multiverse source for getting packages like
|
354
|
+
ec2-ami-tools used for bundling images
|
355
|
+
DESC
|
356
|
+
task :enable_multiverse do
|
357
|
+
sudo_script 'enable_multiverse', <<-ENDSCRIPT
|
358
|
+
if ! grep -qc multiverse /etc/apt/sources.list /etc/apt/sources.list.d/* &> /dev/null; then
|
359
|
+
cat /etc/apt/sources.list | sed 's/main universe/multiverse/' > /etc/apt/sources.list.d/rubber-multiverse-source.list
|
360
|
+
fi
|
361
|
+
ENDSCRIPT
|
362
|
+
end
|
363
|
+
|
351
364
|
def update_dyndns(instance_item)
|
352
365
|
env = rubber_cfg.environment.bind(instance_item.role_names, instance_item.name)
|
353
366
|
if env.dns_provider
|
@@ -395,7 +408,7 @@ namespace :rubber do
|
|
395
408
|
src="#{url_base}/#{name}_#{ver}_i386.deb"
|
396
409
|
fi
|
397
410
|
src_file="${src##*/}"
|
398
|
-
wget -
|
411
|
+
wget -qNP /tmp ${src}
|
399
412
|
dpkg -i /tmp/${src_file}
|
400
413
|
fi
|
401
414
|
ENDSCRIPT
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 1.3.
|
8
|
+
- 1
|
9
|
+
version: 1.3.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Matt Conway
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-04-
|
17
|
+
date: 2010-04-12 00:00:00 -04:00
|
18
18
|
default_executable: vulcanize
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -82,7 +82,7 @@ dependencies:
|
|
82
82
|
type: :runtime
|
83
83
|
version_requirements: *id005
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
85
|
+
name: rails
|
86
86
|
prerelease: false
|
87
87
|
requirement: &id006 !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
@@ -93,18 +93,6 @@ dependencies:
|
|
93
93
|
version: "0"
|
94
94
|
type: :runtime
|
95
95
|
version_requirements: *id006
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
name: rails
|
98
|
-
prerelease: false
|
99
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
segments:
|
104
|
-
- 0
|
105
|
-
version: "0"
|
106
|
-
type: :runtime
|
107
|
-
version_requirements: *id007
|
108
96
|
description: The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to Amazon's Elastic Compute Cloud (EC2). Like capistrano, rubber is role based, so you can define a set of configuration files for a role and then assign that role to as many concrete instances as needed. One can also assign multiple roles to a single instance. This lets one start out with a single ec2 instance (belonging to all roles), and add new instances into the mix as needed to scale specific facets of your deployment, e.g. adding in instances that serve only as an 'app' role to handle increased app server load.
|
109
97
|
email: matt@conwaysplace.com
|
110
98
|
executables:
|