tamashii-agent 0.1.9 → 0.1.10
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.
- 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.
|