rye 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.txt +7 -0
- data/lib/rye.rb +1 -1
- data/lib/rye/box.rb +23 -19
- data/lib/rye/set.rb +20 -9
- data/rye.gemspec +1 -1
- metadata +4 -4
data/CHANGES.txt
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
RYE, CHANGES
|
2
2
|
|
3
|
+
#### 0.9.2 (2010-10-25) #############################
|
4
|
+
|
5
|
+
* FIXED: add_keys stores key paths for Rye::Box and Rye::Set
|
6
|
+
* ADDED: remove_keys method for Rye::Box and Rye::Set
|
7
|
+
* ADDED: interactive_ssh adds private paths to ssh command
|
8
|
+
|
9
|
+
|
3
10
|
#### 0.9.1 (2010-10-18) #############################
|
4
11
|
|
5
12
|
* CHANGE: Don't add keys to ssh-agent in Rye::Box and Rye::Set
|
data/lib/rye.rb
CHANGED
data/lib/rye/box.rb
CHANGED
@@ -260,34 +260,38 @@ module Rye
|
|
260
260
|
#
|
261
261
|
# TODO: refactor to use net_ssh_exec! in 0.9
|
262
262
|
def interactive_ssh(run=true)
|
263
|
-
debug "interactive_ssh with keys: #{
|
264
|
-
run = false unless STDIN.tty?
|
265
|
-
|
263
|
+
debug "interactive_ssh with keys: #{@rye_opts[:keys].inspect}"
|
264
|
+
run = false unless STDIN.tty?
|
265
|
+
args = []
|
266
|
+
@rye_opts[:keys].each { |key| args.push *[:i, key] }
|
267
|
+
args << "#{@rye_user}@#{@rye_host}"
|
268
|
+
cmd = Rye.prepare_command("ssh", args)
|
266
269
|
return cmd unless run
|
267
270
|
system(cmd)
|
268
271
|
end
|
269
272
|
|
270
|
-
# Add one or more private keys to the
|
271
|
-
# * +
|
273
|
+
# Add one or more private keys to the list of key paths.
|
274
|
+
# * +keys+ is a list of file paths to private keys
|
272
275
|
# Returns the instance of Box
|
273
|
-
def add_keys(*
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
return @rye_opts[:keys]
|
278
|
-
end
|
279
|
-
additional_keys = [additional_keys].flatten.compact || []
|
280
|
-
return if additional_keys.empty?
|
281
|
-
#ret = Rye.add_keys(additional_keys)
|
282
|
-
#if ret.is_a?(Rye::Rap)
|
283
|
-
# debug "ssh-add exit_status: #{ret.exit_status}"
|
284
|
-
# debug "ssh-add stdout: #{ret.stdout}"
|
285
|
-
# debug "ssh-add stderr: #{ret.stderr}"
|
286
|
-
#end
|
276
|
+
def add_keys(*keys)
|
277
|
+
@rye_opts[:keys] ||= []
|
278
|
+
@rye_opts[:keys] += keys.flatten.compact
|
279
|
+
@rye_opts[:keys].uniq!
|
287
280
|
self # MUST RETURN self
|
288
281
|
end
|
289
282
|
alias :add_key :add_keys
|
290
283
|
|
284
|
+
# Remove one or more private keys fromt he list of key paths.
|
285
|
+
# * +keys+ is a list of file paths to private keys
|
286
|
+
# Returns the instance of Box
|
287
|
+
def remove_keys(*keys)
|
288
|
+
@rye_opts[:keys] ||= []
|
289
|
+
@rye_opts[:keys] -= keys.flatten.compact
|
290
|
+
@rye_opts[:keys].uniq!
|
291
|
+
self # MUST RETURN self
|
292
|
+
end
|
293
|
+
alias :remove_key :remove_keys
|
294
|
+
|
291
295
|
# Return the value of uname in lowercase
|
292
296
|
# This is a temporary fix. We can use SysInfo for this, upload
|
293
297
|
# it, execute it directly, parse the output.
|
data/lib/rye/set.rb
CHANGED
@@ -66,20 +66,31 @@ module Rye
|
|
66
66
|
end
|
67
67
|
alias :add_boxes :add_box
|
68
68
|
|
69
|
-
# Add one or more private keys to
|
69
|
+
# Add one or more private keys to each box. Also stores key paths
|
70
|
+
# in the set so when new boxes are added they will get the same keys,
|
70
71
|
# * +additional_keys+ is a list of file paths to private keys
|
71
72
|
# Returns the instance of Rye::Set
|
72
|
-
def
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
73
|
+
def add_keys(*additional_keys)
|
74
|
+
additional_keys = additional_keys.flatten.compact
|
75
|
+
@opts[:keys] ||= []
|
76
|
+
@opts[:keys] += additional_keys
|
77
|
+
@opts[:keys].uniq!
|
78
|
+
@boxes.each do |box|
|
79
|
+
box.add_keys *additional_keys
|
77
80
|
end
|
78
|
-
additional_keys = [additional_keys].flatten.compact || []
|
79
|
-
#Rye.add_keys(additional_keys)
|
80
81
|
self
|
81
82
|
end
|
82
|
-
alias :
|
83
|
+
alias :add_key :add_keys
|
84
|
+
|
85
|
+
def remove_keys(*keys)
|
86
|
+
@opts[:keys] ||= []
|
87
|
+
@opts[:keys] -= keys.flatten.compact
|
88
|
+
@boxes.each do |box|
|
89
|
+
box.remove_keys keys.flatten.compact
|
90
|
+
end
|
91
|
+
self
|
92
|
+
end
|
93
|
+
alias :remove_key :remove_keys
|
83
94
|
|
84
95
|
# Add an environment variable. +n+ and +v+ are the name and value.
|
85
96
|
# Returns the instance of Rye::Set
|
data/rye.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
@spec = Gem::Specification.new do |s|
|
2
2
|
s.name = "rye"
|
3
3
|
s.rubyforge_project = "rye"
|
4
|
-
s.version = "0.9.
|
4
|
+
s.version = "0.9.2"
|
5
5
|
s.summary = "Rye: Safely run SSH commands on a bunch of machines at the same time (from Ruby)."
|
6
6
|
s.description = s.summary
|
7
7
|
s.author = "Delano Mandelbaum"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rye
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 63
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 2
|
10
|
+
version: 0.9.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Delano Mandelbaum
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-10-
|
18
|
+
date: 2010-10-25 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|