solutious-rudy 0.8.5 → 0.9.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 +55 -14
- data/README.rdoc +26 -34
- data/Rudyfile +27 -32
- data/bin/rudy +47 -27
- data/bin/rudy-ec2 +2 -16
- data/bin/rudy-s3 +0 -10
- data/bin/rudy-sdb +11 -12
- data/lib/rudy.rb +49 -89
- data/lib/rudy/aws.rb +2 -43
- data/lib/rudy/aws/ec2.rb +57 -20
- data/lib/rudy/aws/ec2/address.rb +10 -11
- data/lib/rudy/aws/ec2/group.rb +10 -9
- data/lib/rudy/aws/ec2/image.rb +8 -8
- data/lib/rudy/aws/ec2/instance.rb +15 -16
- data/lib/rudy/aws/ec2/keypair.rb +14 -19
- data/lib/rudy/aws/ec2/snapshot.rb +16 -9
- data/lib/rudy/aws/ec2/volume.rb +37 -24
- data/lib/rudy/aws/ec2/zone.rb +5 -4
- data/lib/rudy/aws/s3.rb +2 -1
- data/lib/rudy/aws/sdb.rb +35 -86
- data/lib/rudy/backups.rb +24 -0
- data/lib/rudy/cli.rb +5 -131
- data/lib/rudy/cli/aws/ec2/addresses.rb +19 -27
- data/lib/rudy/cli/aws/ec2/candy.rb +32 -7
- data/lib/rudy/cli/aws/ec2/groups.rb +9 -13
- data/lib/rudy/cli/aws/ec2/images.rb +5 -133
- data/lib/rudy/cli/aws/ec2/instances.rb +25 -25
- data/lib/rudy/cli/aws/ec2/keypairs.rb +7 -11
- data/lib/rudy/cli/aws/ec2/snapshots.rb +5 -9
- data/lib/rudy/cli/aws/ec2/volumes.rb +22 -23
- data/lib/rudy/cli/aws/ec2/zones.rb +2 -3
- data/lib/rudy/cli/aws/sdb/domains.rb +5 -6
- data/lib/rudy/cli/aws/sdb/objects.rb +33 -0
- data/lib/rudy/cli/aws/sdb/select.rb +23 -0
- data/lib/rudy/cli/backups.rb +38 -0
- data/lib/rudy/cli/base.rb +98 -0
- data/lib/rudy/cli/candy.rb +1 -2
- data/lib/rudy/cli/config.rb +7 -4
- data/lib/rudy/cli/disks.rb +6 -8
- data/lib/rudy/cli/execbase.rb +53 -0
- data/lib/rudy/cli/machines.rb +14 -18
- data/lib/rudy/cli/metadata.rb +24 -10
- data/lib/rudy/cli/routines.rb +31 -5
- data/lib/rudy/config.rb +17 -22
- data/lib/rudy/config/objects.rb +44 -30
- data/lib/rudy/disks.rb +25 -0
- data/lib/rudy/exceptions.rb +95 -0
- data/lib/rudy/global.rb +46 -23
- data/lib/rudy/guidelines.rb +3 -2
- data/lib/rudy/huxtable.rb +66 -57
- data/lib/rudy/machines.rb +41 -263
- data/lib/rudy/metadata.rb +212 -38
- data/lib/rudy/metadata/backup.rb +123 -78
- data/lib/rudy/metadata/disk.rb +152 -170
- data/lib/rudy/metadata/machine.rb +179 -0
- data/lib/rudy/mixins.rb +2 -1
- data/lib/rudy/mixins/hash.rb +3 -1
- data/lib/rudy/mixins/symbol.rb +8 -0
- data/lib/rudy/routines.rb +127 -344
- data/lib/rudy/routines/base.rb +226 -0
- data/lib/rudy/routines/handlers/base.rb +48 -0
- data/lib/rudy/routines/handlers/depends.rb +49 -0
- data/lib/rudy/routines/handlers/disks.rb +239 -0
- data/lib/rudy/routines/handlers/group.rb +42 -0
- data/lib/rudy/routines/handlers/host.rb +72 -0
- data/lib/rudy/routines/handlers/keypair.rb +70 -0
- data/lib/rudy/routines/handlers/machines.rb +15 -0
- data/lib/rudy/routines/handlers/script.rb +85 -0
- data/lib/rudy/routines/handlers/user.rb +41 -0
- data/lib/rudy/routines/passthrough.rb +19 -23
- data/lib/rudy/routines/reboot.rb +82 -51
- data/lib/rudy/routines/shutdown.rb +61 -14
- data/lib/rudy/routines/startup.rb +111 -17
- data/lib/rudy/utils.rb +12 -59
- data/rudy.gemspec +85 -25
- data/tryouts/01_mixins/01_hash_tryouts.rb +20 -0
- data/tryouts/10_require_time/10_rudy_tryouts.rb +33 -0
- data/tryouts/10_require_time/15_global_tryouts.rb +58 -0
- data/tryouts/12_config/10_load_config_tryouts.rb +43 -0
- data/tryouts/12_config/20_defaults_tryouts.rb +16 -0
- data/tryouts/12_config/30_accounts_tryouts.rb +17 -0
- data/tryouts/12_config/40_machines_tryouts.rb +53 -0
- data/tryouts/12_config/50_commands_tryouts.rb +17 -0
- data/tryouts/12_config/60_routines_tryouts.rb +16 -0
- data/tryouts/15_huxtable/10_huxtable_tryouts.rb +47 -0
- data/tryouts/15_huxtable/20_user_tryouts.rb +47 -0
- data/tryouts/20_simpledb/10_domains_tryouts.rb +36 -0
- data/tryouts/20_simpledb/20_objects_tryouts.rb +56 -0
- data/tryouts/25_ec2/10_keypairs_tryouts.rb +54 -0
- data/tryouts/25_ec2/20_groups_tryouts.rb +56 -0
- data/tryouts/25_ec2/21_groups_authorize_address_tryouts.rb +53 -0
- data/tryouts/25_ec2/22_groups_authorize_account_tryouts.rb +54 -0
- data/tryouts/25_ec2/30_addresses_tryouts.rb +42 -0
- data/tryouts/25_ec2/40_volumes_tryouts.rb +53 -0
- data/tryouts/25_ec2/50_snapshots_tryouts.rb +75 -0
- data/tryouts/26_ec2_instances/10_instance_tryouts.rb +107 -0
- data/tryouts/26_ec2_instances/50_images_tryouts.rb +7 -0
- data/tryouts/30_metadata/10_include_tryouts.rb +45 -0
- data/tryouts/30_metadata/13_object_tryouts.rb +19 -0
- data/tryouts/30_metadata/50_disk_tryouts.rb +115 -0
- data/tryouts/30_metadata/51_disk_digest_tryouts.rb +24 -0
- data/tryouts/30_metadata/53_disk_list_tryouts.rb +35 -0
- data/tryouts/30_metadata/56_disk_volume_tryouts.rb +68 -0
- data/tryouts/30_metadata/60_backup_tryouts.rb +101 -0
- data/tryouts/30_metadata/63_backup_list_tryouts.rb +38 -0
- data/tryouts/30_metadata/64_backup_disk_tryouts.rb +65 -0
- data/tryouts/30_metadata/66_backup_snapshot_tryouts.rb +76 -0
- data/tryouts/30_metadata/70_machine_tryouts.rb +85 -0
- data/tryouts/30_metadata/73_machine_list_tryouts.rb +58 -0
- data/tryouts/30_metadata/76_machine_instance_tryouts.rb +64 -0
- data/tryouts/30_metadata/77_machines_tryouts.rb +45 -0
- data/tryouts/40_routines/10_keypair_handler_tryouts.rb +52 -0
- data/tryouts/40_routines/11_group_handler_tryouts.rb +36 -0
- data/tryouts/80_cli/10_rudyec2_tryouts.rb +8 -0
- data/tryouts/80_cli/60_rudy_tryouts.rb +41 -0
- data/tryouts/failer +6 -0
- data/tryouts/misc/console_tryout.rb +91 -0
- data/tryouts/misc/disks_tryout.rb +48 -0
- data/tryouts/misc/drydock_tryout.rb +48 -0
- data/tryouts/misc/nested_methods.rb +103 -0
- data/tryouts/misc/session_tryout.rb +46 -0
- data/tryouts/misc/tryouts.rb +33 -0
- data/tryouts/misc/usage_tryout.rb +23 -0
- metadata +119 -31
- data/bin/ird +0 -153
- data/lib/rudy/metadata/backups.rb +0 -67
- data/lib/rudy/metadata/debug.rb +0 -38
- data/lib/rudy/metadata/disks.rb +0 -67
- data/lib/rudy/metadata/objectbase.rb +0 -108
- data/lib/rudy/routines/helper.rb +0 -76
- data/lib/rudy/routines/helpers/dependshelper.rb +0 -34
- data/lib/rudy/routines/helpers/diskhelper.rb +0 -403
- data/lib/rudy/routines/helpers/scripthelper.rb +0 -197
- data/lib/rudy/routines/helpers/userhelper.rb +0 -37
- data/support/rudy-ec2-startup +0 -200
@@ -0,0 +1,36 @@
|
|
1
|
+
group "Routines"
|
2
|
+
library :rudy, 'lib'
|
3
|
+
|
4
|
+
tryout "Group Handler" do
|
5
|
+
set :group, 'grp-' << Rudy::Utils.strand(4)
|
6
|
+
set :global, Rudy::Huxtable.global
|
7
|
+
set :config, Rudy::Huxtable.config
|
8
|
+
set :test_env, 'env_' << Rudy::Utils.strand
|
9
|
+
setup do
|
10
|
+
Rudy.enable_debug
|
11
|
+
Rudy::Huxtable.update_config # Read config files
|
12
|
+
akey, skey, region = global.accesskey, global.secretkey, global.region
|
13
|
+
Rudy::Metadata.connect akey, skey, region
|
14
|
+
Rudy::AWS::EC2.connect akey, skey, region
|
15
|
+
global.environment = test_env
|
16
|
+
end
|
17
|
+
|
18
|
+
drill "knows when a group doesn't exist", false do
|
19
|
+
Rudy::Routines::Handlers::Group.exists? group
|
20
|
+
end
|
21
|
+
|
22
|
+
dream :class, Rudy::AWS::EC2::Group
|
23
|
+
drill "create a group (#{group})" do
|
24
|
+
Rudy::Routines::Handlers::Group.create group
|
25
|
+
end
|
26
|
+
|
27
|
+
drill "knows when a group exists", true do
|
28
|
+
Rudy::Routines::Handlers::Group.exists? group
|
29
|
+
end
|
30
|
+
|
31
|
+
dream true
|
32
|
+
drill "destroy group" do
|
33
|
+
Rudy::Routines::Handlers::Group.destroy group
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
|
2
|
+
RUDY_HOME = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
|
3
|
+
|
4
|
+
group "Rudy CLI"
|
5
|
+
command :rudy, File.join(RUDY_HOME, 'bin', 'rudy')
|
6
|
+
|
7
|
+
dreams File.join(GYMNASIUM_HOME, '80_cli', '60_rudy_dreams.rb')
|
8
|
+
xtryout "rudy machines" do
|
9
|
+
drill "no machines, no args", :machines
|
10
|
+
##drill "startup", :startup
|
11
|
+
end
|
12
|
+
|
13
|
+
xtryout "rudy myaddress" do
|
14
|
+
drill 'no args', :myaddress
|
15
|
+
drill 'internal only', :myaddress, :i
|
16
|
+
drill 'external only', :myaddress, :e
|
17
|
+
drill 'quiet', :q, :myaddress
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
##dreams 'rudy myaddress' do
|
22
|
+
## dream 'no args' do
|
23
|
+
## output inline(%Q{
|
24
|
+
## Internal: #{Rudy::Utils::internal_ip_address}
|
25
|
+
## External: #{Rudy::Utils::external_ip_address}
|
26
|
+
## })
|
27
|
+
## end
|
28
|
+
## dream 'internal only', " Internal: #{Rudy::Utils::internal_ip_address}"
|
29
|
+
## dream 'external only', " External: #{Rudy::Utils::external_ip_address}"
|
30
|
+
## dream 'quiet', [Rudy::Utils::internal_ip_address, Rudy::Utils::external_ip_address]
|
31
|
+
##end
|
32
|
+
##
|
33
|
+
##
|
34
|
+
##dreams 'rudy machines' do
|
35
|
+
## dream 'no machines, no args' do
|
36
|
+
## output inline(%Q{
|
37
|
+
##No machines running in stage-app
|
38
|
+
##Try: rudy machines --all
|
39
|
+
## })
|
40
|
+
## end
|
41
|
+
##end
|
data/tryouts/failer
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
RUDY_HOME = File.join(File.dirname(__FILE__), '..')
|
2
|
+
RUDY_LIB = File.join(RUDY_HOME, 'lib')
|
3
|
+
$:.unshift RUDY_LIB # Put our local lib in first place
|
4
|
+
|
5
|
+
require 'yaml'
|
6
|
+
require 'date'
|
7
|
+
|
8
|
+
require 'tryouts'
|
9
|
+
require 'console'
|
10
|
+
|
11
|
+
raise "Sorry Ruby 1.9 only!" unless RUBY_VERSION =~ /1.9/
|
12
|
+
|
13
|
+
before do
|
14
|
+
@title = "RUDY v0.3"
|
15
|
+
@now_utc = Time.now.utc.strftime("%Y-%m-%d %H:%M:%S")
|
16
|
+
@props = {
|
17
|
+
:zone => "us-east-1b",
|
18
|
+
:environment => "stage",
|
19
|
+
:role =>"app",
|
20
|
+
:position => "01"
|
21
|
+
}
|
22
|
+
# PROMPT_COMMAND
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
#Console.clear
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
tryout :positioned do
|
31
|
+
Console.print_at(@title, {:y => Cursor.y, :x => Cursor.x })
|
32
|
+
sleep 1
|
33
|
+
Console.print_at(@now_utc, {:y => Cursor.y, :x => Console.width, :minus => true})
|
34
|
+
puts
|
35
|
+
sleep 1
|
36
|
+
Console.print_left(@title)
|
37
|
+
sleep 1
|
38
|
+
Console.print_right(@now_utc)
|
39
|
+
puts
|
40
|
+
sleep 1
|
41
|
+
Console.print_spaced('1'*25, 2, 3, '4'*30, 5, 6)
|
42
|
+
puts
|
43
|
+
sleep 1
|
44
|
+
Console.print_center(Window.bar(50))
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
tryout :u_r_d_l do
|
49
|
+
puts
|
50
|
+
Cursor.up && print('.')
|
51
|
+
sleep 1
|
52
|
+
Cursor.right && print('.')
|
53
|
+
sleep 1
|
54
|
+
Cursor.left && Cursor.down && print('.')
|
55
|
+
sleep 1
|
56
|
+
Cursor.left(3) && print('.')
|
57
|
+
end
|
58
|
+
|
59
|
+
tryout :update_inplace do
|
60
|
+
[(0..11).to_a, (90..110).to_a].flatten.each do |i|
|
61
|
+
Console.print_at(i, {:y => Cursor.y, :x => 4 })
|
62
|
+
sleep 0.05
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
tryout :danger! do
|
69
|
+
win = Window.new(:width => 100, :height => 100)
|
70
|
+
|
71
|
+
# DEBUGGING: There is a threading bug where the values of props and the
|
72
|
+
# string to print are being shared. Make Console and class and give an instance
|
73
|
+
# to each thread. However, that could fuck up shit like Cursor.position.
|
74
|
+
|
75
|
+
|
76
|
+
win.static(:right, 0.2, {:y => 0}) do
|
77
|
+
Time.now.utc.strftime("%Y-%m-%d %H:%M:%S").colour(:blue, :white, :underline)
|
78
|
+
end
|
79
|
+
win.static(:left, 0.2) do
|
80
|
+
rand
|
81
|
+
end
|
82
|
+
|
83
|
+
win.join_threads
|
84
|
+
|
85
|
+
puts $/, "Done!"
|
86
|
+
|
87
|
+
end
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
# Tryout - New Rudy::Metadata::Disk API
|
4
|
+
#
|
5
|
+
|
6
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
7
|
+
%w{drydock caesars rye}.each { |dir| $: << File.join(File.dirname(__FILE__), '..', '..', dir, 'lib') }
|
8
|
+
|
9
|
+
require 'rubygems'
|
10
|
+
require 'rudy'
|
11
|
+
require 'tryouts'
|
12
|
+
include Tryouts
|
13
|
+
|
14
|
+
#
|
15
|
+
#mach7 = Rudy::Machine.load('m-us-east-1b-stage-app-01')
|
16
|
+
mach7 = Rudy::Machine.new
|
17
|
+
|
18
|
+
#puts mach7.running?
|
19
|
+
#mach7.position = "07"
|
20
|
+
##y mach1.start
|
21
|
+
##mach1.save
|
22
|
+
#p Rudy::Machines.get(mach7.name)
|
23
|
+
#
|
24
|
+
#
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
#disk1 = Rudy::Metadata::Disk.new('/mnt/ride', 1, '/dev/sdh')
|
29
|
+
#p disk1.valid?
|
30
|
+
#p disk1.name
|
31
|
+
#disk1.save
|
32
|
+
#disk2 = Rudy::Disks.get("disk-poop-stage-app-01-")
|
33
|
+
#
|
34
|
+
#p disk1
|
35
|
+
#p disk2
|
36
|
+
#puts disk2 == disk1
|
37
|
+
#puts disk2.destroy
|
38
|
+
|
39
|
+
__END__
|
40
|
+
|
41
|
+
|
42
|
+
#puts disk1.to_select
|
43
|
+
#p disk1.to_query(nil, [:path])
|
44
|
+
#p Rudy::Disks.query( "['rtype'='disk']")
|
45
|
+
|
46
|
+
__END__
|
47
|
+
group = Rudy::Groups.new
|
48
|
+
inst = Rudy::Machines.new
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
# Tryout - Fix namespace conflicts between Drydock, Rudy, and Caesars
|
4
|
+
#
|
5
|
+
|
6
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
7
|
+
|
8
|
+
require 'drydock'
|
9
|
+
require 'tryouts'
|
10
|
+
include Tryouts
|
11
|
+
|
12
|
+
Drydock.run = false
|
13
|
+
|
14
|
+
tryout("include within module") do
|
15
|
+
module SomeModule
|
16
|
+
include Drydock
|
17
|
+
before do
|
18
|
+
end
|
19
|
+
puts "Works!" # Doesn't run
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
tryout("extend within module") do
|
24
|
+
module SomeModule
|
25
|
+
extend Drydock
|
26
|
+
before do
|
27
|
+
end
|
28
|
+
puts "Works!" # Runs
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
tryout("use before in main without include or extend") do
|
33
|
+
before do
|
34
|
+
end
|
35
|
+
puts "Works!" # Runs
|
36
|
+
end
|
37
|
+
|
38
|
+
tryout("include within main, use before in SomeModule") do
|
39
|
+
include Drydock
|
40
|
+
before do
|
41
|
+
end
|
42
|
+
module SomeModule
|
43
|
+
before do
|
44
|
+
end
|
45
|
+
puts "just ran SomeModule.before" # Run
|
46
|
+
end
|
47
|
+
puts "Works!" # Runs
|
48
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
|
2
|
+
## Example 2
|
3
|
+
|
4
|
+
class Helper
|
5
|
+
attr_accessor :worker
|
6
|
+
def metaclass
|
7
|
+
(class << self; self; end)
|
8
|
+
end
|
9
|
+
|
10
|
+
def meta_eval &block
|
11
|
+
metaclass.instance_eval &block
|
12
|
+
end
|
13
|
+
|
14
|
+
def add_method(meth)
|
15
|
+
meta_eval do
|
16
|
+
define_method( meth ) do |val|
|
17
|
+
@worker2 = val if val
|
18
|
+
val
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
h = Helper.new
|
25
|
+
h.worker = true
|
26
|
+
h.add_method(:worker2)
|
27
|
+
h.worker2(1)
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
__END__
|
32
|
+
|
33
|
+
## Example 1 -- test3 is not available until after test2 is called
|
34
|
+
module Helper
|
35
|
+
|
36
|
+
def test1
|
37
|
+
puts "test1"
|
38
|
+
|
39
|
+
def test2
|
40
|
+
def test3
|
41
|
+
puts "AWESOME"
|
42
|
+
end
|
43
|
+
|
44
|
+
puts "test2"
|
45
|
+
yield
|
46
|
+
end
|
47
|
+
|
48
|
+
def test3
|
49
|
+
puts "test3"
|
50
|
+
end
|
51
|
+
yield
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
include Helper
|
57
|
+
|
58
|
+
test1 do
|
59
|
+
puts "1"
|
60
|
+
test3 # => test3
|
61
|
+
test2 do
|
62
|
+
test3 # => AWESOME
|
63
|
+
puts "2"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# test2 # => throws error
|
68
|
+
|
69
|
+
__END__
|
70
|
+
|
71
|
+
## Sam's example -- "there" is available to the entire method after hello is called.
|
72
|
+
|
73
|
+
class Foo
|
74
|
+
|
75
|
+
def machines
|
76
|
+
puts '1'
|
77
|
+
end
|
78
|
+
|
79
|
+
def ami
|
80
|
+
puts '2'
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
|
86
|
+
class Bar
|
87
|
+
|
88
|
+
def hello
|
89
|
+
def there
|
90
|
+
puts '3'
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
Foo.new.machines
|
97
|
+
Foo.new.ami
|
98
|
+
Bar.new.hello
|
99
|
+
|
100
|
+
Bar.new.there
|
101
|
+
Bar.new.there
|
102
|
+
|
103
|
+
#class << self;
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
+
|
5
|
+
require 'session'
|
6
|
+
require 'net/ssh'
|
7
|
+
require 'rye'
|
8
|
+
require 'yaml'
|
9
|
+
require 'stringio'
|
10
|
+
|
11
|
+
#p Rye.command('ssh', '-i', '', '')
|
12
|
+
|
13
|
+
module Rye::Box::Commands
|
14
|
+
def rudy(*args); command("/proj/git/rudy/bin/rudy", args); end
|
15
|
+
end
|
16
|
+
|
17
|
+
logger = StringIO.new
|
18
|
+
rbox = Rye::Box.new('localhost', 'delano', :stderr => logger).connect
|
19
|
+
#rbox2 = Rye::Box.new('ec2-174-129-173-3.compute-1.amazonaws.com', 'root')
|
20
|
+
#rbox.add_keys('/Users/delano/Projects/git/rudy/.rudy/key-test-app')
|
21
|
+
#rbox.connect
|
22
|
+
#puts rbox.date
|
23
|
+
#puts rbox.pwd
|
24
|
+
puts rbox['/usr/bin'].pwd
|
25
|
+
puts rbox.uptime
|
26
|
+
puts rbox.can
|
27
|
+
puts rbox.echo '$HOME'
|
28
|
+
puts rbox.rudy('myaddress')
|
29
|
+
rbox.disconnect
|
30
|
+
#puts logger.read
|
31
|
+
#>>
|
32
|
+
|
33
|
+
__END__
|
34
|
+
|
35
|
+
|
36
|
+
rgroup = Rye::Group.new('root', 'keydir/file')
|
37
|
+
rgroup.add_hosts('ec2-174-129-173-3.compute-1.amazonaws.com')
|
38
|
+
rgroup.command('hostname')
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
#shell = Session::Shell.new
|
43
|
+
|
44
|
+
#p shell.execute('ssh -T -t -i /Users/delano/Projects/git/rudy/.rudy/key-test-app.private root@ec2-174-129-82-193.compute-1.amazonaws.com')
|
45
|
+
|
46
|
+
#Net::SSH.configuration_for(localhost, ssh_options.fetch(:config, true)).merge(ssh_options)
|
@@ -0,0 +1,33 @@
|
|
1
|
+
|
2
|
+
require 'ostruct'
|
3
|
+
|
4
|
+
module Tryouts
|
5
|
+
|
6
|
+
# tryout :name do
|
7
|
+
# ...
|
8
|
+
# end
|
9
|
+
def tryout(name, &b)
|
10
|
+
puts '-'*50
|
11
|
+
puts "Running#{@poop}: #{name}"
|
12
|
+
begin
|
13
|
+
b.call
|
14
|
+
sleep 0.1
|
15
|
+
rescue Interrupt
|
16
|
+
rescue => ex
|
17
|
+
STDERR.puts "Tryout error: #{ex.message}"
|
18
|
+
end
|
19
|
+
puts $/*2
|
20
|
+
end
|
21
|
+
|
22
|
+
# Ignore everything
|
23
|
+
def xtryout(name, &b)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Is this wacky syntax useful for anything?
|
27
|
+
# t2 :set .
|
28
|
+
# run = "poop"
|
29
|
+
def t2(*args)
|
30
|
+
OpenStruct.new
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|