tunnel-vmc-plugin 0.0.1 → 0.1.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/lib/tunnel-vmc-plugin/plugin.rb +6 -24
- data/lib/tunnel-vmc-plugin/tunnel.rb +2 -4
- data/lib/tunnel-vmc-plugin/version.rb +1 -1
- metadata +74 -54
@@ -4,43 +4,25 @@ require File.expand_path("../tunnel", __FILE__)
|
|
4
4
|
VMC.Plugin(VMC::Service) do
|
5
5
|
include VMCTunnel
|
6
6
|
|
7
|
-
desc "tunnel SERVICE [CLIENT]", "
|
7
|
+
desc "tunnel [SERVICE] [CLIENT]", "Create a local tunnel to a service."
|
8
|
+
group :services, :manage
|
8
9
|
flag(:service) { |choices|
|
9
10
|
ask("Which service?", :choices => choices)
|
10
11
|
}
|
11
12
|
flag(:client)
|
12
13
|
flag(:port, :default => 10000)
|
13
14
|
def tunnel(service = nil, client_name = nil)
|
14
|
-
unless defined? Caldecott
|
15
|
-
$stderr.puts "To use `vmc tunnel', you must first install Caldecott:"
|
16
|
-
$stderr.puts ""
|
17
|
-
$stderr.puts "\tgem install caldecott"
|
18
|
-
$stderr.puts ""
|
19
|
-
$stderr.puts "Note that you'll need a C compiler. If you're on OS X, Xcode"
|
20
|
-
$stderr.puts "will provide one. If you're on Windows, try DevKit."
|
21
|
-
$stderr.puts ""
|
22
|
-
$stderr.puts "This manual step will be removed in the future."
|
23
|
-
$stderr.puts ""
|
24
|
-
err "Caldecott is not installed."
|
25
|
-
return
|
26
|
-
end
|
27
|
-
|
28
15
|
client_name ||= input(:client)
|
29
16
|
|
30
17
|
services = client.services
|
31
|
-
|
32
|
-
|
33
|
-
return
|
34
|
-
end
|
18
|
+
|
19
|
+
fail "No services available for tunneling." if services.empty?
|
35
20
|
|
36
21
|
service ||= input(:service, services.collect(&:name).sort)
|
37
22
|
|
38
23
|
info = services.find { |s| s.name == service }
|
39
24
|
|
40
|
-
unless info
|
41
|
-
err "Unknown service '#{service}'"
|
42
|
-
return
|
43
|
-
end
|
25
|
+
fail "Unknown service '#{service}'" unless info
|
44
26
|
|
45
27
|
clients = tunnel_clients[info.vendor] || {}
|
46
28
|
|
@@ -80,7 +62,7 @@ VMC.Plugin(VMC::Service) do
|
|
80
62
|
end
|
81
63
|
|
82
64
|
unless start_local_prog(clients, client_name, conn_info, port)
|
83
|
-
|
65
|
+
fail "'#{client_name}' execution failed; is it in your $PATH?"
|
84
66
|
end
|
85
67
|
end
|
86
68
|
end
|
metadata
CHANGED
@@ -1,101 +1,121 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: tunnel-vmc-plugin
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 0
|
10
|
+
version: 0.1.0
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Alex Suraci
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2012-05-30 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: addressable
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 2.2.6
|
22
|
-
type: :runtime
|
23
22
|
prerelease: false
|
24
|
-
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
|
-
requirements:
|
25
|
+
requirements:
|
27
26
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 11
|
29
|
+
segments:
|
30
|
+
- 2
|
31
|
+
- 2
|
32
|
+
- 6
|
29
33
|
version: 2.2.6
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: eventmachine
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ~>
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: 1.0.0.beta
|
38
34
|
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: eventmachine
|
39
38
|
prerelease: false
|
40
|
-
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
40
|
none: false
|
42
|
-
requirements:
|
41
|
+
requirements:
|
43
42
|
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 31098193
|
45
|
+
segments:
|
46
|
+
- 1
|
47
|
+
- 0
|
48
|
+
- 0
|
49
|
+
- beta
|
45
50
|
version: 1.0.0.beta
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: caldecott
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ~>
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 0.0.5
|
54
51
|
type: :runtime
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: caldecott
|
55
55
|
prerelease: false
|
56
|
-
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
57
|
none: false
|
58
|
-
requirements:
|
58
|
+
requirements:
|
59
59
|
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
hash: 21
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
- 0
|
65
|
+
- 5
|
61
66
|
version: 0.0.5
|
67
|
+
type: :runtime
|
68
|
+
version_requirements: *id003
|
62
69
|
description:
|
63
|
-
email:
|
70
|
+
email:
|
64
71
|
- asuraci@vmware.com
|
65
72
|
executables: []
|
73
|
+
|
66
74
|
extensions: []
|
75
|
+
|
67
76
|
extra_rdoc_files: []
|
68
|
-
|
77
|
+
|
78
|
+
files:
|
69
79
|
- Rakefile
|
70
|
-
- lib/tunnel-vmc-plugin/tunnel.rb
|
71
80
|
- lib/tunnel-vmc-plugin/plugin.rb
|
81
|
+
- lib/tunnel-vmc-plugin/tunnel.rb
|
72
82
|
- lib/tunnel-vmc-plugin/version.rb
|
83
|
+
- helper-app/Gemfile
|
73
84
|
- helper-app/Gemfile.lock
|
74
85
|
- helper-app/server.rb
|
75
|
-
- helper-app/Gemfile
|
76
86
|
- config/clients.yml
|
77
87
|
homepage: http://cloudfoundry.com/
|
78
88
|
licenses: []
|
89
|
+
|
79
90
|
post_install_message:
|
80
91
|
rdoc_options: []
|
81
|
-
|
92
|
+
|
93
|
+
require_paths:
|
82
94
|
- lib
|
83
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
84
96
|
none: false
|
85
|
-
requirements:
|
86
|
-
- -
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
|
89
|
-
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
hash: 3
|
101
|
+
segments:
|
102
|
+
- 0
|
103
|
+
version: "0"
|
104
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
105
|
none: false
|
91
|
-
requirements:
|
92
|
-
- -
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
hash: 3
|
110
|
+
segments:
|
111
|
+
- 0
|
112
|
+
version: "0"
|
95
113
|
requirements: []
|
114
|
+
|
96
115
|
rubyforge_project: tunnel-vmc-plugin
|
97
116
|
rubygems_version: 1.8.23
|
98
117
|
signing_key:
|
99
118
|
specification_version: 3
|
100
119
|
summary: External access to your services on Cloud Foundry via a Caldecott HTTP tunnel.
|
101
120
|
test_files: []
|
121
|
+
|