rudy 0.6.8 → 0.7.0
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/CHANGES.txt +15 -2
- data/README.rdoc +30 -23
- data/Rakefile +5 -5
- data/Rudyfile +87 -66
- data/bin/rudy +120 -167
- data/bin/rudy-ec2 +17 -13
- data/bin/rudy-s3 +6 -4
- data/bin/rudy-sdb +5 -4
- data/lib/annoy.rb +1 -1
- data/lib/console.rb +1 -3
- data/lib/rudy.rb +11 -25
- data/lib/rudy/aws/ec2/instance.rb +1 -1
- data/lib/rudy/aws/ec2/volume.rb +2 -2
- data/lib/rudy/aws/sdb/error.rb +2 -1
- data/lib/rudy/cli.rb +10 -1
- data/lib/rudy/cli/aws/ec2/addresses.rb +1 -1
- data/lib/rudy/cli/aws/ec2/images.rb +3 -1
- data/lib/rudy/cli/aws/ec2/instances.rb +2 -2
- data/lib/rudy/cli/candy.rb +11 -0
- data/lib/rudy/cli/config.rb +25 -44
- data/lib/rudy/cli/machines.rb +30 -10
- data/lib/rudy/cli/routines.rb +67 -19
- data/lib/rudy/config.rb +30 -13
- data/lib/rudy/config/objects.rb +135 -10
- data/lib/rudy/disks.rb +8 -52
- data/lib/rudy/global.rb +9 -5
- data/lib/rudy/guidelines.rb +18 -0
- data/lib/rudy/huxtable.rb +29 -19
- data/lib/rudy/machines.rb +10 -7
- data/lib/rudy/mixins/hash.rb +25 -0
- data/lib/rudy/routines.rb +160 -10
- data/lib/rudy/routines/helper.rb +50 -0
- data/lib/rudy/routines/helpers/diskhelper.rb +44 -18
- data/lib/rudy/routines/helpers/scmhelper.rb +39 -0
- data/lib/rudy/routines/helpers/scripthelper.rb +86 -35
- data/lib/rudy/routines/helpers/userhelper.rb +37 -0
- data/lib/rudy/routines/passthrough.rb +36 -0
- data/lib/rudy/routines/release.rb +38 -22
- data/lib/rudy/routines/shutdown.rb +20 -49
- data/lib/rudy/routines/startup.rb +20 -47
- data/lib/rudy/scm.rb +75 -0
- data/lib/rudy/scm/git.rb +215 -0
- data/lib/rudy/scm/svn.rb +7 -6
- data/lib/rudy/utils.rb +12 -30
- data/lib/storable.rb +4 -1
- data/lib/sysinfo.rb +10 -0
- data/rudy.gemspec +21 -9
- data/test/01_mixins/10_hash_test.rb +25 -0
- data/test/{05_config → 10_config}/00_setup_test.rb +1 -1
- data/test/{05_config → 10_config}/30_machines_test.rb +1 -1
- data/test/15_scm/00_setup_test.rb +20 -0
- data/test/15_scm/20_git_test.rb +61 -0
- data/test/helper.rb +1 -1
- data/vendor/highline-1.5.1/Rakefile +3 -3
- metadata +41 -12
- data/bin/ird +0 -175
data/lib/rudy/scm/svn.rb
CHANGED
@@ -12,7 +12,7 @@ module Rudy
|
|
12
12
|
|
13
13
|
def create_release(username=nil, msg=nil)
|
14
14
|
local_uri, local_revision = local_info
|
15
|
-
rtag =
|
15
|
+
rtag = find_next_rtag(username)
|
16
16
|
release_uri = "#{@base_uri}/#{rtag}"
|
17
17
|
msg ||= 'Another Release by Rudy!'
|
18
18
|
msg.tr!("'", "\\'")
|
@@ -24,12 +24,12 @@ module Rudy
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def switch_working_copy(tag)
|
27
|
-
raise "Invalid release tag (#{tag})." unless
|
27
|
+
raise "Invalid release tag (#{tag})." unless valid_rtag?(tag)
|
28
28
|
`svn switch #{tag}`
|
29
29
|
end
|
30
30
|
|
31
31
|
# rel-2009-03-05-user-rev
|
32
|
-
def
|
32
|
+
def find_next_rtag(username=nil)
|
33
33
|
now = Time.now
|
34
34
|
mon = now.mon.to_s.rjust(2, '0')
|
35
35
|
day = now.day.to_s.rjust(2, '0')
|
@@ -38,7 +38,7 @@ module Rudy
|
|
38
38
|
criteria.insert(-2, username) if username
|
39
39
|
tag = criteria.join(Rudy::DELIM)
|
40
40
|
# Keep incrementing the revision number until we find the next one.
|
41
|
-
tag.succ! while (
|
41
|
+
tag.succ! while (valid_rtag?("#{@base_uri}/#{tag}"))
|
42
42
|
tag
|
43
43
|
end
|
44
44
|
|
@@ -55,12 +55,13 @@ module Rudy
|
|
55
55
|
(File.exists?(File.join(path, '.svn')))
|
56
56
|
end
|
57
57
|
|
58
|
-
def
|
58
|
+
def valid_rtag?(uri)
|
59
59
|
ret = `svn info #{uri} 2>&1` || '' # Valid SVN URIs will return some info
|
60
60
|
(ret =~ /Repository UUID/) ? true : false
|
61
61
|
end
|
62
62
|
|
63
|
-
|
63
|
+
# Are all local changes committed?
|
64
|
+
def clean_working_copy?
|
64
65
|
`svn diff . 2>&1` == '' # svn diff should return nothing
|
65
66
|
end
|
66
67
|
end
|
data/lib/rudy/utils.rb
CHANGED
@@ -70,7 +70,7 @@ module Rudy
|
|
70
70
|
# * +duration+ seconds to wait between tries (default: 2).
|
71
71
|
# * +max+ maximum time to wait (default: 120). Throws an exception when exceeded.
|
72
72
|
# * +logger+ IO object to print +dot+ to.
|
73
|
-
# * +msg+ the message to print
|
73
|
+
# * +msg+ the message to print before executing the block.
|
74
74
|
# * +bells+ number of terminal bells to ring. Set to nil or false to keep the waiter silent
|
75
75
|
#
|
76
76
|
# The +check+ block must return false while waiting. Once it returns true
|
@@ -82,6 +82,10 @@ module Rudy
|
|
82
82
|
max = duration*2 if max < duration
|
83
83
|
dot = '.'
|
84
84
|
begin
|
85
|
+
if msg && logger
|
86
|
+
logger.print msg
|
87
|
+
logger.flush
|
88
|
+
end
|
85
89
|
Timeout::timeout(max) do
|
86
90
|
while !check.call
|
87
91
|
sleep duration
|
@@ -93,7 +97,12 @@ module Rudy
|
|
93
97
|
retry if Annoy.pose_question(" Keep waiting?\a ", /yes|y|ya|sure|you bet!/i, logger)
|
94
98
|
return false
|
95
99
|
end
|
96
|
-
|
100
|
+
|
101
|
+
if msg && logger
|
102
|
+
logger.puts " done"
|
103
|
+
logger.flush
|
104
|
+
end
|
105
|
+
|
97
106
|
Rudy::Utils.bell(bells, logger)
|
98
107
|
true
|
99
108
|
end
|
@@ -274,35 +283,8 @@ module Rudy
|
|
274
283
|
|
275
284
|
######### Everything below here is TO BE REMOVED.
|
276
285
|
|
277
|
-
#
|
278
|
-
#
|
279
|
-
# Run a shell command (TO BE REMOVED)
|
280
|
-
def sh(command, chdir=false, verbose=false)
|
281
|
-
prevdir = Dir.pwd
|
282
|
-
Dir.chdir chdir if chdir
|
283
|
-
puts command if verbose
|
284
|
-
system(command)
|
285
|
-
Dir.chdir prevdir if chdir
|
286
|
-
end
|
287
|
-
|
288
|
-
#
|
289
|
-
# Run an SSH command (TO BE REMOVED)
|
290
|
-
def ssh_command(host, keypair, user, command=false, printonly=false, verbose=false)
|
291
|
-
#puts "CONNECTING TO #{host}..."
|
292
|
-
cmd = "ssh -i #{keypair} #{user}@#{host} "
|
293
|
-
cmd += " '#{command}'" if command
|
294
|
-
puts cmd if verbose
|
295
|
-
return cmd if printonly
|
296
|
-
# backticks returns STDOUT
|
297
|
-
# exec replaces current process (it's just like running ssh)
|
298
|
-
# -- UPDATE -- Some problem with exec. "Operation not supported"
|
299
|
-
# using system (http://www.mail-archive.com/mongrel-users@rubyforge.org/msg02018.html)
|
300
|
-
(command) ? `#{cmd}` : Kernel.system(cmd)
|
301
|
-
end
|
302
|
-
|
303
|
-
|
304
286
|
# (TO BE REMOVED)
|
305
|
-
# TODO: This is old and
|
287
|
+
# TODO: This is old and nasty.
|
306
288
|
def scp_command(host, keypair, user, paths, to_path, to_local=false, verbose=false, printonly=false)
|
307
289
|
|
308
290
|
paths = [paths] unless paths.is_a?(Array)
|
data/lib/storable.rb
CHANGED
@@ -16,7 +16,7 @@ class Storable
|
|
16
16
|
unless defined?(SUPPORTED_FORMATS) # We can assume all are defined
|
17
17
|
VERSION = 5
|
18
18
|
NICE_TIME_FORMAT = "%Y-%m-%d@%H:%M:%S".freeze
|
19
|
-
SUPPORTED_FORMATS =
|
19
|
+
SUPPORTED_FORMATS = [:tsv, :csv, :yaml, :json, :s, :string].freeze
|
20
20
|
end
|
21
21
|
|
22
22
|
# This value will be used as a default unless provided on-the-fly.
|
@@ -25,6 +25,7 @@ class Storable
|
|
25
25
|
|
26
26
|
# See SUPPORTED_FORMATS for available values
|
27
27
|
def format=(v)
|
28
|
+
v &&= v.to_sym
|
28
29
|
raise "Unsupported format: #{v}" unless SUPPORTED_FORMATS.member?(v)
|
29
30
|
@format = v
|
30
31
|
end
|
@@ -84,6 +85,7 @@ class Storable
|
|
84
85
|
|
85
86
|
# Dump the object data to the given format.
|
86
87
|
def dump(format=nil, with_titles=false)
|
88
|
+
format &&= format.to_sym
|
87
89
|
format ||= 's' # as in, to_s
|
88
90
|
raise "Format not defined (#{format})" unless SUPPORTED_FORMATS.member?(format)
|
89
91
|
send("to_#{format}", with_titles)
|
@@ -106,6 +108,7 @@ class Storable
|
|
106
108
|
def to_file(file_path=nil, with_titles=true)
|
107
109
|
raise "Cannot store to nil path" if file_path.nil?
|
108
110
|
format = File.extname(file_path).tr('.', '')
|
111
|
+
format &&= format.to_sym
|
109
112
|
format ||= @format
|
110
113
|
Storable.write_file(file_path, dump(format, with_titles))
|
111
114
|
end
|
data/lib/sysinfo.rb
CHANGED
@@ -265,6 +265,16 @@ class SystemInfo < Storable
|
|
265
265
|
end
|
266
266
|
end
|
267
267
|
|
268
|
+
def shell
|
269
|
+
if @os == :unix
|
270
|
+
(ENV['SHELL'] || 'bash').to_sym
|
271
|
+
elsif @os == :win32
|
272
|
+
:dos
|
273
|
+
else
|
274
|
+
raise "paths not implemented for: #{@os}"
|
275
|
+
end
|
276
|
+
end
|
277
|
+
|
268
278
|
# Print friendly system information.
|
269
279
|
def to_s
|
270
280
|
sprintf("Hostname: %s#{$/}IP Address: %s#{$/}System: %s#{$/}Uptime: %.2f (hours)#{$/}Ruby: #{ruby.join('.')}",
|
data/rudy.gemspec
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
@spec = Gem::Specification.new do |s|
|
2
2
|
s.name = "rudy"
|
3
3
|
s.rubyforge_project = 'rudy'
|
4
|
-
s.version = "0.
|
5
|
-
s.summary = "Rudy: Not your
|
4
|
+
s.version = "0.7.0"
|
5
|
+
s.summary = "Rudy: Not your grandparents' EC2 deployment tool."
|
6
6
|
s.description = s.summary
|
7
7
|
s.author = "Delano Mandelbaum"
|
8
8
|
s.email = "delano@solutious.com"
|
@@ -14,11 +14,13 @@
|
|
14
14
|
s.require_paths = %w[lib]
|
15
15
|
s.rubygems_version = '1.1.1'
|
16
16
|
|
17
|
-
s.add_dependency 'drydock', '>= 0.
|
18
|
-
s.add_dependency 'caesars', '>= 0.
|
19
|
-
s.add_dependency 'rye', '>= 0.
|
17
|
+
s.add_dependency 'drydock', '>= 0.6.0'
|
18
|
+
s.add_dependency 'caesars', '>= 0.6.1'
|
19
|
+
s.add_dependency 'rye', '>= 0.6.3'
|
20
20
|
|
21
|
+
s.add_dependency 'grit'
|
21
22
|
s.add_dependency 'echoe'
|
23
|
+
s.add_dependency 'json'
|
22
24
|
s.add_dependency 'amazon-ec2', '>= 0.3.8' # Region fix
|
23
25
|
s.add_dependency 'aws-s3', '>= 0.6.1' # Ruby 1.9.1 compatability
|
24
26
|
s.add_dependency 'net-ssh', '>= 2.0.9'
|
@@ -32,7 +34,7 @@
|
|
32
34
|
#s.add_development_dependency('jgre-monkeyspecdoc', '>= 0.1.0')
|
33
35
|
#s.add_development_dependency('thoughtbot-shoulda', '>= 0.1.0')
|
34
36
|
|
35
|
-
s.executables = %w[
|
37
|
+
s.executables = %w[rudy rudy-ec2 rudy-sdb rudy-s3]
|
36
38
|
|
37
39
|
# = MANIFEST =
|
38
40
|
# git ls-files
|
@@ -42,7 +44,6 @@
|
|
42
44
|
README.rdoc
|
43
45
|
Rakefile
|
44
46
|
Rudyfile
|
45
|
-
bin/ird
|
46
47
|
bin/rudy
|
47
48
|
bin/rudy-ec2
|
48
49
|
bin/rudy-s3
|
@@ -87,15 +88,23 @@
|
|
87
88
|
lib/rudy/config/objects.rb
|
88
89
|
lib/rudy/disks.rb
|
89
90
|
lib/rudy/global.rb
|
91
|
+
lib/rudy/guidelines.rb
|
90
92
|
lib/rudy/huxtable.rb
|
91
93
|
lib/rudy/machines.rb
|
92
94
|
lib/rudy/metadata.rb
|
95
|
+
lib/rudy/mixins/hash.rb
|
93
96
|
lib/rudy/routines.rb
|
97
|
+
lib/rudy/routines/helper.rb
|
94
98
|
lib/rudy/routines/helpers/diskhelper.rb
|
99
|
+
lib/rudy/routines/helpers/scmhelper.rb
|
95
100
|
lib/rudy/routines/helpers/scripthelper.rb
|
101
|
+
lib/rudy/routines/helpers/userhelper.rb
|
102
|
+
lib/rudy/routines/passthrough.rb
|
96
103
|
lib/rudy/routines/release.rb
|
97
104
|
lib/rudy/routines/shutdown.rb
|
98
105
|
lib/rudy/routines/startup.rb
|
106
|
+
lib/rudy/scm.rb
|
107
|
+
lib/rudy/scm/git.rb
|
99
108
|
lib/rudy/scm/svn.rb
|
100
109
|
lib/rudy/utils.rb
|
101
110
|
lib/storable.rb
|
@@ -106,8 +115,11 @@
|
|
106
115
|
support/randomize-root-password
|
107
116
|
support/rudy-ec2-startup
|
108
117
|
support/update-ec2-ami-tools
|
109
|
-
test/
|
110
|
-
test/
|
118
|
+
test/01_mixins/10_hash_test.rb
|
119
|
+
test/10_config/00_setup_test.rb
|
120
|
+
test/10_config/30_machines_test.rb
|
121
|
+
test/15_scm/00_setup_test.rb
|
122
|
+
test/15_scm/20_git_test.rb
|
111
123
|
test/20_sdb/00_setup_test.rb
|
112
124
|
test/20_sdb/10_domains_test.rb
|
113
125
|
test/25_ec2/00_setup_test.rb
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'helper')
|
2
|
+
|
3
|
+
module Rudy::Test
|
4
|
+
|
5
|
+
class Case_01_Mixins < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def one_level; {:empty=>1}; end
|
8
|
+
def two_levels; {:l1 => {:empty=>1}}; end
|
9
|
+
def three_levels; { :l1 => { :l2 => {:empty=>1, :empty=>1} } }; end
|
10
|
+
def six_levels; {:l1 => {:l2 => {:l3 => {:l4 => {:l5 => {}, :empty=>1}, :empty=>1}}}}; end
|
11
|
+
|
12
|
+
context "#{name}_10 Hash" do
|
13
|
+
|
14
|
+
should "(10) should calculate deepest point" do
|
15
|
+
assert_equal one_level.deepest_point, 1
|
16
|
+
assert_equal two_levels.deepest_point, 2
|
17
|
+
assert_equal three_levels.deepest_point, 3
|
18
|
+
assert_equal six_levels.deepest_point, 6
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'helper')
|
2
|
+
|
3
|
+
module Rudy::Test
|
4
|
+
|
5
|
+
class Case_15_SCM < Test::Unit::TestCase
|
6
|
+
include Rudy::Huxtable
|
7
|
+
|
8
|
+
@@logger = STDERR #StringIO.new
|
9
|
+
@@zone = @@global.zone.to_s
|
10
|
+
|
11
|
+
context "#{name}_00 Setup" do
|
12
|
+
should "(00) have class variables setup" do
|
13
|
+
stop_test !@@global.is_a?(Rudy::Global), "We don't have global (#{@@global})"
|
14
|
+
stop_test !@@config.is_a?(Rudy::Config), "We don't have an instance of Rudy::Config (#{@@config})"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
|
2
|
+
module Rudy::Test
|
3
|
+
class Case_15_SCM
|
4
|
+
|
5
|
+
def generate_rtag(username=nil)
|
6
|
+
now = Time.now
|
7
|
+
mon = now.mon.to_s.rjust(2, '0')
|
8
|
+
day = now.day.to_s.rjust(2, '0')
|
9
|
+
rev = "01"
|
10
|
+
criteria = ['rel', now.year, mon, day, rev]
|
11
|
+
criteria.insert(-2, username) if username
|
12
|
+
criteria.join(Rudy::DELIM)
|
13
|
+
end
|
14
|
+
|
15
|
+
context "#{name}_20 Git" do
|
16
|
+
setup do
|
17
|
+
@strand = Rudy::Utils.strand
|
18
|
+
@scm = Rudy::SCM::GIT.new({
|
19
|
+
:path => "/tmp/git-#{@strand}"
|
20
|
+
})
|
21
|
+
stop_test !Rudy::SCM::GIT.working_copy?, "Not in working directory"
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
should "(10) know when a tag is invalid" do
|
26
|
+
bad_tag = generate_rtag(@strand)
|
27
|
+
assert !@scm.valid_rtag?(bad_tag), "Said bad tag was valid"
|
28
|
+
end
|
29
|
+
|
30
|
+
should "(20) generate release tag name" do
|
31
|
+
rtag_should = generate_rtag(@strand)
|
32
|
+
rtag = @scm.find_next_rtag(@strand)
|
33
|
+
assert_equal rtag_should, rtag, "Bad tag"
|
34
|
+
end
|
35
|
+
|
36
|
+
should "(30) create release" do
|
37
|
+
rtag_should = generate_rtag(@strand)
|
38
|
+
rtag = @scm.create_release(@strand)
|
39
|
+
assert_equal rtag_should, rtag, "Bad tag"
|
40
|
+
assert @scm.delete_rtag(rtag), "Could not delete tag"
|
41
|
+
end
|
42
|
+
|
43
|
+
should "(31) know when a tag is valid" do
|
44
|
+
rtag = @scm.create_release(@strand)
|
45
|
+
assert @scm.valid_rtag?(rtag), "Said bad tag was invalid"
|
46
|
+
assert @scm.delete_rtag(rtag), "Could not delete tag"
|
47
|
+
end
|
48
|
+
|
49
|
+
should "(40) get remote URI" do
|
50
|
+
rtag = @scm.get_remote_uri
|
51
|
+
assert !@scm.get_remote_uri.nil? && !@scm.get_remote_uri.empty?, "No remote URI"
|
52
|
+
end
|
53
|
+
|
54
|
+
xshould "(90) raises exception when deleting a nonexistent tag" do
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
data/test/helper.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
libdir = File.join(File.dirname(__FILE__), '..', 'lib')
|
3
3
|
$:.unshift libdir
|
4
|
-
%w{amazon-ec2 drydock caesars rye}.each { |dir|
|
4
|
+
%w{amazon-ec2 drydock caesars rye}.each { |dir| $:.unshift File.join(File.dirname(__FILE__), '..', '..', dir, 'lib') }
|
5
5
|
|
6
6
|
require 'rubygems'
|
7
7
|
require 'test/unit'
|
@@ -26,7 +26,7 @@ Rake::RDocTask.new do |rdoc|
|
|
26
26
|
rdoc.title = "HighLine Documentation"
|
27
27
|
end
|
28
28
|
|
29
|
-
|
29
|
+
about "Upload current documentation to Rubyforge"
|
30
30
|
task :upload_docs => [:rdoc] do
|
31
31
|
sh "scp -r doc/html/* " +
|
32
32
|
"bbazzarrakk@rubyforge.org:/var/www/gforge-projects/highline/doc/"
|
@@ -68,7 +68,7 @@ Rake::GemPackageTask.new(spec) do |pkg|
|
|
68
68
|
pkg.need_tar = true
|
69
69
|
end
|
70
70
|
|
71
|
-
|
71
|
+
about "Show library's code statistics"
|
72
72
|
task :stats do
|
73
73
|
require 'code_statistics'
|
74
74
|
CodeStatistics.new( ["HighLine", "lib"],
|
@@ -76,7 +76,7 @@ task :stats do
|
|
76
76
|
["Units", "test"] ).to_s
|
77
77
|
end
|
78
78
|
|
79
|
-
|
79
|
+
about "Add new files to Subversion"
|
80
80
|
task :add_to_svn do
|
81
81
|
sh %Q{svn status | ruby -nae 'system "svn add \#{$F[1]}" if $F[0] == "?"' }
|
82
82
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rudy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Delano Mandelbaum
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-05-02 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0.
|
23
|
+
version: 0.6.0
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: caesars
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.6.1
|
34
34
|
version:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: rye
|
@@ -40,7 +40,17 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0.
|
43
|
+
version: 0.6.3
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: grit
|
47
|
+
type: :runtime
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: "0"
|
44
54
|
version:
|
45
55
|
- !ruby/object:Gem::Dependency
|
46
56
|
name: echoe
|
@@ -52,6 +62,16 @@ dependencies:
|
|
52
62
|
- !ruby/object:Gem::Version
|
53
63
|
version: "0"
|
54
64
|
version:
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: json
|
67
|
+
type: :runtime
|
68
|
+
version_requirement:
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: "0"
|
74
|
+
version:
|
55
75
|
- !ruby/object:Gem::Dependency
|
56
76
|
name: amazon-ec2
|
57
77
|
type: :runtime
|
@@ -112,10 +132,9 @@ dependencies:
|
|
112
132
|
- !ruby/object:Gem::Version
|
113
133
|
version: "0"
|
114
134
|
version:
|
115
|
-
description: "Rudy: Not your
|
135
|
+
description: "Rudy: Not your grandparents' EC2 deployment tool."
|
116
136
|
email: delano@solutious.com
|
117
137
|
executables:
|
118
|
-
- ird
|
119
138
|
- rudy
|
120
139
|
- rudy-ec2
|
121
140
|
- rudy-sdb
|
@@ -133,7 +152,6 @@ files:
|
|
133
152
|
- README.rdoc
|
134
153
|
- Rakefile
|
135
154
|
- Rudyfile
|
136
|
-
- bin/ird
|
137
155
|
- bin/rudy
|
138
156
|
- bin/rudy-ec2
|
139
157
|
- bin/rudy-s3
|
@@ -178,15 +196,23 @@ files:
|
|
178
196
|
- lib/rudy/config/objects.rb
|
179
197
|
- lib/rudy/disks.rb
|
180
198
|
- lib/rudy/global.rb
|
199
|
+
- lib/rudy/guidelines.rb
|
181
200
|
- lib/rudy/huxtable.rb
|
182
201
|
- lib/rudy/machines.rb
|
183
202
|
- lib/rudy/metadata.rb
|
203
|
+
- lib/rudy/mixins/hash.rb
|
184
204
|
- lib/rudy/routines.rb
|
205
|
+
- lib/rudy/routines/helper.rb
|
185
206
|
- lib/rudy/routines/helpers/diskhelper.rb
|
207
|
+
- lib/rudy/routines/helpers/scmhelper.rb
|
186
208
|
- lib/rudy/routines/helpers/scripthelper.rb
|
209
|
+
- lib/rudy/routines/helpers/userhelper.rb
|
210
|
+
- lib/rudy/routines/passthrough.rb
|
187
211
|
- lib/rudy/routines/release.rb
|
188
212
|
- lib/rudy/routines/shutdown.rb
|
189
213
|
- lib/rudy/routines/startup.rb
|
214
|
+
- lib/rudy/scm.rb
|
215
|
+
- lib/rudy/scm/git.rb
|
190
216
|
- lib/rudy/scm/svn.rb
|
191
217
|
- lib/rudy/utils.rb
|
192
218
|
- lib/storable.rb
|
@@ -197,8 +223,11 @@ files:
|
|
197
223
|
- support/randomize-root-password
|
198
224
|
- support/rudy-ec2-startup
|
199
225
|
- support/update-ec2-ami-tools
|
200
|
-
- test/
|
201
|
-
- test/
|
226
|
+
- test/01_mixins/10_hash_test.rb
|
227
|
+
- test/10_config/00_setup_test.rb
|
228
|
+
- test/10_config/30_machines_test.rb
|
229
|
+
- test/15_scm/00_setup_test.rb
|
230
|
+
- test/15_scm/20_git_test.rb
|
202
231
|
- test/20_sdb/00_setup_test.rb
|
203
232
|
- test/20_sdb/10_domains_test.rb
|
204
233
|
- test/25_ec2/00_setup_test.rb
|
@@ -253,7 +282,7 @@ post_install_message:
|
|
253
282
|
rdoc_options:
|
254
283
|
- --line-numbers
|
255
284
|
- --title
|
256
|
-
- "Rudy: Not your
|
285
|
+
- "Rudy: Not your grandparents' EC2 deployment tool."
|
257
286
|
- --main
|
258
287
|
- README.rdoc
|
259
288
|
require_paths:
|
@@ -276,6 +305,6 @@ rubyforge_project: rudy
|
|
276
305
|
rubygems_version: 1.3.2
|
277
306
|
signing_key:
|
278
307
|
specification_version: 3
|
279
|
-
summary: "Rudy: Not your
|
308
|
+
summary: "Rudy: Not your grandparents' EC2 deployment tool."
|
280
309
|
test_files: []
|
281
310
|
|