right_agent 2.0.7-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. data/LICENSE +20 -0
  2. data/README.rdoc +82 -0
  3. data/Rakefile +113 -0
  4. data/lib/right_agent.rb +59 -0
  5. data/lib/right_agent/actor.rb +182 -0
  6. data/lib/right_agent/actor_registry.rb +76 -0
  7. data/lib/right_agent/actors/agent_manager.rb +232 -0
  8. data/lib/right_agent/agent.rb +1149 -0
  9. data/lib/right_agent/agent_config.rb +480 -0
  10. data/lib/right_agent/agent_identity.rb +210 -0
  11. data/lib/right_agent/agent_tag_manager.rb +237 -0
  12. data/lib/right_agent/audit_formatter.rb +107 -0
  13. data/lib/right_agent/clients.rb +31 -0
  14. data/lib/right_agent/clients/api_client.rb +383 -0
  15. data/lib/right_agent/clients/auth_client.rb +247 -0
  16. data/lib/right_agent/clients/balanced_http_client.rb +369 -0
  17. data/lib/right_agent/clients/base_retry_client.rb +495 -0
  18. data/lib/right_agent/clients/right_http_client.rb +279 -0
  19. data/lib/right_agent/clients/router_client.rb +493 -0
  20. data/lib/right_agent/command.rb +30 -0
  21. data/lib/right_agent/command/agent_manager_commands.rb +150 -0
  22. data/lib/right_agent/command/command_client.rb +136 -0
  23. data/lib/right_agent/command/command_constants.rb +33 -0
  24. data/lib/right_agent/command/command_io.rb +126 -0
  25. data/lib/right_agent/command/command_parser.rb +87 -0
  26. data/lib/right_agent/command/command_runner.rb +118 -0
  27. data/lib/right_agent/command/command_serializer.rb +63 -0
  28. data/lib/right_agent/connectivity_checker.rb +179 -0
  29. data/lib/right_agent/console.rb +65 -0
  30. data/lib/right_agent/core_payload_types.rb +44 -0
  31. data/lib/right_agent/core_payload_types/cookbook.rb +61 -0
  32. data/lib/right_agent/core_payload_types/cookbook_position.rb +46 -0
  33. data/lib/right_agent/core_payload_types/cookbook_repository.rb +116 -0
  34. data/lib/right_agent/core_payload_types/cookbook_sequence.rb +70 -0
  35. data/lib/right_agent/core_payload_types/dev_repositories.rb +100 -0
  36. data/lib/right_agent/core_payload_types/dev_repository.rb +76 -0
  37. data/lib/right_agent/core_payload_types/event_categories.rb +38 -0
  38. data/lib/right_agent/core_payload_types/executable_bundle.rb +130 -0
  39. data/lib/right_agent/core_payload_types/login_policy.rb +72 -0
  40. data/lib/right_agent/core_payload_types/login_user.rb +79 -0
  41. data/lib/right_agent/core_payload_types/planned_volume.rb +94 -0
  42. data/lib/right_agent/core_payload_types/recipe_instantiation.rb +73 -0
  43. data/lib/right_agent/core_payload_types/repositories_bundle.rb +50 -0
  44. data/lib/right_agent/core_payload_types/right_script_attachment.rb +95 -0
  45. data/lib/right_agent/core_payload_types/right_script_instantiation.rb +94 -0
  46. data/lib/right_agent/core_payload_types/runlist_policy.rb +44 -0
  47. data/lib/right_agent/core_payload_types/secure_document.rb +66 -0
  48. data/lib/right_agent/core_payload_types/secure_document_location.rb +63 -0
  49. data/lib/right_agent/core_payload_types/software_repository_instantiation.rb +61 -0
  50. data/lib/right_agent/daemonize.rb +35 -0
  51. data/lib/right_agent/dispatched_cache.rb +109 -0
  52. data/lib/right_agent/dispatcher.rb +272 -0
  53. data/lib/right_agent/enrollment_result.rb +221 -0
  54. data/lib/right_agent/exceptions.rb +87 -0
  55. data/lib/right_agent/history.rb +145 -0
  56. data/lib/right_agent/log.rb +460 -0
  57. data/lib/right_agent/minimal.rb +46 -0
  58. data/lib/right_agent/monkey_patches.rb +30 -0
  59. data/lib/right_agent/monkey_patches/ruby_patch.rb +55 -0
  60. data/lib/right_agent/monkey_patches/ruby_patch/array_patch.rb +29 -0
  61. data/lib/right_agent/monkey_patches/ruby_patch/darwin_patch.rb +24 -0
  62. data/lib/right_agent/monkey_patches/ruby_patch/linux_patch.rb +24 -0
  63. data/lib/right_agent/monkey_patches/ruby_patch/linux_patch/file_patch.rb +30 -0
  64. data/lib/right_agent/monkey_patches/ruby_patch/object_patch.rb +49 -0
  65. data/lib/right_agent/monkey_patches/ruby_patch/windows_patch.rb +32 -0
  66. data/lib/right_agent/monkey_patches/ruby_patch/windows_patch/file_patch.rb +60 -0
  67. data/lib/right_agent/monkey_patches/ruby_patch/windows_patch/process_patch.rb +63 -0
  68. data/lib/right_agent/monkey_patches/ruby_patch/windows_patch/stdio_patch.rb +27 -0
  69. data/lib/right_agent/monkey_patches/ruby_patch/windows_patch/time_patch.rb +55 -0
  70. data/lib/right_agent/monkey_patches/ruby_patch/windows_patch/win32ole_patch.rb +34 -0
  71. data/lib/right_agent/multiplexer.rb +102 -0
  72. data/lib/right_agent/offline_handler.rb +270 -0
  73. data/lib/right_agent/operation_result.rb +300 -0
  74. data/lib/right_agent/packets.rb +673 -0
  75. data/lib/right_agent/payload_formatter.rb +104 -0
  76. data/lib/right_agent/pending_requests.rb +128 -0
  77. data/lib/right_agent/pid_file.rb +159 -0
  78. data/lib/right_agent/platform.rb +770 -0
  79. data/lib/right_agent/platform/unix/darwin/platform.rb +102 -0
  80. data/lib/right_agent/platform/unix/linux/platform.rb +305 -0
  81. data/lib/right_agent/platform/unix/platform.rb +226 -0
  82. data/lib/right_agent/platform/windows/mingw/platform.rb +447 -0
  83. data/lib/right_agent/platform/windows/mswin/platform.rb +236 -0
  84. data/lib/right_agent/platform/windows/platform.rb +1808 -0
  85. data/lib/right_agent/protocol_version_mixin.rb +69 -0
  86. data/lib/right_agent/retryable_request.rb +195 -0
  87. data/lib/right_agent/scripts/agent_controller.rb +543 -0
  88. data/lib/right_agent/scripts/agent_deployer.rb +400 -0
  89. data/lib/right_agent/scripts/common_parser.rb +160 -0
  90. data/lib/right_agent/scripts/log_level_manager.rb +192 -0
  91. data/lib/right_agent/scripts/stats_manager.rb +268 -0
  92. data/lib/right_agent/scripts/usage.rb +58 -0
  93. data/lib/right_agent/secure_identity.rb +92 -0
  94. data/lib/right_agent/security.rb +32 -0
  95. data/lib/right_agent/security/cached_certificate_store_proxy.rb +77 -0
  96. data/lib/right_agent/security/certificate.rb +102 -0
  97. data/lib/right_agent/security/certificate_cache.rb +89 -0
  98. data/lib/right_agent/security/distinguished_name.rb +56 -0
  99. data/lib/right_agent/security/encrypted_document.rb +83 -0
  100. data/lib/right_agent/security/rsa_key_pair.rb +76 -0
  101. data/lib/right_agent/security/signature.rb +86 -0
  102. data/lib/right_agent/security/static_certificate_store.rb +85 -0
  103. data/lib/right_agent/sender.rb +792 -0
  104. data/lib/right_agent/serialize.rb +29 -0
  105. data/lib/right_agent/serialize/message_pack.rb +107 -0
  106. data/lib/right_agent/serialize/secure_serializer.rb +151 -0
  107. data/lib/right_agent/serialize/secure_serializer_initializer.rb +47 -0
  108. data/lib/right_agent/serialize/serializable.rb +151 -0
  109. data/lib/right_agent/serialize/serializer.rb +159 -0
  110. data/lib/right_agent/subprocess.rb +38 -0
  111. data/lib/right_agent/tracer.rb +124 -0
  112. data/right_agent.gemspec +101 -0
  113. data/spec/actor_registry_spec.rb +80 -0
  114. data/spec/actor_spec.rb +162 -0
  115. data/spec/agent_config_spec.rb +235 -0
  116. data/spec/agent_identity_spec.rb +78 -0
  117. data/spec/agent_spec.rb +734 -0
  118. data/spec/agent_tag_manager_spec.rb +319 -0
  119. data/spec/clients/api_client_spec.rb +423 -0
  120. data/spec/clients/auth_client_spec.rb +272 -0
  121. data/spec/clients/balanced_http_client_spec.rb +576 -0
  122. data/spec/clients/base_retry_client_spec.rb +635 -0
  123. data/spec/clients/router_client_spec.rb +594 -0
  124. data/spec/clients/spec_helper.rb +111 -0
  125. data/spec/command/agent_manager_commands_spec.rb +51 -0
  126. data/spec/command/command_io_spec.rb +93 -0
  127. data/spec/command/command_parser_spec.rb +79 -0
  128. data/spec/command/command_runner_spec.rb +107 -0
  129. data/spec/command/command_serializer_spec.rb +51 -0
  130. data/spec/connectivity_checker_spec.rb +83 -0
  131. data/spec/core_payload_types/dev_repositories_spec.rb +64 -0
  132. data/spec/core_payload_types/dev_repository_spec.rb +33 -0
  133. data/spec/core_payload_types/executable_bundle_spec.rb +67 -0
  134. data/spec/core_payload_types/login_user_spec.rb +102 -0
  135. data/spec/core_payload_types/recipe_instantiation_spec.rb +81 -0
  136. data/spec/core_payload_types/right_script_attachment_spec.rb +65 -0
  137. data/spec/core_payload_types/right_script_instantiation_spec.rb +79 -0
  138. data/spec/core_payload_types/spec_helper.rb +23 -0
  139. data/spec/dispatched_cache_spec.rb +136 -0
  140. data/spec/dispatcher_spec.rb +324 -0
  141. data/spec/enrollment_result_spec.rb +53 -0
  142. data/spec/history_spec.rb +246 -0
  143. data/spec/log_spec.rb +192 -0
  144. data/spec/monkey_patches/eventmachine_spec.rb +62 -0
  145. data/spec/multiplexer_spec.rb +48 -0
  146. data/spec/offline_handler_spec.rb +340 -0
  147. data/spec/operation_result_spec.rb +208 -0
  148. data/spec/packets_spec.rb +461 -0
  149. data/spec/pending_requests_spec.rb +136 -0
  150. data/spec/platform/spec_helper.rb +216 -0
  151. data/spec/platform/unix/darwin/platform_spec.rb +181 -0
  152. data/spec/platform/unix/linux/platform_spec.rb +540 -0
  153. data/spec/platform/unix/spec_helper.rb +149 -0
  154. data/spec/platform/windows/mingw/platform_spec.rb +222 -0
  155. data/spec/platform/windows/mswin/platform_spec.rb +259 -0
  156. data/spec/platform/windows/spec_helper.rb +720 -0
  157. data/spec/retryable_request_spec.rb +306 -0
  158. data/spec/secure_identity_spec.rb +50 -0
  159. data/spec/security/cached_certificate_store_proxy_spec.rb +62 -0
  160. data/spec/security/certificate_cache_spec.rb +71 -0
  161. data/spec/security/certificate_spec.rb +49 -0
  162. data/spec/security/distinguished_name_spec.rb +46 -0
  163. data/spec/security/encrypted_document_spec.rb +55 -0
  164. data/spec/security/rsa_key_pair_spec.rb +55 -0
  165. data/spec/security/signature_spec.rb +66 -0
  166. data/spec/security/static_certificate_store_spec.rb +58 -0
  167. data/spec/sender_spec.rb +1045 -0
  168. data/spec/serialize/message_pack_spec.rb +131 -0
  169. data/spec/serialize/secure_serializer_spec.rb +132 -0
  170. data/spec/serialize/serializable_spec.rb +90 -0
  171. data/spec/serialize/serializer_spec.rb +197 -0
  172. data/spec/spec.opts +2 -0
  173. data/spec/spec.win32.opts +1 -0
  174. data/spec/spec_helper.rb +130 -0
  175. data/spec/tracer_spec.rb +114 -0
  176. metadata +447 -0
@@ -0,0 +1,2 @@
1
+ --colour
2
+ --format=nested
@@ -0,0 +1 @@
1
+ --format=nested
@@ -0,0 +1,130 @@
1
+ #
2
+ # Copyright (c) 2009-2011 RightScale Inc
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining
5
+ # a copy of this software and associated documentation files (the
6
+ # "Software"), to deal in the Software without restriction, including
7
+ # without limitation the rights to use, copy, modify, merge, publish,
8
+ # distribute, sublicense, and/or sell copies of the Software, and to
9
+ # permit persons to whom the Software is furnished to do so, subject to
10
+ # the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+
23
+ require 'rubygems'
24
+ require 'bundler/setup'
25
+
26
+ require 'flexmock'
27
+ require 'rspec'
28
+ require 'eventmachine'
29
+ require 'fileutils'
30
+
31
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'right_agent'))
32
+
33
+ RSpec.configure do |c|
34
+ c.mock_with(:flexmock)
35
+ end
36
+
37
+ RightScale::Log.init
38
+
39
+ $TESTING = true
40
+ $VERBOSE = nil # Disable constant redefined warning
41
+ TEST_SOCKET_PORT = 80000
42
+
43
+ module RightScale
44
+
45
+ module SpecHelper
46
+
47
+ # Create test certificate
48
+ def issue_cert
49
+ test_dn = { 'C' => 'US',
50
+ 'ST' => 'California',
51
+ 'L' => 'Santa Barbara',
52
+ 'O' => 'Agent',
53
+ 'OU' => 'Certification Services',
54
+ 'CN' => 'Agent test' }
55
+ dn = DistinguishedName.new(test_dn)
56
+ key = RsaKeyPair.new
57
+ [ Certificate.new(key, dn, dn), key ]
58
+ end
59
+
60
+ end # SpecHelper
61
+
62
+ class Log
63
+
64
+ # Monkey path RightAgent logger to not log by default
65
+ # Define env var RS_LOG to override this behavior and have the logger log normally
66
+ class << self
67
+ alias :original_method_missing :method_missing
68
+ end
69
+
70
+ def self.method_missing(m, *args)
71
+ original_method_missing(m, *args) unless [:debug, :info, :warn, :warning, :error, :fatal].include?(m) && ENV['RS_LOG'].nil?
72
+ end
73
+
74
+ end # Log
75
+
76
+ end
77
+
78
+ # Mock RestClient exceptions since cannot create directly without a
79
+ # RestClient::Response, but need RestClient interface for error reporting
80
+ class RestExceptionMock < RestClient::Exception
81
+ class Response
82
+ attr_reader :headers
83
+
84
+ def initialize(headers)
85
+ @headers = headers || {}
86
+ end
87
+ end
88
+
89
+ attr_accessor :message
90
+ attr_reader :http_code, :http_body, :response
91
+
92
+ def initialize(http_code, http_body = nil, response_headers = nil)
93
+ @message = "#{http_code} #{RestClient::STATUSES[http_code]}"
94
+ @http_code = http_code
95
+ @http_body = http_body
96
+ @response = Response.new(response_headers)
97
+ end
98
+
99
+ def inspect
100
+ "#{@message}: #{@http_body}"
101
+ end
102
+ end
103
+
104
+ # Functions for setting version per ProtocolVersionMixin
105
+ def version_cannot_put_version_in_packet; RightScale::Packet::DEFAULT_VERSION end
106
+ def version_can_put_version_in_packet; 12 end
107
+
108
+ def version_cannot_use_mapper_query_tags; 7 end
109
+ def version_can_use_mapper_query_tags; 8 end
110
+
111
+ def version_cannot_handle_request_retries; 8 end
112
+ def version_can_handle_request_retries; 9 end
113
+
114
+ def version_cannot_route_to_response_queue; 9 end
115
+ def version_can_route_to_response_queue; 10 end
116
+
117
+ def version_cannot_handle_non_nanite_ids; 9 end
118
+ def version_can_handle_non_nanite_ids; 10 end
119
+
120
+ def version_cannot_handle_multicast_result; 9 end
121
+ def version_can_handle_multicast_result; 10 end
122
+
123
+ def version_cannot_handle_msgpack_result; 11 end
124
+ def version_can_handle_msgpack_result; 12 end
125
+
126
+ def version_cannot_handle_non_delivery_result; 12 end
127
+ def version_can_handle_non_delivery_result; 13 end
128
+
129
+ def version_cannot_handle_http_result; 22 end
130
+ def version_can_handle_http_result; 23 end
@@ -0,0 +1,114 @@
1
+ #
2
+ # Copyright (c) 2009-2011 RightScale Inc
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining
5
+ # a copy of this software and associated documentation files (the
6
+ # "Software"), to deal in the Software without restriction, including
7
+ # without limitation the rights to use, copy, modify, merge, publish,
8
+ # distribute, sublicense, and/or sell copies of the Software, and to
9
+ # permit persons to whom the Software is furnished to do so, subject to
10
+ # the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+
23
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
24
+
25
+ # Test data
26
+ class TestData
27
+ def trace_me
28
+ 'I got traced!'
29
+ end
30
+ end
31
+ class TestData2
32
+ def self.trace_me_too
33
+ 'So did I!'
34
+ end
35
+ end
36
+ module Traced
37
+ class TestData3
38
+ def trace_me_three
39
+ 'and me!'
40
+ end
41
+ def self.trace_me_four
42
+ 'and me and me!'
43
+ end
44
+ end
45
+ end
46
+ class TestData4
47
+ def send_result
48
+ 'result'
49
+ end
50
+ end
51
+ class TestData5
52
+ def use_block
53
+ yield
54
+ end
55
+ end
56
+ class TestData6
57
+ def do_not_fail?
58
+ true
59
+ end
60
+ def [](index)
61
+ index
62
+ end
63
+ def []=(index, value)
64
+ index
65
+ end
66
+ end
67
+
68
+ describe RightScale::Tracer do
69
+
70
+ before(:all) do
71
+ @test = TestData.new
72
+ @test2 = TestData2.new
73
+ @test3 = Traced::TestData3.new
74
+ @test4 = TestData4.new
75
+ @test5 = TestData5.new
76
+ @test6 = TestData6.new
77
+ end
78
+
79
+ it 'should trace instance methods' do
80
+ flexmock(RightScale::Log).should_receive(:debug).twice
81
+ RightScale::Tracer.add_tracing_to_class(@test.class)
82
+ @test.trace_me
83
+ end
84
+
85
+ it 'should trace class methods' do
86
+ flexmock(RightScale::Log).should_receive(:debug).twice
87
+ RightScale::Tracer.add_tracing_to_class(@test2.class)
88
+ TestData2.trace_me_too
89
+ end
90
+
91
+ it 'should trace entire modules' do
92
+ flexmock(RightScale::Log).should_receive(:debug).times(4)
93
+ RightScale::Tracer.add_tracing_to_namespaces('Traced')
94
+ @test3.trace_me_three
95
+ Traced::TestData3.trace_me_four
96
+ end
97
+
98
+ it 'should return correct results' do
99
+ flexmock(RightScale::Log).should_receive(:debug).twice
100
+ RightScale::Tracer.add_tracing_to_class(@test4.class)
101
+ @test4.send_result.should == 'result'
102
+ end
103
+
104
+ it 'should trace methods taking blocks' do
105
+ flexmock(RightScale::Log).should_receive(:debug).twice
106
+ RightScale::Tracer.add_tracing_to_class(@test5.class)
107
+ @test5.use_block { 'result' }.should == 'result'
108
+ end
109
+
110
+ it 'should handle methods names ending with special characters' do
111
+ RightScale::Tracer.add_tracing_to_class(@test6.class)
112
+ end
113
+
114
+ end
metadata ADDED
@@ -0,0 +1,447 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: right_agent
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.7
5
+ prerelease:
6
+ platform: x86-mingw32
7
+ authors:
8
+ - Lee Kirchhoff
9
+ - Raphael Simon
10
+ - Tony Spataro
11
+ - Scott Messier
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain: []
15
+ date: 2014-02-28 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: right_support
19
+ requirement: !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ! '>='
23
+ - !ruby/object:Gem::Version
24
+ version: 2.4.1
25
+ - - <
26
+ - !ruby/object:Gem::Version
27
+ version: '3.0'
28
+ type: :runtime
29
+ prerelease: false
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: 2.4.1
36
+ - - <
37
+ - !ruby/object:Gem::Version
38
+ version: '3.0'
39
+ - !ruby/object:Gem::Dependency
40
+ name: right_amqp
41
+ requirement: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: '0.7'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '0.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rest-client
57
+ requirement: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - '='
61
+ - !ruby/object:Gem::Version
62
+ version: 1.7.0.alpha
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - '='
69
+ - !ruby/object:Gem::Version
70
+ version: 1.7.0.alpha
71
+ - !ruby/object:Gem::Dependency
72
+ name: faye-websocket
73
+ requirement: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - '='
77
+ - !ruby/object:Gem::Version
78
+ version: 0.7.0
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - '='
85
+ - !ruby/object:Gem::Version
86
+ version: 0.7.0
87
+ - !ruby/object:Gem::Dependency
88
+ name: eventmachine
89
+ requirement: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: 0.12.10
95
+ - - <
96
+ - !ruby/object:Gem::Version
97
+ version: '2.0'
98
+ type: :runtime
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
105
+ version: 0.12.10
106
+ - - <
107
+ - !ruby/object:Gem::Version
108
+ version: '2.0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: net-ssh
111
+ requirement: !ruby/object:Gem::Requirement
112
+ none: false
113
+ requirements:
114
+ - - ~>
115
+ - !ruby/object:Gem::Version
116
+ version: '2.0'
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: '2.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: ffi
127
+ requirement: !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ none: false
137
+ requirements:
138
+ - - ! '>='
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ - !ruby/object:Gem::Dependency
142
+ name: win32-dir
143
+ requirement: !ruby/object:Gem::Requirement
144
+ none: false
145
+ requirements:
146
+ - - ! '>='
147
+ - !ruby/object:Gem::Version
148
+ version: 0.3.5
149
+ type: :runtime
150
+ prerelease: false
151
+ version_requirements: !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - ! '>='
155
+ - !ruby/object:Gem::Version
156
+ version: 0.3.5
157
+ - !ruby/object:Gem::Dependency
158
+ name: win32-process
159
+ requirement: !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: 0.6.1
165
+ type: :runtime
166
+ prerelease: false
167
+ version_requirements: !ruby/object:Gem::Requirement
168
+ none: false
169
+ requirements:
170
+ - - ! '>='
171
+ - !ruby/object:Gem::Version
172
+ version: 0.6.1
173
+ - !ruby/object:Gem::Dependency
174
+ name: msgpack
175
+ requirement: !ruby/object:Gem::Requirement
176
+ none: false
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: 0.4.4
181
+ - - <
182
+ - !ruby/object:Gem::Version
183
+ version: '0.6'
184
+ type: :runtime
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ! '>='
190
+ - !ruby/object:Gem::Version
191
+ version: 0.4.4
192
+ - - <
193
+ - !ruby/object:Gem::Version
194
+ version: '0.6'
195
+ - !ruby/object:Gem::Dependency
196
+ name: json
197
+ requirement: !ruby/object:Gem::Requirement
198
+ none: false
199
+ requirements:
200
+ - - ~>
201
+ - !ruby/object:Gem::Version
202
+ version: '1.4'
203
+ type: :runtime
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ none: false
207
+ requirements:
208
+ - - ~>
209
+ - !ruby/object:Gem::Version
210
+ version: '1.4'
211
+ description: ! 'RightAgent provides a foundation for running an agent on a server
212
+ to interface
213
+
214
+ in a secure fashion with other agents in the RightScale system using RightNet,
215
+
216
+ which operates in either HTTP or AMQP mode. When using HTTP, RightAgent
217
+
218
+ makes requests to RightApi servers and receives requests using long-polling or
219
+
220
+ WebSockets via the RightNet router. To respond to requests it posts to the
221
+
222
+ HTTP router. When using AMQP, RightAgent uses RabbitMQ as the message bus and
223
+
224
+ the RightNet router as the routing node to make requests; to receives requests
225
+
226
+ routed to it by the RightNet router, it establishes a queue on startup. The
227
+
228
+ packets are structured to invoke services in the agent represented by actors
229
+
230
+ and methods. The RightAgent may respond to these requests with a result packet
231
+
232
+ that the router then routes to the originator.
233
+
234
+ '
235
+ email: lee@rightscale.com
236
+ executables: []
237
+ extensions: []
238
+ extra_rdoc_files:
239
+ - README.rdoc
240
+ files:
241
+ - LICENSE
242
+ - README.rdoc
243
+ - Rakefile
244
+ - lib/right_agent.rb
245
+ - lib/right_agent/actor.rb
246
+ - lib/right_agent/actor_registry.rb
247
+ - lib/right_agent/actors/agent_manager.rb
248
+ - lib/right_agent/agent.rb
249
+ - lib/right_agent/agent_config.rb
250
+ - lib/right_agent/agent_identity.rb
251
+ - lib/right_agent/agent_tag_manager.rb
252
+ - lib/right_agent/audit_formatter.rb
253
+ - lib/right_agent/clients.rb
254
+ - lib/right_agent/clients/api_client.rb
255
+ - lib/right_agent/clients/auth_client.rb
256
+ - lib/right_agent/clients/balanced_http_client.rb
257
+ - lib/right_agent/clients/base_retry_client.rb
258
+ - lib/right_agent/clients/right_http_client.rb
259
+ - lib/right_agent/clients/router_client.rb
260
+ - lib/right_agent/command.rb
261
+ - lib/right_agent/command/agent_manager_commands.rb
262
+ - lib/right_agent/command/command_client.rb
263
+ - lib/right_agent/command/command_constants.rb
264
+ - lib/right_agent/command/command_io.rb
265
+ - lib/right_agent/command/command_parser.rb
266
+ - lib/right_agent/command/command_runner.rb
267
+ - lib/right_agent/command/command_serializer.rb
268
+ - lib/right_agent/connectivity_checker.rb
269
+ - lib/right_agent/console.rb
270
+ - lib/right_agent/core_payload_types.rb
271
+ - lib/right_agent/core_payload_types/cookbook.rb
272
+ - lib/right_agent/core_payload_types/cookbook_position.rb
273
+ - lib/right_agent/core_payload_types/cookbook_repository.rb
274
+ - lib/right_agent/core_payload_types/cookbook_sequence.rb
275
+ - lib/right_agent/core_payload_types/dev_repositories.rb
276
+ - lib/right_agent/core_payload_types/dev_repository.rb
277
+ - lib/right_agent/core_payload_types/event_categories.rb
278
+ - lib/right_agent/core_payload_types/executable_bundle.rb
279
+ - lib/right_agent/core_payload_types/login_policy.rb
280
+ - lib/right_agent/core_payload_types/login_user.rb
281
+ - lib/right_agent/core_payload_types/planned_volume.rb
282
+ - lib/right_agent/core_payload_types/recipe_instantiation.rb
283
+ - lib/right_agent/core_payload_types/repositories_bundle.rb
284
+ - lib/right_agent/core_payload_types/right_script_attachment.rb
285
+ - lib/right_agent/core_payload_types/right_script_instantiation.rb
286
+ - lib/right_agent/core_payload_types/runlist_policy.rb
287
+ - lib/right_agent/core_payload_types/secure_document.rb
288
+ - lib/right_agent/core_payload_types/secure_document_location.rb
289
+ - lib/right_agent/core_payload_types/software_repository_instantiation.rb
290
+ - lib/right_agent/daemonize.rb
291
+ - lib/right_agent/dispatched_cache.rb
292
+ - lib/right_agent/dispatcher.rb
293
+ - lib/right_agent/enrollment_result.rb
294
+ - lib/right_agent/exceptions.rb
295
+ - lib/right_agent/history.rb
296
+ - lib/right_agent/log.rb
297
+ - lib/right_agent/minimal.rb
298
+ - lib/right_agent/monkey_patches.rb
299
+ - lib/right_agent/monkey_patches/ruby_patch.rb
300
+ - lib/right_agent/monkey_patches/ruby_patch/array_patch.rb
301
+ - lib/right_agent/monkey_patches/ruby_patch/darwin_patch.rb
302
+ - lib/right_agent/monkey_patches/ruby_patch/linux_patch.rb
303
+ - lib/right_agent/monkey_patches/ruby_patch/linux_patch/file_patch.rb
304
+ - lib/right_agent/monkey_patches/ruby_patch/object_patch.rb
305
+ - lib/right_agent/monkey_patches/ruby_patch/windows_patch.rb
306
+ - lib/right_agent/monkey_patches/ruby_patch/windows_patch/file_patch.rb
307
+ - lib/right_agent/monkey_patches/ruby_patch/windows_patch/process_patch.rb
308
+ - lib/right_agent/monkey_patches/ruby_patch/windows_patch/stdio_patch.rb
309
+ - lib/right_agent/monkey_patches/ruby_patch/windows_patch/time_patch.rb
310
+ - lib/right_agent/monkey_patches/ruby_patch/windows_patch/win32ole_patch.rb
311
+ - lib/right_agent/multiplexer.rb
312
+ - lib/right_agent/offline_handler.rb
313
+ - lib/right_agent/operation_result.rb
314
+ - lib/right_agent/packets.rb
315
+ - lib/right_agent/payload_formatter.rb
316
+ - lib/right_agent/pending_requests.rb
317
+ - lib/right_agent/pid_file.rb
318
+ - lib/right_agent/platform.rb
319
+ - lib/right_agent/platform/unix/darwin/platform.rb
320
+ - lib/right_agent/platform/unix/linux/platform.rb
321
+ - lib/right_agent/platform/unix/platform.rb
322
+ - lib/right_agent/platform/windows/mingw/platform.rb
323
+ - lib/right_agent/platform/windows/mswin/platform.rb
324
+ - lib/right_agent/platform/windows/platform.rb
325
+ - lib/right_agent/protocol_version_mixin.rb
326
+ - lib/right_agent/retryable_request.rb
327
+ - lib/right_agent/scripts/agent_controller.rb
328
+ - lib/right_agent/scripts/agent_deployer.rb
329
+ - lib/right_agent/scripts/common_parser.rb
330
+ - lib/right_agent/scripts/log_level_manager.rb
331
+ - lib/right_agent/scripts/stats_manager.rb
332
+ - lib/right_agent/scripts/usage.rb
333
+ - lib/right_agent/secure_identity.rb
334
+ - lib/right_agent/security.rb
335
+ - lib/right_agent/security/cached_certificate_store_proxy.rb
336
+ - lib/right_agent/security/certificate.rb
337
+ - lib/right_agent/security/certificate_cache.rb
338
+ - lib/right_agent/security/distinguished_name.rb
339
+ - lib/right_agent/security/encrypted_document.rb
340
+ - lib/right_agent/security/rsa_key_pair.rb
341
+ - lib/right_agent/security/signature.rb
342
+ - lib/right_agent/security/static_certificate_store.rb
343
+ - lib/right_agent/sender.rb
344
+ - lib/right_agent/serialize.rb
345
+ - lib/right_agent/serialize/message_pack.rb
346
+ - lib/right_agent/serialize/secure_serializer.rb
347
+ - lib/right_agent/serialize/secure_serializer_initializer.rb
348
+ - lib/right_agent/serialize/serializable.rb
349
+ - lib/right_agent/serialize/serializer.rb
350
+ - lib/right_agent/subprocess.rb
351
+ - lib/right_agent/tracer.rb
352
+ - right_agent.gemspec
353
+ - spec/actor_registry_spec.rb
354
+ - spec/actor_spec.rb
355
+ - spec/agent_config_spec.rb
356
+ - spec/agent_identity_spec.rb
357
+ - spec/agent_spec.rb
358
+ - spec/agent_tag_manager_spec.rb
359
+ - spec/clients/api_client_spec.rb
360
+ - spec/clients/auth_client_spec.rb
361
+ - spec/clients/balanced_http_client_spec.rb
362
+ - spec/clients/base_retry_client_spec.rb
363
+ - spec/clients/router_client_spec.rb
364
+ - spec/clients/spec_helper.rb
365
+ - spec/command/agent_manager_commands_spec.rb
366
+ - spec/command/command_io_spec.rb
367
+ - spec/command/command_parser_spec.rb
368
+ - spec/command/command_runner_spec.rb
369
+ - spec/command/command_serializer_spec.rb
370
+ - spec/connectivity_checker_spec.rb
371
+ - spec/core_payload_types/dev_repositories_spec.rb
372
+ - spec/core_payload_types/dev_repository_spec.rb
373
+ - spec/core_payload_types/executable_bundle_spec.rb
374
+ - spec/core_payload_types/login_user_spec.rb
375
+ - spec/core_payload_types/recipe_instantiation_spec.rb
376
+ - spec/core_payload_types/right_script_attachment_spec.rb
377
+ - spec/core_payload_types/right_script_instantiation_spec.rb
378
+ - spec/core_payload_types/spec_helper.rb
379
+ - spec/dispatched_cache_spec.rb
380
+ - spec/dispatcher_spec.rb
381
+ - spec/enrollment_result_spec.rb
382
+ - spec/history_spec.rb
383
+ - spec/log_spec.rb
384
+ - spec/monkey_patches/eventmachine_spec.rb
385
+ - spec/multiplexer_spec.rb
386
+ - spec/offline_handler_spec.rb
387
+ - spec/operation_result_spec.rb
388
+ - spec/packets_spec.rb
389
+ - spec/pending_requests_spec.rb
390
+ - spec/platform/spec_helper.rb
391
+ - spec/platform/unix/darwin/platform_spec.rb
392
+ - spec/platform/unix/linux/platform_spec.rb
393
+ - spec/platform/unix/spec_helper.rb
394
+ - spec/platform/windows/mingw/platform_spec.rb
395
+ - spec/platform/windows/mswin/platform_spec.rb
396
+ - spec/platform/windows/spec_helper.rb
397
+ - spec/retryable_request_spec.rb
398
+ - spec/secure_identity_spec.rb
399
+ - spec/security/cached_certificate_store_proxy_spec.rb
400
+ - spec/security/certificate_cache_spec.rb
401
+ - spec/security/certificate_spec.rb
402
+ - spec/security/distinguished_name_spec.rb
403
+ - spec/security/encrypted_document_spec.rb
404
+ - spec/security/rsa_key_pair_spec.rb
405
+ - spec/security/signature_spec.rb
406
+ - spec/security/static_certificate_store_spec.rb
407
+ - spec/sender_spec.rb
408
+ - spec/serialize/message_pack_spec.rb
409
+ - spec/serialize/secure_serializer_spec.rb
410
+ - spec/serialize/serializable_spec.rb
411
+ - spec/serialize/serializer_spec.rb
412
+ - spec/spec.opts
413
+ - spec/spec.win32.opts
414
+ - spec/spec_helper.rb
415
+ - spec/tracer_spec.rb
416
+ homepage: https://github.com/rightscale/right_agent
417
+ licenses: []
418
+ post_install_message:
419
+ rdoc_options:
420
+ - --main
421
+ - README.rdoc
422
+ - --title
423
+ - RightAgent
424
+ require_paths:
425
+ - lib
426
+ required_ruby_version: !ruby/object:Gem::Requirement
427
+ none: false
428
+ requirements:
429
+ - - ! '>='
430
+ - !ruby/object:Gem::Version
431
+ version: 1.8.7
432
+ required_rubygems_version: !ruby/object:Gem::Requirement
433
+ none: false
434
+ requirements:
435
+ - - ! '>='
436
+ - !ruby/object:Gem::Version
437
+ version: '0'
438
+ segments:
439
+ - 0
440
+ hash: -1817530941733034469
441
+ requirements: []
442
+ rubyforge_project:
443
+ rubygems_version: 1.8.26
444
+ signing_key:
445
+ specification_version: 3
446
+ summary: Agent for interfacing server with RightScale system
447
+ test_files: []