solutious-rudy 0.8.5 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|