tamashii-agent 0.1.9 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tamashii/agent/connection.rb +13 -10
- data/lib/tamashii/agent/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42ad217e36714e8f5c213ee488dc55547e8ae71b
|
4
|
+
data.tar.gz: 477b38f2a79c46ec5d0f5ea87bac344a3305e2b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d6f54b0f4ef53587091eefc0021c5339bdc0eabce96b6269823d9440ec31c95da3f8ab70ae71060452f507941af8c07815e7bdd596797e1337b1811539c1d65
|
7
|
+
data.tar.gz: 811d6f39e021edafe790d70ed0ac81368ed1aadbbf2d9ff594920931ef69840a3bdf0be81bbba55eb6eb4eaa22638e4e70ac8be5552cb90d8c85c2ff9a588f19
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'socket'
|
2
2
|
require 'websocket/driver'
|
3
3
|
require 'aasm'
|
4
|
+
require 'openssl'
|
4
5
|
|
5
6
|
require 'tamashii/common'
|
6
7
|
|
@@ -24,11 +25,11 @@ module Tamashii
|
|
24
25
|
event :connect do
|
25
26
|
transitions from: :init, to: :connecting, after: Proc.new { logger.info "Start connecting" }
|
26
27
|
end
|
27
|
-
|
28
|
+
|
28
29
|
event :auth_request do
|
29
30
|
transitions from: :connecting, to: :auth_pending, after: Proc.new { logger.info "Sending authentication request" }
|
30
31
|
end
|
31
|
-
|
32
|
+
|
32
33
|
event :auth_success do
|
33
34
|
transitions from: :auth_pending, to: :ready, after: Proc.new { logger.info "Authentication finished. Tag = #{@tag}" }
|
34
35
|
end
|
@@ -47,16 +48,16 @@ module Tamashii
|
|
47
48
|
@master = master
|
48
49
|
@url = "#{Config.use_ssl ? "wss" : "ws"}://#{host}:#{port}/#{Config.entry_point}"
|
49
50
|
self.reset
|
50
|
-
|
51
|
+
|
51
52
|
@host = host
|
52
53
|
@port = port
|
53
54
|
@tag = 0
|
54
|
-
|
55
|
+
|
55
56
|
@request_pool = RequestPool.new
|
56
57
|
@request_pool.set_handler(:request_timedout, method(:handle_request_timedout))
|
57
58
|
@request_pool.set_handler(:request_meet, method(:handle_request_meet))
|
58
59
|
@request_pool.set_handler(:send_request, method(:handle_send_request))
|
59
|
-
|
60
|
+
|
60
61
|
env_data = {connection: self}
|
61
62
|
Resolver.config do
|
62
63
|
[Type::REBOOT, Type::POWEROFF, Type::RESTART, Type::UPDATE].each do |type|
|
@@ -118,18 +119,20 @@ module Tamashii
|
|
118
119
|
end
|
119
120
|
|
120
121
|
def send_auth_request
|
121
|
-
# TODO: other types of auth
|
122
|
+
# TODO: other types of auth
|
122
123
|
@driver.binary(Packet.new(Type::AUTH_TOKEN, 0, [Type::CLIENT[:agent], @master.serial_number,Config.token].join(",")).dump)
|
123
124
|
end
|
124
125
|
|
125
126
|
def start_web_driver
|
126
|
-
|
127
|
-
|
127
|
+
# TODO: Improve below code
|
128
|
+
socket = Config.use_ssl ? OpenSSL::SSL::SSLSocket.new(self) : self
|
129
|
+
@driver = WebSocket::Driver.client(socket)
|
130
|
+
@driver.on :open, proc { |e|
|
128
131
|
logger.info "Server opened"
|
129
132
|
self.auth_request
|
130
133
|
send_auth_request
|
131
134
|
}
|
132
|
-
@driver.on :close, proc { |e|
|
135
|
+
@driver.on :close, proc { |e|
|
133
136
|
logger.info "Server closed"
|
134
137
|
close_socket_io
|
135
138
|
self.reset
|
@@ -201,7 +204,7 @@ module Tamashii
|
|
201
204
|
end
|
202
205
|
else
|
203
206
|
if pkt.tag == @tag || pkt.tag == 0
|
204
|
-
Resolver.resolve(pkt)
|
207
|
+
Resolver.resolve(pkt)
|
205
208
|
else
|
206
209
|
logger.debug "Tag mismatch packet: tag: #{pkt.tag}, type: #{pkt.type}"
|
207
210
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tamashii-agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 蒼時弦也
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-04-
|
13
|
+
date: 2017-04-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -245,7 +245,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
245
245
|
version: '0'
|
246
246
|
requirements: []
|
247
247
|
rubyforge_project:
|
248
|
-
rubygems_version: 2.
|
248
|
+
rubygems_version: 2.6.11
|
249
249
|
signing_key:
|
250
250
|
specification_version: 4
|
251
251
|
summary: The agent module for RubyConfTW checkin system.
|