rubber 2.5.2 → 2.5.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 01136934cc0415f1d68de69f207b2dc72057a479
4
- data.tar.gz: fb2c1e5bdceeb4eba634ac1f830e00a32fdf61c5
3
+ metadata.gz: 01552c1465c4b0aa4ed066f0125ce367b0a00407
4
+ data.tar.gz: a7a618e9599de68a09172bad4500a822443b042e
5
5
  SHA512:
6
- metadata.gz: eb9e38fbddc9004084a45c60fe6808cf42a7b1765e60c3d3fc7a80824dec3dceae80ae280b5cb83a48643fe5767016707683749eada51f0be2986ca82abc1570
7
- data.tar.gz: 30107f3ae148391d6639684dfd3c80435e9aed1ae7d7eec430ae7555b9e39a164412c324602eeecdc7e8a5c836bf9d4553abcbd643a6932028e815db7d210cd0
6
+ metadata.gz: 24595ac3976eb6a51785b00e11a3f360223275f83fc8ab4b83aef4b35635af0800070f15a4b95490a144882956bb844ceb3daf95e3de9f7cd3b0ac1df4746be2
7
+ data.tar.gz: 4f8d3265b289f7c7a5bcc6aabd3b5a9aadd669788113cffa244219dff6dd087a64d6c3ee7cfed8a2c2538baf105bd2a5734175dd555f0b9c2d581f68a9a8e020
data/CHANGELOG CHANGED
@@ -1,3 +1,20 @@
1
+ 2.5.3 (07/11/2013)
2
+
3
+ Improvements:
4
+ ============
5
+
6
+ [base] Upgraded to ruby-build 20130628 and Ruby 1.9.3-p448. <caa9e06>
7
+ [base] Updated Digitial Ocean default zone info and image_id. <11502d2>
8
+ [base, core] Re-install the VirtualBox add-ons when upgrading the kernel in a Vagrant instance so you can package VMs properly.
9
+ [core] Ensure the SSH public key is installed for the user account if one is set. <75e7f20>
10
+
11
+ Bug Fixes:
12
+ =========
13
+
14
+ [core] Allow the Vagrant plugin to interact with the local ruby installation when RVM is used. <98a061a>
15
+ [core] Make sure we note the vagrant provider was used in the instance file. <d1573fe>
16
+
17
+
1
18
  2.5.2 (06/13/2013)
2
19
 
3
20
  Bug Fixes:
@@ -6,7 +23,6 @@ Bug Fixes:
6
23
  [core] Do not use the embedded Vagrant ruby installation by default.
7
24
 
8
25
 
9
-
10
26
  2.5.1 (06/09/2013)
11
27
  -----------------
12
28
 
@@ -28,6 +28,7 @@ module Rubber
28
28
  Generic.instances.each do |instance|
29
29
  if instance[:id] == instance_id
30
30
  instance[:state] = state
31
+ instance[:provider] = 'vagrant'
31
32
  end
32
33
  end
33
34
 
@@ -38,6 +39,7 @@ module Rubber
38
39
  instance[:state] = state
39
40
  instance[:external_ip] = capistrano.rubber.get_env('EXTERNAL_IP', "External IP address for host '#{instance_id}'", true)
40
41
  instance[:internal_ip] = capistrano.rubber.get_env('INTERNAL_IP', "Internal IP address for host '#{instance_id}'", true, instance[:external_ip])
42
+ instance[:provider] = 'vagrant'
41
43
 
42
44
  [instance]
43
45
  end
@@ -85,7 +85,7 @@ namespace :rubber do
85
85
  # define capistrano host => role mapping for all instances
86
86
  rubber_instances.filtered.each do |ic|
87
87
  ic.roles.each do |role|
88
- opts = Rubber::Util::symbolize_keys(role.options).merge(:platform => ic.platform)
88
+ opts = Rubber::Util::symbolize_keys(role.options).merge(:platform => ic.platform, :provider => ic.provider)
89
89
  msg = "Auto role: #{role.name.to_sym} => #{ic.full_name}"
90
90
  msg << ", #{opts.inspect}" if opts.inspect.size > 0
91
91
  logger.info msg
@@ -375,6 +375,7 @@ namespace :rubber do
375
375
 
376
376
  # turn back on root ssh access if we are using root as the capistrano user for connecting
377
377
  enable_root_ssh(instance_item.external_ip, fetch(:initial_ssh_user, 'ubuntu')) if user == 'root'
378
+
378
379
  # force a connection so if above isn't enabled we still timeout if initial connection hangs
379
380
  direct_connection(instance_item.external_ip) do
380
381
  run "echo"
@@ -9,8 +9,8 @@ namespace :rubber do
9
9
  link_bash
10
10
  set_timezone
11
11
  enable_multiverse
12
- upgrade_packages
13
12
  install_core_packages
13
+ upgrade_packages
14
14
  install_packages
15
15
  setup_volumes
16
16
  setup_gem_sources
@@ -23,16 +23,35 @@ namespace :rubber do
23
23
  # Capistrano uses the :password variable for sudo commands. Since this setting is generally used for the deploy user,
24
24
  # but we need it this one time for the initial SSH user, we need to swap out and restore the password.
25
25
  #
26
- # We special-case the 'ubuntu' user since Amazon doesn't since the Canonical AMIs on EC2 don't set the password for
26
+ # We special-case the 'ubuntu' user since the Canonical AMIs on EC2 don't set the password for
27
27
  # this account, making any password prompt potentially confusing.
28
28
  orig_password = fetch(:password)
29
29
  set(:password, initial_ssh_user == 'ubuntu' || ENV.has_key?('RUN_FROM_VAGRANT') ? nil : Capistrano::CLI.password_prompt("Password for #{initial_ssh_user} @ #{ip}: "))
30
30
 
31
+ task :_ensure_key_file_present, :hosts => "#{initial_ssh_user}@#{ip}" do
32
+ public_key_filename = "#{cloud.env.key_file}.pub"
33
+
34
+ if File.exists?(public_key_filename)
35
+ public_key = File.read(public_key_filename).chomp
36
+
37
+ rubber.sudo_script 'ensure_key_file_present', <<-ENDSCRIPT
38
+ mkdir -p ~/.ssh
39
+ touch ~/.ssh/authorized_keys
40
+ chmod 600 ~/.ssh/authorized_keys
41
+
42
+ if ! grep -q '#{public_key}' .ssh/authorized_keys; then
43
+ echo '#{public_key}' >> .ssh/authorized_keys
44
+ fi
45
+ ENDSCRIPT
46
+ end
47
+ end
48
+
31
49
  task :_allow_root_ssh, :hosts => "#{initial_ssh_user}@#{ip}" do
32
50
  rsudo "mkdir -p /root/.ssh && cp /home/#{initial_ssh_user}/.ssh/authorized_keys /root/.ssh/"
33
51
  end
34
52
 
35
53
  begin
54
+ _ensure_key_file_present
36
55
  _allow_root_ssh
37
56
  rescue ConnectionError => e
38
57
  if e.message =~ /Net::SSH::AuthenticationFailed/
@@ -89,7 +108,7 @@ namespace :rubber do
89
108
  # don't add unqualified hostname in local hosts file since user may be
90
109
  # managing multiple domains with same aliases
91
110
  hosts_data = [ic.full_name, ic.external_host, ic.internal_host]
92
-
111
+
93
112
  # add the ip aliases for web tools hosts so we can map internal tools
94
113
  # to their own vhost to make proxying easier (rewriting url paths for
95
114
  # proxy is a real pain, e.g. '/graphite/' externally to '/' on the
@@ -99,7 +118,7 @@ namespace :rubber do
99
118
  hosts_data << "#{name}-#{ic.full_name}"
100
119
  end
101
120
  end
102
-
121
+
103
122
  local_hosts << ic.external_ip << ' ' << hosts_data.join(' ') << "\n"
104
123
  end
105
124
  local_hosts << delim << "\n"
@@ -124,10 +143,10 @@ namespace :rubber do
124
143
  # Generate /etc/hosts contents for the remote instance from instance config
125
144
  delim = "## rubber config #{Rubber.env}"
126
145
  remote_hosts = []
127
-
146
+
128
147
  rubber_instances.each do |ic|
129
148
  hosts_data = [ic.internal_ip, ic.full_name, ic.name, ic.external_host, ic.internal_host]
130
-
149
+
131
150
  # add the ip aliases for web tools hosts so we can map internal tools
132
151
  # to their own vhost to make proxying easier (rewriting url paths for
133
152
  # proxy is a real pain, e.g. '/graphite/' externally to '/' on the
@@ -137,21 +156,21 @@ namespace :rubber do
137
156
  hosts_data << "#{name}-#{ic.full_name}"
138
157
  end
139
158
  end
140
-
159
+
141
160
  remote_hosts << hosts_data.join(' ')
142
161
  end
143
-
162
+
144
163
  if rubber_instances.size > 0
145
-
164
+
146
165
  replace="#{delim}\\n#{remote_hosts.join("\\n")}\\n#{delim}"
147
-
166
+
148
167
  rubber.sudo_script 'setup_remote_aliases', <<-ENDSCRIPT
149
168
  sed -i.bak '/#{delim}/,/#{delim}/c #{replace}' /etc/hosts
150
169
  if ! grep -q "#{delim}" /etc/hosts; then
151
170
  echo -e "#{replace}" >> /etc/hosts
152
171
  fi
153
172
  ENDSCRIPT
154
-
173
+
155
174
  # Setup hostname on instance so shell, etcs have nice display
156
175
  rsudo "echo $CAPISTRANO:HOST$ > /etc/hostname && hostname $CAPISTRANO:HOST$"
157
176
  # Newer ubuntus ec2-init script always resets hostname, so prevent it
@@ -162,7 +181,7 @@ namespace :rubber do
162
181
  # /etc/resolv.conf to add search domain
163
182
  # ~/.ssh/options to setup user/host/key aliases
164
183
  end
165
-
184
+
166
185
  desc <<-DESC
167
186
  Sets up aliases in dynamic dns provider for instance hostnames based on contents of instance.yml.
168
187
  DESC
@@ -175,7 +194,7 @@ namespace :rubber do
175
194
  def record_key(record)
176
195
  "#{record[:host]}.#{record[:domain]} #{record[:type]}"
177
196
  end
178
-
197
+
179
198
  def convert_to_new_dns_format(records)
180
199
  record = {}
181
200
  records.each do |r|
@@ -200,10 +219,10 @@ namespace :rubber do
200
219
  required_task :setup_dns_records do
201
220
  records = rubber_env.dns_records
202
221
  if records && rubber_env.dns_provider
203
-
222
+
204
223
  provider_name = rubber_env.dns_provider
205
224
  provider = Rubber::Dns::get_provider(provider_name, rubber_env)
206
-
225
+
207
226
  # records in rubber_env.dns_records can either have a value which
208
227
  # is an array, or multiple equivalent (same host+type)items with
209
228
  # value being a string, so try and normalize them
@@ -222,7 +241,7 @@ namespace :rubber do
222
241
  precords = domains.collect {|d| provider.find_host_records(:host => '*', :type => '*', :domain => d) }.flatten
223
242
  precords.each do |record|
224
243
  key = record_key(record)
225
- raise "unmerged provider records" if provider_records[key]
244
+ raise "unmerged provider records" if provider_records[key]
226
245
  provider_records[key] = record
227
246
  end
228
247
 
@@ -255,16 +274,16 @@ namespace :rubber do
255
274
 
256
275
  end
257
276
  end
258
-
277
+
259
278
  desc <<-DESC
260
279
  Exports dns records from your provider into the format readable by rubber in rubber-dns.yml
261
280
  DESC
262
281
  required_task :export_dns_records do
263
282
  if rubber_env.dns_provider
264
-
283
+
265
284
  provider_name = rubber_env.dns_provider
266
285
  provider = Rubber::Dns::get_provider(provider_name, rubber_env)
267
-
286
+
268
287
  provider_records = provider.find_host_records(:host => '*', :type => '*', :domain => rubber_env.domain)
269
288
  puts({'dns_records' => provider_records.collect {|r| Rubber::Util.stringify_keys(r)}}.to_yaml)
270
289
  end
@@ -306,9 +325,12 @@ namespace :rubber do
306
325
  DESC
307
326
  task :install_core_packages do
308
327
  core_packages = [
309
- 'python-software-properties', # Needed for add-apt-repository, which we use for adding PPAs.
310
- 'bc' # Needed for comparing version numbers in bash, which we do for various setup functions.
311
- ]
328
+ 'python-software-properties', # Needed for add-apt-repository, which we use for adding PPAs.
329
+ 'bc', # Needed for comparing version numbers in bash, which we do for various setup functions.
330
+ 'update-notifier-common' # Needed for notifying us when a package upgrade requires a reboot.
331
+ ]
332
+
333
+ rsudo "apt-get -q update"
312
334
  rsudo "export DEBIAN_FRONTEND=noninteractive; apt-get -q -o Dpkg::Options::=--force-confold -y --force-yes install #{core_packages.join(' ')}"
313
335
  end
314
336
 
@@ -383,7 +405,7 @@ namespace :rubber do
383
405
  end
384
406
  end
385
407
  ENDSCRIPT
386
-
408
+
387
409
  desc <<-DESC
388
410
  Setup ruby gems sources. Set 'gemsources' in rubber.yml to \
389
411
  be an array of URI strings.
@@ -425,7 +447,7 @@ namespace :rubber do
425
447
  fi
426
448
  ENDSCRIPT
427
449
  end
428
-
450
+
429
451
  desc <<-DESC
430
452
  Enable the ubuntu multiverse source for getting packages like
431
453
  ec2-ami-tools used for bundling images
@@ -439,13 +461,13 @@ namespace :rubber do
439
461
  fi
440
462
  ENDSCRIPT
441
463
  end
442
-
464
+
443
465
  def update_dyndns(instance_item)
444
466
  env = rubber_cfg.environment.bind(instance_item.role_names, instance_item.name)
445
467
  if env.dns_provider
446
468
  provider = Rubber::Dns::get_provider(env.dns_provider, env)
447
469
  provider.update(instance_item.name, instance_item.external_ip)
448
-
470
+
449
471
  # add the ip aliases for web tools hosts so we can map internal tools
450
472
  # to their own vhost to make proxying easier (rewriting url paths for
451
473
  # proxy is a real pain, e.g. '/graphite/' externally to '/' on the
@@ -463,7 +485,7 @@ namespace :rubber do
463
485
  if env.dns_provider
464
486
  provider = Rubber::Dns::get_provider(env.dns_provider, env)
465
487
  provider.destroy(instance_item.name)
466
-
488
+
467
489
  # add the ip aliases for web tools hosts so we can map internal tools
468
490
  # to their own vhost to make proxying easier (rewriting url paths for
469
491
  # proxy is a real pain, e.g. '/graphite/' externally to '/' on the
@@ -496,10 +518,10 @@ namespace :rubber do
496
518
  else
497
519
  rsudo "export DEBIAN_FRONTEND=noninteractive; apt-get -q -o Dpkg::Options::=--force-confold -y --force-yes install $CAPISTRANO:VAR$", opts
498
520
  end
499
-
521
+
500
522
  maybe_reboot
501
523
  end
502
-
524
+
503
525
  def multi_capture(cmd, opts={})
504
526
  mutex = Mutex.new
505
527
  host_data = {}
@@ -512,9 +534,9 @@ namespace :rubber do
512
534
  end
513
535
  end
514
536
  end
515
- return host_data
537
+ return host_data
516
538
  end
517
-
539
+
518
540
  def maybe_reboot
519
541
  reboot_needed = multi_capture("echo $(ls /var/run/reboot-required 2> /dev/null)")
520
542
  reboot_hosts = reboot_needed.collect {|k, v| v.strip.size > 0 ? k : nil}.compact.sort
@@ -532,10 +554,10 @@ namespace :rubber do
532
554
  ENV['REBOOT'] = 'y'
533
555
  logger.info "Updates require a reboot on hosts #{reboot_hosts.inspect}"
534
556
  end
535
-
557
+
536
558
  reboot = get_env('REBOOT', "Updates require a reboot on hosts #{reboot_hosts.inspect}, reboot [y/N]?", false)
537
559
  reboot = (reboot =~ /^y/)
538
-
560
+
539
561
  if reboot
540
562
 
541
563
  logger.info "Rebooting ..."
@@ -547,7 +569,7 @@ namespace :rubber do
547
569
  # swallow exception since there is a chance
548
570
  # net:ssh throws an Exception
549
571
  end
550
-
572
+
551
573
  sleep 30
552
574
 
553
575
  reboot_hosts.each do |host|
@@ -556,16 +578,16 @@ namespace :rubber do
556
578
  end
557
579
  logger.info "#{host} completed reboot"
558
580
  end
559
-
581
+
560
582
  end
561
-
583
+
562
584
  # could take a while to reboot (or get answer from prompt), so
563
585
  # we need to rebuild all capistrano connections in case they timed out
564
586
  teardown_connections_to(sessions.keys)
565
-
587
+
566
588
  end
567
589
  end
568
-
590
+
569
591
  def custom_package(url_base, name, ver, install_test)
570
592
  rubber.sudo_script "install_#{name}", <<-ENDSCRIPT
571
593
  if [[ #{install_test} ]]; then
@@ -657,7 +679,7 @@ namespace :rubber do
657
679
  end
658
680
  expanded_gem_list.join(' ')
659
681
  end
660
-
682
+
661
683
  if opts.size > 0
662
684
  script = prepare_script('gem_helper', gem_helper_script, nil)
663
685
  rsudo "ruby #{script} #{cmd} $CAPISTRANO:VAR$", opts do |ch, str, data|
@@ -1,17 +1,19 @@
1
1
  module VagrantPlugins
2
2
  module Rubber
3
3
  class Config < Vagrant.plugin("2", :config)
4
- attr_accessor :roles, :rubber_env, :use_vagrant_ruby
4
+ attr_accessor :roles, :rubber_env, :use_vagrant_ruby, :rvm_ruby_version
5
5
 
6
6
  def initialize
7
7
  @roles = UNSET_VALUE
8
8
  @rubber_env = UNSET_VALUE
9
9
  @use_vagrant_ruby = UNSET_VALUE
10
+ @rvm_ruby_version = UNSET_VALUE
10
11
  end
11
12
 
12
13
  def finalize!
13
14
  @rubber_env = 'vagrant' if @rubber_env == UNSET_VALUE
14
15
  @use_vagrant_ruby = false if @use_vagrant_ruby == UNSET_VALUE
16
+ @rvm_ruby_version = nil if @rvm_ruby_version == UNSET_VALUE
15
17
 
16
18
  ::Rubber::initialize(Dir.pwd, @rubber_env)
17
19
 
@@ -32,12 +32,10 @@ module VagrantPlugins
32
32
  script = <<-ENDSCRIPT
33
33
  unset GEM_HOME;
34
34
  unset GEM_PATH;
35
- PATH=#{ENV['PATH'].split(':')[1..-1].join(':')} RUN_FROM_VAGRANT=true RUBBER_ENV=#{config.rubber_env} ALIAS=#{machine.name} ROLES='#{config.roles}' EXTERNAL_IP=#{private_ip} INTERNAL_IP=#{private_ip} RUBBER_SSH_KEY=#{ssh_info[:private_key_path]} bash -c 'bundle exec cap rubber:create -S initial_ssh_user=#{ssh_info[:username]}'
35
+ PATH=#{ENV['PATH'].split(':')[1..-1].join(':')} RUN_FROM_VAGRANT=true RUBBER_ENV=#{config.rubber_env} ALIAS=#{machine.name} ROLES='#{config.roles}' EXTERNAL_IP=#{private_ip} INTERNAL_IP=#{private_ip} RUBBER_SSH_KEY=#{ssh_info[:private_key_path]} bash -c '#{rvm_prefix} bundle exec cap rubber:create -S initial_ssh_user=#{ssh_info[:username]}'
36
36
  ENDSCRIPT
37
37
  end
38
38
 
39
- puts script
40
-
41
39
  system(script)
42
40
  end
43
41
 
@@ -48,7 +46,7 @@ module VagrantPlugins
48
46
  script = <<-ENDSCRIPT
49
47
  unset GEM_HOME;
50
48
  unset GEM_PATH;
51
- PATH=#{ENV['PATH'].split(':')[1..-1].join(':')} RUN_FROM_VAGRANT=true RUBBER_ENV=#{config.rubber_env} RUBBER_SSH_KEY=#{ssh_info[:private_key_path]} ALIAS=#{machine.name} EXTERNAL_IP=#{private_ip} INTERNAL_IP=#{private_ip} bash -c 'bundle exec cap rubber:refresh -S initial_ssh_user=#{ssh_info[:username]}'
49
+ PATH=#{ENV['PATH'].split(':')[1..-1].join(':')} RUN_FROM_VAGRANT=true RUBBER_ENV=#{config.rubber_env} RUBBER_SSH_KEY=#{ssh_info[:private_key_path]} ALIAS=#{machine.name} EXTERNAL_IP=#{private_ip} INTERNAL_IP=#{private_ip} bash -c '#{rvm_prefix} bundle exec cap rubber:refresh -S initial_ssh_user=#{ssh_info[:username]}'
52
50
  ENDSCRIPT
53
51
  end
54
52
 
@@ -62,7 +60,7 @@ module VagrantPlugins
62
60
  script = <<-ENDSCRIPT
63
61
  unset GEM_HOME;
64
62
  unset GEM_PATH;
65
- PATH=#{ENV['PATH'].split(':')[1..-1].join(':')} RUN_FROM_VAGRANT=true RUBBER_ENV=#{config.rubber_env} RUBBER_SSH_KEY=#{ssh_info[:private_key_path]} FILTER=#{machine.name} bash -c 'bundle exec cap rubber:bootstrap'
63
+ PATH=#{ENV['PATH'].split(':')[1..-1].join(':')} RUN_FROM_VAGRANT=true RUBBER_ENV=#{config.rubber_env} RUBBER_SSH_KEY=#{ssh_info[:private_key_path]} FILTER=#{machine.name} bash -c '#{rvm_prefix} bundle exec cap rubber:bootstrap'
66
64
  ENDSCRIPT
67
65
  end
68
66
 
@@ -76,7 +74,7 @@ module VagrantPlugins
76
74
  script = <<-ENDSCRIPT
77
75
  unset GEM_HOME;
78
76
  unset GEM_PATH;
79
- PATH=#{ENV['PATH'].split(':')[1..-1].join(':')} RUN_FROM_VAGRANT=true RUBBER_ENV=#{config.rubber_env} RUBBER_SSH_KEY=#{ssh_info[:private_key_path]} FILTER=#{machine.name} bash -c 'bundle exec cap deploy:migrations'
77
+ PATH=#{ENV['PATH'].split(':')[1..-1].join(':')} RUN_FROM_VAGRANT=true RUBBER_ENV=#{config.rubber_env} RUBBER_SSH_KEY=#{ssh_info[:private_key_path]} FILTER=#{machine.name} bash -c '#{rvm_prefix} bundle exec cap deploy:migrations'
80
78
  ENDSCRIPT
81
79
  end
82
80
 
@@ -86,6 +84,10 @@ module VagrantPlugins
86
84
  def internal_cap_command
87
85
  "ruby -e \"require 'capistrano/cli'; Capistrano::CLI.execute\""
88
86
  end
87
+
88
+ def rvm_prefix
89
+ config.rvm_ruby_version ? "rvm #{config.rvm_ruby_version} do" : ''
90
+ end
89
91
  end
90
92
  end
91
93
  end
@@ -1,3 +1,3 @@
1
1
  module Rubber
2
- VERSION = "2.5.2"
2
+ VERSION = "2.5.3"
3
3
  end
@@ -95,5 +95,9 @@ namespace :rubber do
95
95
  ENDSCRIPT
96
96
  end
97
97
 
98
+ after "rubber:bootstrap", "rubber:base:reinstall_virtualbox_additions"
99
+ task :reinstall_virtualbox_additions, :only => { :provider => 'vagrant' } do
100
+ rsudo "service vboxadd setup"
101
+ end
98
102
  end
99
103
  end
@@ -11,11 +11,11 @@
11
11
  packages: [build-essential, git-core, subversion, curl, autoconf, bison, ruby, zlib1g-dev, libssl-dev, libreadline6-dev, libxml2-dev, libyaml-dev]
12
12
 
13
13
  # REQUIRED: The version of ruby-build to use for building ruby.
14
- ruby_build_version: 20130501
14
+ ruby_build_version: 20130628
15
15
 
16
16
  # REQUIRED: Set to the version string for the ruby version you wish to use
17
17
  # Run "ruby-build --definitions" to see the list of possible options
18
- ruby_version: 1.9.3-p392
18
+ ruby_version: 1.9.3-p448
19
19
 
20
20
  # REQUIRED: Installation path for ruby.
21
21
  ruby_path: "/usr/local/rubies/#{ruby_version}"
@@ -104,12 +104,13 @@ cloud_providers:
104
104
  #
105
105
  # Options include
106
106
  # New York 1
107
- # Amsterdam 1
107
+ # San Francisco 1
108
108
  #
109
+ # These change often. Check https://www.digitalocean.com/droplets/new for the most up to date options.
109
110
  region: New York 1
110
111
 
111
112
  # REQUIRED: The image name and type for creating instances.
112
- image_id: Ubuntu 12.04 x64 Server
113
+ image_id: Ubuntu 12.04 x64
113
114
  image_type: 512MB
114
115
 
115
116
  # Use an alternate cloud provider supported by fog. This doesn't fully work
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubber
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.2
4
+ version: 2.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Conway
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-13 00:00:00.000000000 Z
12
+ date: 2013-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano