rye 0.9.8 → 0.9.9
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.txt +9 -0
- data/Gemfile +3 -0
- data/README.rdoc +10 -7
- data/Rakefile +8 -2
- data/VERSION +1 -1
- data/lib/rye/box.rb +5 -8
- data/lib/rye/hop.rb +2 -2
- data/rye.gemspec +3 -1
- metadata +21 -32
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
data/CHANGES.txt
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
RYE, CHANGES
|
2
2
|
|
3
|
+
|
4
|
+
#### 0.9.9 (2013-11-09) #############################
|
5
|
+
|
6
|
+
* FIXED: Stderr channel fix for lost Rye::Set error messages [megeek]
|
7
|
+
* CHANGE: Propagate original Net::SSH exceptions [Musannif Zahir]
|
8
|
+
* CHANGE: Raise Net::SSH::HostKeyMismatch instead of waiting input [Ruy Rocha]
|
9
|
+
* CHANGE: Add Gemfile, make setting signing_key in gemspec conditional [Dan Peterson]
|
10
|
+
|
11
|
+
|
3
12
|
#### 0.9.8 (2013-02-06) #############################
|
4
13
|
|
5
14
|
* ADDED: Rudimentary DSL (see tst/dsl_example.rb) [Randy D. Wallace Jr]
|
data/Gemfile
ADDED
data/README.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= Rye - v0.9
|
2
2
|
|
3
|
-
<
|
3
|
+
<b>Safely run SSH commands on a bunch of machines at the same time (from Ruby)</b>.
|
4
4
|
|
5
5
|
Inspired by Rush[http://rush.heroku.com] and compatible with Ruby 1.8, 1.9, and JRuby 1.3+!
|
6
6
|
|
@@ -209,22 +209,25 @@ Via Rubygems:
|
|
209
209
|
|
210
210
|
$ gem install rye
|
211
211
|
|
212
|
-
|
212
|
+
or via download:
|
213
|
+
|
214
|
+
* rye-latest.tar.gz[http://github.com/delano/rye/tarball/latest]
|
215
|
+
* rye-latest.zip[http://github.com/delano/rye/zipball/latest]
|
216
|
+
|
217
|
+
|
218
|
+
However, in order to be sure the code you're installing hasn't been tampered with, it's recommended that you verify the signiture[http://docs.rubygems.org/read/chapter/21]. To do this, you need to add my public key as a trusted certificate (you only need to do this once):
|
213
219
|
|
214
220
|
# Add the public key as a trusted certificate
|
215
221
|
# (You only need to do this once)
|
216
222
|
$ curl -O https://raw.github.com/delano/rye/master/gem-public_cert.pem
|
217
223
|
$ gem cert --add gem-public_cert.pem
|
218
224
|
|
225
|
+
Then, when install the gem, do so with high security:
|
226
|
+
|
219
227
|
$ gem install rye -P HighSecurity
|
220
228
|
|
221
229
|
If you don't add the public key, you'll see an error like "Couldn't verify data signature". If you're still having trouble let me know and I'll give you a hand.
|
222
230
|
|
223
|
-
or via download:
|
224
|
-
|
225
|
-
* rye-latest.tar.gz[http://github.com/delano/rye/tarball/latest]
|
226
|
-
* rye-latest.zip[http://github.com/delano/rye/zipball/latest]
|
227
|
-
|
228
231
|
|
229
232
|
== Contributing
|
230
233
|
|
data/Rakefile
CHANGED
@@ -6,6 +6,7 @@ require "rdoc/task"
|
|
6
6
|
task :default => ["build"]
|
7
7
|
CLEAN.include [ 'pkg', 'rdoc' ]
|
8
8
|
name = "rye"
|
9
|
+
key = File.join('/mnt/gem/', 'gem-private_key.pem');
|
9
10
|
|
10
11
|
$:.unshift File.join(File.dirname(__FILE__), 'lib')
|
11
12
|
require name
|
@@ -29,8 +30,11 @@ begin
|
|
29
30
|
s.add_dependency 'net-scp', '>= 1.0.2'
|
30
31
|
s.add_dependency 'docile', '>= 1.0.1'
|
31
32
|
|
32
|
-
|
33
|
-
|
33
|
+
if File.exists?(key)
|
34
|
+
s.cert_chain = ['gem-public_cert.pem']
|
35
|
+
s.signing_key = key
|
36
|
+
end
|
37
|
+
|
34
38
|
end
|
35
39
|
Jeweler::GemcutterTasks.new
|
36
40
|
rescue LoadError
|
@@ -40,6 +44,8 @@ end
|
|
40
44
|
RDoc::Task.new do |rdoc|
|
41
45
|
rdoc.rdoc_dir = "rdoc"
|
42
46
|
rdoc.title = "#{name} #{version}"
|
47
|
+
rdoc.generator = 'hanna'
|
48
|
+
rdoc.main = 'README.rdoc'
|
43
49
|
rdoc.rdoc_files.include("README*")
|
44
50
|
rdoc.rdoc_files.include("LICENSE.txt")
|
45
51
|
rdoc.rdoc_files.include("VERSION")
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.9
|
data/lib/rye/box.rb
CHANGED
@@ -671,12 +671,7 @@ module Rye
|
|
671
671
|
rescue Net::SSH::HostKeyMismatch => ex
|
672
672
|
STDERR.puts ex.message
|
673
673
|
print "\a" if @rye_info # Ring the bell
|
674
|
-
|
675
|
-
@rye_opts[:paranoid] = false
|
676
|
-
retry
|
677
|
-
else
|
678
|
-
raise Net::SSH::HostKeyMismatch
|
679
|
-
end
|
674
|
+
raise ex
|
680
675
|
rescue Net::SSH::AuthenticationFailed => ex
|
681
676
|
print "\a" if retried == 0 && @rye_info # Ring the bell once
|
682
677
|
retried += 1
|
@@ -686,14 +681,14 @@ module Rye
|
|
686
681
|
# Raise Net::SSH::AuthenticationFailed if publickey is the
|
687
682
|
# only auth method
|
688
683
|
if @rye_opts[:auth_methods] == ["publickey"]
|
689
|
-
raise
|
684
|
+
raise ex
|
690
685
|
elsif @rye_password_prompt && (STDIN.tty? && retried <= 3)
|
691
686
|
STDERR.puts "Passwordless login failed for #{@rye_user}"
|
692
687
|
@rye_opts[:password] = highline.ask("Password: ") { |q| q.echo = '' }.strip
|
693
688
|
@rye_opts[:auth_methods].push *['keyboard-interactive', 'password']
|
694
689
|
retry
|
695
690
|
else
|
696
|
-
raise
|
691
|
+
raise ex
|
697
692
|
end
|
698
693
|
end
|
699
694
|
|
@@ -817,6 +812,8 @@ module Rye
|
|
817
812
|
rap.cmd = cmd_clean
|
818
813
|
|
819
814
|
channel = net_ssh_exec!(cmd_internal, &blk)
|
815
|
+
channel[:stderr].position = 0
|
816
|
+
channel[:stdout].position = 0
|
820
817
|
|
821
818
|
if channel[:exception]
|
822
819
|
rap = channel[:exception].rap
|
data/lib/rye/hop.rb
CHANGED
@@ -273,7 +273,7 @@ module Rye
|
|
273
273
|
@rye_opts[:paranoid] = false
|
274
274
|
retry
|
275
275
|
else
|
276
|
-
raise
|
276
|
+
raise ex
|
277
277
|
end
|
278
278
|
rescue Net::SSH::AuthenticationFailed => ex
|
279
279
|
print "\a" if retried == 0 && @rye_info # Ring the bell once
|
@@ -285,7 +285,7 @@ module Rye
|
|
285
285
|
@rye_opts[:auth_methods].push *['keyboard-interactive', 'password']
|
286
286
|
retry
|
287
287
|
else
|
288
|
-
raise
|
288
|
+
raise ex
|
289
289
|
end
|
290
290
|
end
|
291
291
|
|
data/rye.gemspec
CHANGED
@@ -68,7 +68,9 @@ Gem::Specification.new do |s|
|
|
68
68
|
s.require_paths = ["lib"]
|
69
69
|
s.rubyforge_project = "rye"
|
70
70
|
s.rubygems_version = "1.8.25"
|
71
|
-
|
71
|
+
if File.exists?("/mnt/gem/gem-private_key.pem")
|
72
|
+
s.signing_key = "/mnt/gem/gem-private_key.pem"
|
73
|
+
end
|
72
74
|
s.summary = "Run SSH commands on a bunch of machines at the same time (from Ruby)."
|
73
75
|
|
74
76
|
if s.respond_to? :specification_version then
|
metadata
CHANGED
@@ -1,44 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rye
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Delano Mandelbaum
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
-
|
13
|
-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUROakNDQWg2Z0F3SUJB
|
14
|
-
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREJCTVE4d0RRWURWUVFEREFaa1pX
|
15
|
-
eGgKYm04eEdUQVhCZ29Ka2lhSmsvSXNaQUVaRmdsemIyeDFkR2x2ZFhNeEV6
|
16
|
-
QVJCZ29Ka2lhSmsvSXNaQUVaRmdOagpiMjB3SGhjTk1UTXdNakEyTVRFMU56
|
17
|
-
UTFXaGNOTVRRd01qQTJNVEUxTnpRMVdqQkJNUTh3RFFZRFZRUUREQVprClpX
|
18
|
-
eGhibTh4R1RBWEJnb0praWFKay9Jc1pBRVpGZ2x6YjJ4MWRHbHZkWE14RXpB
|
19
|
-
UkJnb0praWFKay9Jc1pBRVoKRmdOamIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFF
|
20
|
-
QkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEZzFoTXRsMFhzTXVVSwpBS1RnWVd2
|
21
|
-
M2dqajd2dUVzRTJFalQrdnlCZzgvTHBxVlZ3WnppaWFlYkpUOUlaaVErc0NG
|
22
|
-
cWJpYWtqMGI1M3BJCmhnMXlPYUJFbUg2L1cwTDdyd3pxYVJWOXNXMWVKczlK
|
23
|
-
eEZZUUNuZDY3elVuemo4bm5SbE9qRytoaElHK1ZzaWoKbnBzR2J0MjhwZWZ1
|
24
|
-
TlpKak81cTJjbEFsZlNuaUlJSGZJc1U3L1N0RVl1NkZVR09qbndyeVowcjV5
|
25
|
-
SmxyOVJyRQpHcytxMERXOFFuWjlVcEFmdURGUVp1SXFlS1FGRkxFN25NbUNH
|
26
|
-
YUErMEJOMW5MbDNmVkhOYkxIcTdBdms4K1orClp1dXZrZHNjYkhsTy9sKzN4
|
27
|
-
Q05RNW5Vbkh3cTBBREFiTUxPbG1pWVl6cVhvV0xqbWVJNm1lL2Nsa3RKQ2ZO
|
28
|
-
MlIKb1pHM1VRdnZBZ01CQUFHak9UQTNNQWtHQTFVZEV3UUNNQUF3SFFZRFZS
|
29
|
-
ME9CQllFRk1TSk9FdEh6RTRsMGF6dgpNMEpLMGtLTlRvSzFNQXNHQTFVZER3
|
30
|
-
UUVBd0lFc0RBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQXRPZEU3M3F4Ck9I
|
31
|
-
MnlkaTlvVDJoUzVmOUcweTFaNzBUbHdoK1ZHRXh5Znh6VkU5WHdDK2lQcEp4
|
32
|
-
TnJhaUhZZ0YvOS9va3k3WloKUjlxMC90Sm5ldWhBZW5aZGlRa1g3b2k0TzN2
|
33
|
-
OXdSUzZZSG9XQnhNUEZLVlJMTlR6dlZKc2JtZnBDQWxwNS81ZwpwczR3UUZ5
|
34
|
-
NW1pYkVsR1ZsT29iZi9naHFaMjVIUzlKNmtkMC9DL3J5MEFVdFRvZ3NMN1R4
|
35
|
-
R3dUNGtiQ3g2M3ViCjN2eXdFRWhzSlV6ZmQ5N0dDQUJtdFFmUlRsZFgvajdG
|
36
|
-
MXovNXdkOHAraGZkb3gxaWliZHM5WnRmYVpBM0t6S24Ka2NoV045QjZ6Zzly
|
37
|
-
MVhNUThCTTJKejBYb1BhblBlMzU0K2xXd2pwa1JLYkZvdy9aYlFIY0NMQ3Ey
|
38
|
-
NCtONmI2ZwpkZ0tmTkR6d2lEcHFDQT09Ci0tLS0tRU5EIENFUlRJRklDQVRF
|
39
|
-
LS0tLS0K
|
40
|
-
date: 2013-02-06 00:00:00.000000000 Z
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-11-09 00:00:00.000000000 Z
|
41
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rye
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
42
30
|
- !ruby/object:Gem::Dependency
|
43
31
|
name: annoy
|
44
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,6 +132,7 @@ extra_rdoc_files:
|
|
144
132
|
- README.rdoc
|
145
133
|
files:
|
146
134
|
- CHANGES.txt
|
135
|
+
- Gemfile
|
147
136
|
- LICENSE.txt
|
148
137
|
- README.rdoc
|
149
138
|
- Rakefile
|
@@ -208,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
197
|
version: '0'
|
209
198
|
requirements: []
|
210
199
|
rubyforge_project: rye
|
211
|
-
rubygems_version: 1.8.
|
200
|
+
rubygems_version: 1.8.23
|
212
201
|
signing_key:
|
213
202
|
specification_version: 3
|
214
203
|
summary: Run SSH commands on a bunch of machines at the same time (from Ruby).
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
Binary file
|