cuboid 0.2.15 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59498eac4718cd07a7aa858376952bcfb8c723129dd29022b9df427586eeb4dd
4
- data.tar.gz: c13ed7e29a69135313a3ec8dda0000413e134d15db9419799efa8c10fb3ae093
3
+ metadata.gz: 96bd306b00ebd204bf368057a8b7e2ba7e55fd180a413cd726ba13b83f239cee
4
+ data.tar.gz: a5e6458221a0d939c851bafc2a83d425b5956b642b9b0b7d2b080e063121b0d0
5
5
  SHA512:
6
- metadata.gz: bfb7cea35671739c8b0d3764977658d3f1e6b89e4b5d9bab073bb1b96c91f843fd107f2e3841463d6ace1ff845fa5758aa92a899af27792941307aa4cbf855f6
7
- data.tar.gz: e913a904cc696dde58c2db5a271271ac5914dcb81f1c24109fe068ced87c3585ef1cfcdc9cc1957191e7a2507da46b66bf773976d61315481a0f73c23a204697
6
+ metadata.gz: 571f6d4a8dc98fdac3bc0c6e38fd6910a796ad980c88b06625d0405924dfae7634b4619ddd78127718163fd8c8fb52bce9711ef3358b1380be8574fecdf9dc59
7
+ data.tar.gz: 36f4562ef9e596a272f91101d2ad2f40e062f6571ae72cff98bc083b8ada0615da3eba05ec5083d80081feefb3bd0acc4950d0e8c6dae4ebb2c5c17f47366869
@@ -7,7 +7,9 @@ Rest::Server.run!(
7
7
  username: Options.datastore['username'],
8
8
  password: Options.datastore['password'],
9
9
 
10
- ssl_ca: Options.rpc.ssl_ca,
11
- ssl_key: Options.rpc.server_ssl_private_key,
12
- ssl_certificate: Options.rpc.server_ssl_certificate
10
+ tls: {
11
+ ca: Options.rpc.ssl_ca,
12
+ private_key: Options.rpc.server_ssl_private_key,
13
+ certificate: Options.rpc.server_ssl_certificate
14
+ }
13
15
  )
@@ -159,12 +159,11 @@ class Instances
159
159
 
160
160
  def kill( url )
161
161
  service = connect( url )
162
- service.consumed_pids do |pids|
163
- service.shutdown do
164
- # Make sure....
165
- Manager.kill_many pids
166
- end
167
- end
162
+
163
+ pids = service.consumed_pids
164
+
165
+ service.shutdown rescue nil
166
+ Manager.kill_many pids
168
167
 
169
168
  @list.delete url
170
169
  end
@@ -23,7 +23,7 @@ module Instances
23
23
  instance = get_instance
24
24
  max_utilization! if !instance
25
25
 
26
- handle_error proc { instance.shutdown } do
26
+ handle_error proc { (instance.shutdown rescue nil) } do
27
27
  instance.run( options )
28
28
  end
29
29
 
@@ -112,7 +112,7 @@ module Instances
112
112
  id = params[:instance]
113
113
 
114
114
  instance = instances[id]
115
- handle_error { instance.shutdown }
115
+ handle_error { (instance.shutdown rescue nil) }
116
116
 
117
117
  instances.delete( id ).close
118
118
 
@@ -124,16 +124,16 @@ class Server < Sinatra::Base
124
124
  server = Puma::Server.new( self )
125
125
 
126
126
  ssl = false
127
- if options[:ssl_key] && options[:ssl_certificate]
127
+ if (tls = options[:tls]) && tls[:private_key] && tls[:certificate]
128
128
  ctx = Puma::MiniSSL::Context.new
129
129
 
130
- ctx.key = options[:ssl_key]
131
- ctx.cert = options[:ssl_certificate]
130
+ ctx.key = tls[:private_key]
131
+ ctx.cert = tls[:certificate]
132
132
 
133
- if options[:ssl_ca]
133
+ if tls[:ca]
134
134
  puts 'CA provided, peer verification has been enabled.'
135
135
 
136
- ctx.ca = options[:ssl_ca]
136
+ ctx.ca = tls[:ca]
137
137
  ctx.verify_mode = Puma::MiniSSL::VERIFY_PEER |
138
138
  Puma::MiniSSL::VERIFY_FAIL_IF_NO_PEER_CERT
139
139
  else
@@ -241,6 +241,7 @@ class Instance
241
241
  # without going through the Reactor.
242
242
  Thread.new do
243
243
  @server.shutdown
244
+ @raktr.stop
244
245
  block.call true if block_given?
245
246
  end
246
247
 
data/lib/version CHANGED
@@ -1 +1 @@
1
- 0.2.15
1
+ 0.3.0
@@ -20,7 +20,7 @@ describe Cuboid::OptionGroups::Paths do
20
20
 
21
21
  describe "##{method}" do
22
22
  it 'points to an existing directory' do
23
- expect(File.exists?( subject.send method )).to be_truthy
23
+ expect(File.exist?( subject.send method )).to be_truthy
24
24
  end
25
25
  end
26
26
 
@@ -117,7 +117,7 @@ describe Cuboid::Rest::Server do
117
117
  end
118
118
 
119
119
  describe 'a CA is given' do
120
- let(:ssl_ca) { "#{support_path}/pems/cacert.pem" }
120
+ let(:ssl_ca) { "#{support_path}/pems/ca-cert.pem" }
121
121
 
122
122
  it 'enables peer verification' do
123
123
  expect(Typhoeus.get( https_url, ssl_verifypeer: false ).code).to eq 0
@@ -125,6 +125,7 @@ describe Cuboid::Rest::Server do
125
125
  expect(Typhoeus.get(
126
126
  https_url,
127
127
  ssl_verifypeer: true,
128
+ ssl_verifyhost: 0,
128
129
  sslcert: "#{support_path}/pems/client/cert.pem",
129
130
  sslkey: "#{support_path}/pems/client/key.pem",
130
131
  cainfo: ssl_ca
@@ -204,8 +205,6 @@ describe Cuboid::Rest::Server do
204
205
  post url, invalid: 'blah'
205
206
 
206
207
  expect(response_code).to eq 500
207
- expect(response_data['error']).to eq 'Toq::Exceptions::RemoteException'
208
- expect(response_data).to include 'backtrace'
209
208
  end
210
209
 
211
210
  it 'does not list the instance on the index' do
@@ -582,6 +581,7 @@ describe Cuboid::Rest::Server do
582
581
  delete url
583
582
 
584
583
  get "/instances/#{id}"
584
+ ap response
585
585
  expect(response_code).to eq 404
586
586
  end
587
587
 
@@ -959,7 +959,7 @@ describe Cuboid::Rest::Server do
959
959
 
960
960
  get url
961
961
  expect(response_data.size).to be 1
962
- expect(File.exists? response_data[@id]).to be true
962
+ expect(File.exist? response_data[@id]).to be true
963
963
  end
964
964
  end
965
965
 
@@ -42,18 +42,35 @@ describe Cuboid::RPC::Client::Base do
42
42
 
43
43
  let(:server_ssl_options) do
44
44
  options.merge(
45
- ssl_ca: support_path + 'pems/cacert.pem',
46
- ssl_pkey: support_path + 'pems/server/key.pem',
47
- ssl_cert: support_path + 'pems/server/cert.pem'
45
+ tls: {
46
+ ca: support_path + 'pems/ca-cert.pem',
47
+ public_key: support_path + 'pems/server/pub.pem',
48
+ private_key: support_path + 'pems/server/key.pem',
49
+ certificate: support_path + 'pems/server/cert.pem',
50
+ verify_peer: true
51
+ }
48
52
  )
49
53
  end
50
54
 
51
55
  let(:client_ssl_options) do
52
- {
53
- ssl_ca: support_path + 'pems/cacert.pem',
54
- ssl_pkey: support_path + 'pems/client/key.pem',
55
- ssl_cert: support_path + 'pems/client/cert.pem'
56
- }
56
+ options.merge(
57
+ tls: {
58
+ ca: support_path + 'pems/ca-cert.pem',
59
+ private_key: support_path + 'pems/client/key.pem',
60
+ certificate: support_path + 'pems/client/cert.pem',
61
+ public_key: support_path + 'pems/client/pub.pem'
62
+ }
63
+ )
64
+ end
65
+
66
+ let(:invalid_client_ssl_options) do
67
+ options.merge(
68
+ tls: {
69
+ ca: support_path + 'pems/ca-cert.pem',
70
+ private_key: support_path + 'pems/client/foo-key.pem',
71
+ certificate: support_path + 'pems/client/foo-cert.pem'
72
+ }
73
+ )
57
74
  end
58
75
 
59
76
  describe '.new' do
@@ -78,13 +95,10 @@ describe Cuboid::RPC::Client::Base do
78
95
 
79
96
  context 'with invalid SSL options' do
80
97
  it 'throws an exception' do
81
- client_ssl_options.delete :ssl_pkey
82
- client_ssl_options.delete :ssl_cert
83
-
84
98
  Server.new( server_ssl_options ) do |server|
85
99
  raised = false
86
100
  begin
87
- client = described_class.new( server.url, nil, client_ssl_options )
101
+ client = described_class.new( server.url, nil, invalid_client_ssl_options )
88
102
  client.call( "foo.bar" )
89
103
  rescue Toq::Exceptions::ConnectionError
90
104
  raised = true
@@ -168,7 +168,7 @@ describe Cuboid::RPC::Server::Agent do
168
168
  it 'returns Instance info' do
169
169
  subject.instances[0...free].each do |info|
170
170
  service = instance_connect( info['url'], info['token'] )
171
- service.shutdown
171
+ service.shutdown rescue nil
172
172
 
173
173
  while sleep 0.1
174
174
  service.alive? rescue break
@@ -436,7 +436,7 @@ describe Cuboid::RPC::Server::Agent do
436
436
  instance.suspend!
437
437
  sleep 1 while !instance.suspended?
438
438
  snapshot_path = instance.snapshot_path
439
- instance.shutdown
439
+ instance.shutdown rescue nil
440
440
 
441
441
  expect(subject.statistics['snapshots']).to include snapshot_path
442
442
  end
@@ -49,7 +49,7 @@ describe 'Cuboid::RPC::Server::Instance' do
49
49
  sleep 1 while !subject.suspended?
50
50
  end
51
51
 
52
- expect(File.exists?( subject.snapshot_path )).to be_truthy
52
+ expect(File.exist?( subject.snapshot_path )).to be_truthy
53
53
  end
54
54
  end
55
55
 
@@ -107,7 +107,7 @@ describe 'Cuboid::RPC::Server::Instance' do
107
107
  end
108
108
 
109
109
  snapshot_path = subject.snapshot_path
110
- subject.shutdown
110
+ subject.shutdown rescue nil
111
111
 
112
112
  subject = instance_spawn( daemonize: true )
113
113
  subject.restore! snapshot_path
@@ -298,7 +298,7 @@ describe 'Cuboid::RPC::Server::Instance' do
298
298
 
299
299
  describe '#shutdown' do
300
300
  it 'shuts-down the instance' do
301
- expect(subject.shutdown).to be_truthy
301
+ subject.shutdown rescue nil
302
302
  sleep 4
303
303
 
304
304
  expect { subject.alive? }.to raise_error Toq::Exceptions::ConnectionError
@@ -183,7 +183,7 @@ describe Cuboid::RPC::Server::Scheduler do
183
183
  expect(subject.running).to be_empty
184
184
 
185
185
  sleep 0.1 while client.busy?
186
- client.shutdown
186
+ client.shutdown rescue nil
187
187
  sleep 2
188
188
 
189
189
  expect(subject.completed).to be_empty
@@ -252,7 +252,6 @@ describe Cuboid::RPC::Server::Scheduler do
252
252
  q = scheduler_spawn( daemonize: true )
253
253
 
254
254
  expect(q.attach( client.url, client.token )).to be_falsey
255
- expect(client.scheduler_url).to eq subject.url
256
255
  end
257
256
  end
258
257
 
@@ -389,7 +388,7 @@ describe Cuboid::RPC::Server::Scheduler do
389
388
 
390
389
  describe '#shutdown' do
391
390
  it 'shuts down the server' do
392
- subject.shutdown
391
+ subject.shutdown rescue nil
393
392
  sleep 2
394
393
 
395
394
  expect do
@@ -132,7 +132,7 @@ describe Cuboid::Support::Database::Queue do
132
132
 
133
133
  expect(subject.disk.size).to eq(2)
134
134
  subject.disk.each do |path|
135
- expect(File.exists?( path )).to be_truthy
135
+ expect(File.exist?( path )).to be_truthy
136
136
  end
137
137
  end
138
138
  end
@@ -0,0 +1,33 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ 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
32
+ ZFY/FNY80SANdgudyvhW
33
+ -----END CERTIFICATE-----
@@ -0,0 +1,52 @@
1
+ -----BEGIN PRIVATE KEY-----
2
+ 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
51
+ bmYRMDk9DxXzGKoY62n12un58kcEoCrm
52
+ -----END PRIVATE KEY-----
@@ -1,37 +1,33 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIGazCCBFOgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBTMQswCQYDVQQGEwJHUjEY
3
- MBYGA1UEAxMPQXJhY2huaS10ZXN0LUNBMSowKAYJKoZIhvcNAQkBFhthcmFjaG5p
4
- QGFyYWNobmktc2Nhbm5lci5jb20wHhcNMTIxMTAyMTAyNDA4WhcNMjIxMDMwMTAy
5
- NDA4WjBKMQswCQYDVQQGEwJHUjEPMA0GA1UEAxMGQ2xpZW50MSowKAYJKoZIhvcN
6
- AQkBFhthcmFjaG5pQGFyYWNobmktc2Nhbm5lci5jb20wggIiMA0GCSqGSIb3DQEB
7
- AQUAA4ICDwAwggIKAoICAQDEl91flpFH2Y1b2voSsjYDEiC70ArJWrmgm/UFdtXT
8
- pCng9ACjJWuf/evBOa8SKmNFgM1NKMF7GaZghDid3npq4Pdz/C74Ci8Q3ORMPC25
9
- Cq5T8oLYr7OGRQG7cmAqq7fP7MbPikEoaV3sg9CYdCqeK5WqT4+2eWvJGZ6t3z/g
10
- A1WYoHMbhXS1MedPlJIboSUcUlvf2BEld4EzwjCAlF7IICAT37ijtlDqVZpByfii
11
- xj47wP/fx7AtHe7tog9h1MgM0ciJgvH9TT3Kc/iSHYwrhS6jcnlwju7P1YkaRjjO
12
- ODIt7HCf6ScMmK+XIJZRuI7I4zWSSUKI5vgj5BKtlyj71xHRcKX+wfUwhz92BwwE
13
- 9kakl+0L4C11aWKHsYpT8J3NFH8soFpyUPmVQTDiNDcmbxQYHuZbSdWG5+XLYrLZ
14
- MJ8am9HB7Z9uQugyZxki/AgQyT21eCJBrg83A0zd+SYezsDA/SVEZXCCrrO5/u/f
15
- 6+RGYZcWXaIk+18uai5ax0HwksN9AnIIYyH19Fkq516a231Hy37/RKn2W/vH7A/J
16
- YdleDe1wqeIApDC/jJncuO380BdzvvwbhTkp3KKjNcx0B9d917q+pguzotiVR19n
17
- /MyIZ2/EU6r+AGyt1jxFZQhbgL6ayVlMgflyCTcsfgN7kC6dW+7L5gfBt3MwoXgK
18
- lwIDAQABo4IBUTCCAU0wCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBLAwKwYJ
19
- YIZIAYb4QgENBB4WHFRpbnlDQSBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0O
20
- BBYEFNDF0OQgaYJqWYB9onMoDJrI6sEHMIGDBgNVHSMEfDB6gBTxU601RtmudtfS
21
- BFYh2znJpP64LKFXpFUwUzELMAkGA1UEBhMCR1IxGDAWBgNVBAMTD0FyYWNobmkt
22
- dGVzdC1DQTEqMCgGCSqGSIb3DQEJARYbYXJhY2huaUBhcmFjaG5pLXNjYW5uZXIu
23
- Y29tggkA8FjCoCiD1/UwJgYDVR0SBB8wHYEbYXJhY2huaUBhcmFjaG5pLXNjYW5u
24
- ZXIuY29tMCYGA1UdEQQfMB2BG2FyYWNobmlAYXJhY2huaS1zY2FubmVyLmNvbTAL
25
- BgNVHQ8EBAMCBaAwDQYJKoZIhvcNAQEFBQADggIBAKOrRHhird4fhaVMHyNdTqQx
26
- tMuqYWrPb+L4vir7Gu9bfNXlS/b5QBBeFbg5YwVeMx2KTdJR9u3XK9PaQQCC0+ak
27
- tDy3beasiFvoThWmzaVLnPR2OpdRbbK9oFZuK7Y7Sdj6hFapbPcS3hG1M7uWtmiF
28
- Cwd3hmXzvyOH7DToQ5wRAtS3kE2I5J9kH8OVP/pIZ/OTnfDTHOilznOMmlJ+LuFh
29
- ECgxIFv9GRAb+J+AxFWBFNgm6yv6cGjAnT2rZR2B2WyKpmHs+mIxqmNSYldublKi
30
- OBVl13M2ETH9NKRkvNjYbD4nsZGWO85zGiv0AVaZxwEfIHuXQdWfSIhxno3UQpxJ
31
- UlCZTpGJ0wvHHrHC7GQZCCdr83Zq8MgcMgCuE78qNbYIE+rf6+MOhnxgg0sJ12Yr
32
- +++VrQx5HDOoChr39rFISRpi2vFxz5QsJONoNLvH0uJoxQ5UDlOXqeq6TlJBBNUk
33
- 77IkxGfqU7XmF9uT8nmcU4hx8yhKFJOZ5ORHX+U8+yaQN8RsxQadF7OzS1MMQXkl
34
- UwIeFEQNNv0JOIkjZILIDHz++PL5Fa+5/lgAV24X68ZIQ5FkgoLoOIWgbcARlsj0
35
- 62BJLPhrIbCUI7XDos+hTmMPWkzfGoIahL1mEMshlrKK/XGIFh9l1iKnI/4ze1bH
36
- 9nvAl0/txVluZtYXlf2E
2
+ MIIFvTCCA6WgAwIBAgIUSVHZ03h5pIdF+9KGg0SnAV/zQc8wDQYJKoZIhvcNAQEL
3
+ BQAwZTELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVN0YXRlMQ0wCwYDVQQHDARDaXR5
4
+ MRcwFQYDVQQKDA5NeU9yZ2FuaXphdGlvbjELMAkGA1UECwwCSVQxETAPBgNVBAMM
5
+ CE15Um9vdENBMB4XDTI1MTAyNjA4NTA0MVoXDTI2MTAyNjA4NTA0MVowczELMAkG
6
+ A1UEBhMCVVMxDjAMBgNVBAgMBVN0YXRlMQ0wCwYDVQQHDARDaXR5MRcwFQYDVQQK
7
+ DA5NeU9yZ2FuaXphdGlvbjEPMA0GA1UECwwGQ2xpZW50MRswGQYDVQQDDBJjbGll
8
+ bnQuZXhhbXBsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCe
9
+ 40zvU30I3biwGGiGHnT3s7JbobrDq4F5a1Q+YTqds0Ui13XVCSkK6jxJZN/mcNFr
10
+ 2kE4U6ZzdMoYvSw+GaavhzSluGDZlGYvDLhBRmL4XwcDMc0Rm9eNsQwFd7D9ki59
11
+ S/P2oq4BmfuEYBY6tE/pPPQufMu0XtGNqgIIR5kerx8oB+rJd/P6u/Av+wHVsvx3
12
+ jzxbIzx5adUEex5mueXvQZE++MVatBNxS1apL8/POp/lNheOz51UuEYVFKRj//ex
13
+ OEL2FjIav6IgKuOnM3WSEIlX9rOGxy/rcHTdU/dKhBtTmyOotBP37a3srEwLLX37
14
+ ccoeYVx9AXy0FUlw83ZtqLeE7vkn1lPiFCByrr7091c4ozUkcOhp/4LhswgZ532P
15
+ W8YLU2VkGZ/jsM4wAHZKs5gcAesOD85HCVnwR9cCcgGHKvTWVjr1xY3npU5dNl1d
16
+ wAxL+mifc9WU7ViySIVtq1+nYObwNZHkPLo1YRf2FY7IsR+Jr3qE03jSEsxbk7pc
17
+ LSW3c+CckvQqYq58pCUj8VahaYEplsRfQasmqXAxcRKHpD89uZ6Fw3KBHs2UQjcz
18
+ pdSvkIoabZSmxO+C0cf1Er1Sxp4YYBS6RVP0+olAYL1rL9JZ6q+opEu2V1FvHlDJ
19
+ +vV8C7IyF4AICv3q/7aYjw0d4PnnMXqHEgYLWahT+wIDAQABo1cwVTATBgNVHSUE
20
+ DDAKBggrBgEFBQcDAjAdBgNVHQ4EFgQUVWND7ywSU6njV+LBpiS1Owj9mrYwHwYD
21
+ VR0jBBgwFoAUg8Izr5GrjrdwIYovkZqnonwKygcwDQYJKoZIhvcNAQELBQADggIB
22
+ AH6YpQyUuCB7XS14ASkLeAJIk+Cx02HlsI8CtyJ6zJ+1rNaAthW9Sb0pS7z9VLun
23
+ RUnjF+uMZwDRQCGBlEVjt9Vo7CLs6rKi6eBY7wRSaNZuWYQdd+ygM4LN3jhVcBPR
24
+ mUAfp6N5AkdtWuTK71/WfsqJZRJzqPDdgRcQFlJ0QVgQa13TzSDRYGPg5VgjGqvG
25
+ cQLr6Y3GxWe1gvUFgNfFlZe5ltneGZRxHZqGNySVrJ08OTiwPMNFtYKDfrcTCiC3
26
+ qdyHaGyrCqmapIpVcDwshVeh4GA5vnLtS/IbJPBsUPYMlrjDHwAAK4lS/hRs8jX/
27
+ sJuO9oh6YFkyxdX6vKPnLdmQm2pcBX0m4TI8M52KfsJaA7MIWJaHU930rcCgGKRg
28
+ ZWJ9wf5ukPxvW2uaw2noLg48LRlM08xfHQBCNOjy6c41FY9Dk6Do13VPspAuwRUe
29
+ v56t4WmUjB3L4MoQ0AK8f2MfG2NUhICE0wkhK4ZflWp+ZJA01SoxtApOa6/lZ+8u
30
+ ZdmCY6LRldAIeksOAZUwItQTImjDH5ScQStFsoalhm5mI5Agl9/seeQ5X2drwMbW
31
+ 67J+E77rOc5Lmn3uQ7bc83latvyydxT5rKljYUEf+2ens3Z2Yjf1O6fRtEGK13l0
32
+ CM3N+T0WeVw0460B3MUSpONlsviyfjVHuOzwPuPytzzr
37
33
  -----END CERTIFICATE-----
@@ -1,51 +1,52 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- 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
- 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
- 2K+zhkUBu3JgKqu3z+zGz4pBKGld7IPQmHQqniuVqk+PtnlryRmerd8/4ANVmKBz
5
- G4V0tTHnT5SSG6ElHFJb39gRJXeBM8IwgJReyCAgE9+4o7ZQ6lWaQcn4osY+O8D/
6
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- x1YaGvFdaiX+SOHf1OYLm/LLivyg2e16JY/AGlUizrlBvAnlwQKCAQEA5/NhJYtu
24
- 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
- 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
- 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
- HlYIzF0vpck7LzUnZhNoUvVlfuC3HCKY6WshC+kBJpeSqtBMUPDxbqmgSKmve1rI
28
- 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
- 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
- FmK5vYskszjotpm5vzaUAecYMSiWuQrjOKgtoUBHXSYSRxAfqih4UixeW7UbYLsI
31
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- p8ffAoIBACB933K6zsF6e+lQaZRB/lqutsYVZnlL8Rd8f4DsiLrcom/fvNzLd2V3
41
- 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
- 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
- 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
- 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
- +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
- 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
- +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
- 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
- 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
- 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
51
- -----END RSA PRIVATE KEY-----
1
+ -----BEGIN PRIVATE KEY-----
2
+ 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
51
+ RKX0ast9dD3Bugsvl2LDblcXCpNI
52
+ -----END PRIVATE KEY-----
@@ -0,0 +1,14 @@
1
+ -----BEGIN PUBLIC KEY-----
2
+ MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnuNM71N9CN24sBhohh50
3
+ 97OyW6G6w6uBeWtUPmE6nbNFItd11QkpCuo8SWTf5nDRa9pBOFOmc3TKGL0sPhmm
4
+ r4c0pbhg2ZRmLwy4QUZi+F8HAzHNEZvXjbEMBXew/ZIufUvz9qKuAZn7hGAWOrRP
5
+ 6Tz0LnzLtF7RjaoCCEeZHq8fKAfqyXfz+rvwL/sB1bL8d488WyM8eWnVBHseZrnl
6
+ 70GRPvjFWrQTcUtWqS/Pzzqf5TYXjs+dVLhGFRSkY//3sThC9hYyGr+iICrjpzN1
7
+ khCJV/azhscv63B03VP3SoQbU5sjqLQT9+2t7KxMCy19+3HKHmFcfQF8tBVJcPN2
8
+ bai3hO75J9ZT4hQgcq6+9PdXOKM1JHDoaf+C4bMIGed9j1vGC1NlZBmf47DOMAB2
9
+ SrOYHAHrDg/ORwlZ8EfXAnIBhyr01lY69cWN56VOXTZdXcAMS/pon3PVlO1YskiF
10
+ batfp2Dm8DWR5Dy6NWEX9hWOyLEfia96hNN40hLMW5O6XC0lt3PgnJL0KmKufKQl
11
+ I/FWoWmBKZbEX0GrJqlwMXESh6Q/PbmehcNygR7NlEI3M6XUr5CKGm2UpsTvgtHH
12
+ 9RK9UsaeGGAUukVT9PqJQGC9ay/SWeqvqKRLtldRbx5Qyfr1fAuyMheACAr96v+2
13
+ mI8NHeD55zF6hxIGC1moU/sCAwEAAQ==
14
+ -----END PUBLIC KEY-----
@@ -1,37 +1,34 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIGYTCCBEmgAwIBAgIBBTANBgkqhkiG9w0BAQUFADBTMQswCQYDVQQGEwJHUjEY
3
- MBYGA1UEAxMPQXJhY2huaS10ZXN0LUNBMSowKAYJKoZIhvcNAQkBFhthcmFjaG5p
4
- QGFyYWNobmktc2Nhbm5lci5jb20wHhcNMTIxMTAyMTAzMzQxWhcNMjIxMDMwMTAz
5
- MzQxWjBNMQswCQYDVQQGEwJHUjESMBAGA1UEAxMJbG9jYWxob3N0MSowKAYJKoZI
6
- hvcNAQkBFhthcmFjaG5pQGFyYWNobmktc2Nhbm5lci5jb20wggIiMA0GCSqGSIb3
7
- DQEBAQUAA4ICDwAwggIKAoICAQCz+OAzIMwVNujjweU3Zhvk0ZGYqTdJ73Jz5v7F
8
- O5JE35hTzy1kf6EgMEqmZqKeBe95fviv+7UXcqtYoyxFPB/ssSLeUMyO0fUZZMMi
9
- 8EfqtZZveB1j7f0EfzSEG7eL5tCjb/Q8tXQvM33+0QfjnwcrSOr2fPPwbEiWU1d1
10
- cP1ZdRtgvAuo3a4Sga9xtJSFRe3iSpynJsQo482rSPpIcVfm5tArq8RVlztJPvXY
11
- A76iIgNddhdOM/3fBg+a6iXqkC7X0WPRoNt7XiVniwBIP1t5/2S7JyhRsN50Crfu
12
- 9N6lZd/fij0xwr5hLzl5lXKdUI5iYZZfTpNiIXnUICswFOUHwV/2W8XADu1HHLeX
13
- a4knqnmX0h7c+bJm3UrXMiwU61tVENogjNc/vJP9fjy/Klfvgn5BXmpyTze7Xzlj
14
- JcTt0VNNKUdieLjJsVKVF42j6RH9farshcHcCzd4701WkMEsbHZYncMUYNCBqUg7
15
- 5SuIFHIZfZ4wq06i8BLRXJRHK+P+kDp/cyJyr/UqtlJwFJIgtWYOO0SMhynBK8gC
16
- w/SE8Tlx0r/yIAyutyU6F4nE4wYfR3d8SyObzf5HD0rAtHBYUdPR5qFNePpEQlHR
17
- Kepgl/pMpPZ2X6e4HYqIBrrahMI0mAns285Z/iBKpv6MyJR1npEMNa8I0eugeAGO
18
- y0IcFQIDAQABo4IBRDCCAUAwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAw
19
- KwYJYIZIAYb4QgENBB4WHFRpbnlDQSBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYD
20
- VR0OBBYEFFQOlI4fxXxPl9UYd9MdoBsXt9ZWMIGDBgNVHSMEfDB6gBTxU601Rtmu
21
- dtfSBFYh2znJpP64LKFXpFUwUzELMAkGA1UEBhMCR1IxGDAWBgNVBAMTD0FyYWNo
22
- bmktdGVzdC1DQTEqMCgGCSqGSIb3DQEJARYbYXJhY2huaUBhcmFjaG5pLXNjYW5u
23
- ZXIuY29tggkA8FjCoCiD1/UwJgYDVR0SBB8wHYEbYXJhY2huaUBhcmFjaG5pLXNj
24
- YW5uZXIuY29tMCYGA1UdEQQfMB2BG2FyYWNobmlAYXJhY2huaS1zY2FubmVyLmNv
25
- bTANBgkqhkiG9w0BAQUFAAOCAgEAeKLkpVjOdO9r5FcZPhemKsL9AFmnbqWmSeFA
26
- Cmu7wyHwbDbgCS0tWnrq45qDbnAJxAqXQKzKS7QINxR80XMpgoaglx7qd1V5MEXK
27
- LXn4G6BJ5tAgEbLY7HnsUHQnLMK/KWCzMODweM2gtPTauChF9kIKWrBJuizfldAo
28
- ww8YOeZfPc77pEhC/vjttQOzfqcLjGvzpJJQVmd+i6JtH635hou9i0QXR//Nrf+l
29
- ymrCuh7sil/Z1bJdmrQ1yPb2fNgqwHnWHqwPSFb8heEGExKC6vNCS2A+e08HGQTR
30
- wNAQQYQRihtDC4lqNFcVdgZExXRypzbPE2l49RnDXCL/JOCisAErGd0kzBBj6SGD
31
- Z7AKH87esH1mNThWFCZJTYXFTthVpNbOpPQ78UbXz9tFbfVdbWAcOn9enNbVeZa5
32
- vbqIHQs7azy4I5NwQ2zK/+MO1egUbbCEhcUzoUgEx8NB3JeW2ziZDEzzyKqTcv0V
33
- EH+suZefvhHxI3tGg2UmFD1+SBEVNw/1jv1HsduTclI7ckGHLcFjt7hG1CFLfLZ3
34
- wEhN91GCsOrbckp8wBMsT1yiimasrVL2PKfa0ywUW0D6zRvBs5bgtGaWUPy1VX5W
35
- 3LLbhwMZyaHnjT9GGw2cW1hea8TRWapj+/On4w2tRy6KtnkLBHgM3E+0E9DFwwVZ
36
- jppXDh8=
2
+ MIIF0DCCA7igAwIBAgIUT51iLNx8FVfUZ6vTejoe95MpxFMwDQYJKoZIhvcNAQEL
3
+ BQAwZTELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVN0YXRlMQ0wCwYDVQQHDARDaXR5
4
+ MRcwFQYDVQQKDA5NeU9yZ2FuaXphdGlvbjELMAkGA1UECwwCSVQxETAPBgNVBAMM
5
+ CE15Um9vdENBMB4XDTI1MTAyNjA4NTA0MFoXDTI2MTAyNjA4NTA0MFowajELMAkG
6
+ A1UEBhMCVVMxDjAMBgNVBAgMBVN0YXRlMQ0wCwYDVQQHDARDaXR5MRcwFQYDVQQK
7
+ DA5NeU9yZ2FuaXphdGlvbjEPMA0GA1UECwwGU2VydmVyMRIwEAYDVQQDDAlsb2Nh
8
+ bGhvc3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwlfpD6c8gKjSJ
9
+ YsDcY21HyOH58QFEtm7EAsI8kLxLJshztfaYJRMMb8pT0iUZWGwf31UrF0od2gKT
10
+ FTi5zRHJgKohu+ACjsSy/zQyjga+kEvlsh+kiTsR6USaUOqwZ9JsdPkw3Zir3Hha
11
+ aVAsHwy2HIcBjSukNizX1ccnnRlWjj06p06AN5uPdPFvStb4BfQSz3lrMCV7oi6R
12
+ /Vw+HoXugw7lXUvoZWE2b5hXilevWPXMzA2UmvvleXvjne0NLNube5931JDgSc8E
13
+ FuXZtgLboIJxf6vmjmqYNWP47mKZpiwuU6+xScyNPsWKSxycdKQw5CS6IhDxwXgG
14
+ FPMwmt2w9DE5QIxLrUg+GnR1oQrM2cKhsnRZDDufstujBCPYPeInbyc7dG2DM8P7
15
+ bUaUn4b7N3rsySXids6qlBLt11+qLwSx+xzQ8EAeBd48oimiM3NvECKASSKS8nDB
16
+ I7CdREakrxeTyNfX62KlKw2fIYKwSGlj4ssh0GxZOBQwRQD/9dsAZoOnY81o7NLK
17
+ xxzp+O8UJRjDcdcFaOmxL2J7Hc+oXO2f/B7s2showoHsjFQDyJ8+ka8Ir//iSBgR
18
+ UIEcSHobzhoTHiSkySPP3Z7azjOZrj4X2NaS3bs0j0TPKKWGyeeECYLYQkkHT0NM
19
+ 0+I9Sp/G5bujHVVJ8Cg3dZF7aV1+tQIDAQABo3MwcTATBgNVHSUEDDAKBggrBgEF
20
+ BQcDATAaBgNVHREEEzARgglsb2NhbGhvc3SHBH8AAAEwHQYDVR0OBBYEFIegHqvP
21
+ n2rk/ECD4R8SfBHkLgkyMB8GA1UdIwQYMBaAFIPCM6+Rq463cCGKL5Gap6J8CsoH
22
+ MA0GCSqGSIb3DQEBCwUAA4ICAQBZ8gCc3hXJOcabCQwVQpkTTmlHzioVxT1Rsfzz
23
+ LxVlX4oqPyRthjfwR7S2Ohpe8gmrBeMzgoFpuYBqoKeDdA4JIpSMTJjusTApONfo
24
+ 4Il9KSrYMxKeM0CT8/jsht/RrttpK5xb1JzFViUUIlQynwVc/5RVQRQUpcbU6W/u
25
+ S+0WvPjGvOA/hun8sW8u5Aa79J//TB/qK21yJDWXMtH+ex2bXR3AnzMlj9OT/KXN
26
+ rd4OQ1FTRP/nzA6gb50La7ft7pCRBnymY3k3jtozo+E4p5xV2cvarGLCkL0+7tXH
27
+ GajAgpzLHuK68RMfJI76iJ8h8+SnhuRXyW4H4Xo6IV9ODsSiayOgMPibX9Mi7YKY
28
+ YDrwWVkKlO6jm3GJcXHom5M1iuMk2H1GQMDKnH2ThQ+hsmzkl3WuvbrM5wkQ33Jg
29
+ H/DJA7qADo4kZe2kteVQ12rJ+KcTMqOWAl1iVZB0VOPce58BC4fIcsQAQ2yzm0tS
30
+ sWR5nZjLl6oQPYElKvSuqx1+rMplMcomh8iFLnhEluPlJ6QktKo/23EttOiyB/2o
31
+ xYzUG5352Vl0IVcsAhSemlosrqi1OGZf5avMq9S/8NUmiPyPfKESuvlwJfiprEk/
32
+ J/0K0Y2x0BmW3YcQGlW5bpf4fl5Rp/z+6enp/pJSiAi/k8W5fEKt+k49rP3l4we+
33
+ TB6PiA==
37
34
  -----END CERTIFICATE-----
@@ -1,51 +1,52 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIJKgIBAAKCAgEAs/jgMyDMFTbo48HlN2Yb5NGRmKk3Se9yc+b+xTuSRN+YU88t
3
- ZH+hIDBKpmaingXveX74r/u1F3KrWKMsRTwf7LEi3lDMjtH1GWTDIvBH6rWWb3gd
4
- Y+39BH80hBu3i+bQo2/0PLV0LzN9/tEH458HK0jq9nzz8GxIllNXdXD9WXUbYLwL
5
- qN2uEoGvcbSUhUXt4kqcpybEKOPNq0j6SHFX5ubQK6vEVZc7ST712AO+oiIDXXYX
6
- TjP93wYPmuol6pAu19Fj0aDbe14lZ4sASD9bef9kuycoUbDedAq37vTepWXf34o9
7
- McK+YS85eZVynVCOYmGWX06TYiF51CArMBTlB8Ff9lvFwA7tRxy3l2uJJ6p5l9Ie
8
- 3PmyZt1K1zIsFOtbVRDaIIzXP7yT/X48vypX74J+QV5qck83u185YyXE7dFTTSlH
9
- Yni4ybFSlReNo+kR/X2q7IXB3As3eO9NVpDBLGx2WJ3DFGDQgalIO+UriBRyGX2e
10
- MKtOovAS0VyURyvj/pA6f3Micq/1KrZScBSSILVmDjtEjIcpwSvIAsP0hPE5cdK/
11
- 8iAMrrclOheJxOMGH0d3fEsjm83+Rw9KwLRwWFHT0eahTXj6REJR0SnqYJf6TKT2
12
- dl+nuB2KiAa62oTCNJgJ7NvOWf4gSqb+jMiUdZ6RDDWvCNHroHgBjstCHBUCAwEA
13
- AQKCAgEAomQ78QZz/+R3CiQH7w/8tWCALq7pi5Y6wOg7FL7nAax754u2mssrGT9Z
14
- 7IIJ0+rpJcjzHuBRjCHVCHrb1HEnIUzIeK+RlIFQ1qP8C8eiLN/DKTvJ0USKHIen
15
- XFkiKmOP+Rlo2Wqltn2Q/9+fbb0uG9mE4frnphYe/T2gWgElKZYoqQWkw6+bhWlt
16
- ZH0b0pHBz4GhjpXFRFwhVZ/Y7osPVPMJ/Y3U76IxRatA67SdS/DC9o87Aj6Zoab3
17
- Z8JFijyld+mhVyL9SHkv6RkcnRRGN3PCcbkogWXFpBGT3FMpnzaoZi13gDIH1Otm
18
- whWewOJSR+VkaQUeqdoo8sZAEfeYm/14AgwJ0H7fX9iKNHfmbtji3iOcTMeeCas6
19
- Z0ODTzmIQcqA5MgHBjRhs0EacWSEdeEC9iEzpN8dyjm6J2MSqJk12vIlRPKNl5Lx
20
- 4bLFYZBGjSb2Q5SegnS2ktPKz9dsxb3zbaJ5PnrtMQ2TQNCK06F9NDFjeJuRpt2e
21
- PlnLB5vA/CEQ866zdVpwfWmaP/lbvYQKfiP0qDrUL6ws+cRWvWVj4MTiU4+Mzqdb
22
- 0hGTKMiAe2FIr7u73URabtMKlbPaiWuSQblikigRUDyEYwg7H/K+m8wsFm4Mc9AJ
23
- sT2GJW9cJ2QXAzkdGrVXsbIDWcijdN8ziLpIyP8043sHWWCRMHUCggEBAObMIc+Y
24
- MMurC7UFRNcn+hmJTRvhFsgYzds5jLhHHwNdFjvELbJYhOrRxOjzoKh65RDZ0U0T
25
- G5TgTFlGQE6q3Pca8dqFG2zncFownkkDm+AwdmdPZ/047kc4OgTYXTdaopJCWJqD
26
- sCYhnhVqE1+jpFyn+5KneBwJoCbSMDvdZAnXOVUY+aTkzmyd6IwWUPvlTtdwcNql
27
- XUQQudP6PEgDCquvAhlzhdIUaVGr9y2jdB0c055z6hsaCZJNqsUQpVm/QZAavety
28
- 2aDaU3/kuazFBtN6IviiSE1CSGDbVv7DuaBDeW32llwkGdD8WoNLLtwZXeYsWuz5
29
- Vo4ZAKaXoIr8gaMCggEBAMef8NebwQSm9B5XEwGzxOwdVNpTm75ApH8NUavjbvyk
30
- COOGSpLtdTkuRaUTOFJdjVTfOdzWzuMF+e2Y2BJe+1m32gYp5d4oGmf/LVrL75F3
31
- mhpNxl26g4Hnp38Bpz9LJc7+kWsM/za7bRMPIab5eIUa+yg3oq4pJsFZ9pry1sHS
32
- EZL0YDWHE1fiDKB7EW5iJeiKJz1CKjiQNdlEMo7nBigUiIaw8leNg+CSwf8RYBPt
33
- xbcZuQ1ihm1EjTfnkMCruVbPI0Ot4p5E2U9ByjmiHSgfj7gYg5Z+hQ498iwGXxCI
34
- PkCJkWZKeHp28ZCjKf3/46SZWgp5A7MBxygeBvY4ducCggEBAMaOi/ALIL+3kcTU
35
- mZr426OoidwYU/8lx8R4yGWpWjcMmJomdqHeoctbWKqJHoiT4goTOouyiqIULdsI
36
- Iz8KpDs6xSOYLDYPDoupFCQApNPFHbhXikFB/0zqRI/yjI+YvBBUX+HetWa4uUX3
37
- El/PaxIDut06koycg1mirrhyCSSmMr7RU8TWy/iKCYyrjlSHvMKAC7cvWQO72ANU
38
- XxQc+csmLwoyZsiLougOqAJtgvGg4TaKxrc2OVHS273aSkbh0cfmGco77psB+aAn
39
- 6M2IXA0IIJoDE2zUP2yEh116iXIlWoyN/mGa9VLkKAKYZeIZOL1TH46MHDj3raWl
40
- AQtRnT0CggEBAKx/SceWAIF7nyEEjxj+daCua99JNiB9jWd4Y+WLXyGSwVeSeKhj
41
- 5tKlaGsPo7CQxIrdZgut1xKX3HLyi2u8hafuVcjTtZ11u/O3rkJyTS6/Uft+z3W4
42
- sOC1A6idDh+EWUR398KwdWyfIs7AWY0Gr50dRoBnKv0h9CpKCe20/9x2INeCsgwv
43
- D4j2fYDDN7nRt/4sO2IU5ZUBEHcRFjsj6M8Dh0IUbyU21Qle56H4KrSt1xa0dJLb
44
- W1vaS8lOIWhMO5iG32shO90Vk06IhC2vJ1C/jRpAnJyT8XfwEW73hngrstdjyK/C
45
- lD8GvxED3UpuLxDRrtuz3H13gNfqsotbGWsCggEAAnt56fTLGmTu9pdM3FtTEaLN
46
- rmO9JbRDsxnXTN84hLci27HW0rU/AFGw+a6MHNiBNVfBqhMnZwPgAsNVf6TB//iE
47
- FZTotJWcTHkbiBwpXvRHHQ0BwxKluDicLqzzvEW8fmiNVjDig2JeS/45r2x0S4M/
48
- 3TVHK7A/vXQWvBgQi9a2ooViRjRXdhzlIkjNNsYieAwX7793Nw2KqZbHKXvelEOQ
49
- I6nTIqNDZOZ7MmGKHnGpj4SIupCKdkalQgakkGFbpltsyKBC7gooHQuKjQsYnRgl
50
- XzOy39QzIn0WF9AoyLg/W8yPsnhc1S5Ed6Lq8KL3HWV6a8n9QRSHVCX6dafBcg==
51
- -----END RSA PRIVATE KEY-----
1
+ -----BEGIN PRIVATE KEY-----
2
+ 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
51
+ 5pBKGQv61o2ygErbVfAslK8EQL1n
52
+ -----END PRIVATE KEY-----
@@ -0,0 +1,14 @@
1
+ -----BEGIN PUBLIC KEY-----
2
+ MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsJX6Q+nPICo0iWLA3GNt
3
+ R8jh+fEBRLZuxALCPJC8SybIc7X2mCUTDG/KU9IlGVhsH99VKxdKHdoCkxU4uc0R
4
+ yYCqIbvgAo7Esv80Mo4GvpBL5bIfpIk7EelEmlDqsGfSbHT5MN2Yq9x4WmlQLB8M
5
+ thyHAY0rpDYs19XHJ50ZVo49OqdOgDebj3Txb0rW+AX0Es95azAle6Iukf1cPh6F
6
+ 7oMO5V1L6GVhNm+YV4pXr1j1zMwNlJr75Xl7453tDSzbm3ufd9SQ4EnPBBbl2bYC
7
+ 26CCcX+r5o5qmDVj+O5imaYsLlOvsUnMjT7FikscnHSkMOQkuiIQ8cF4BhTzMJrd
8
+ sPQxOUCMS61IPhp0daEKzNnCobJ0WQw7n7LbowQj2D3iJ28nO3RtgzPD+21GlJ+G
9
+ +zd67Mkl4nbOqpQS7ddfqi8Esfsc0PBAHgXePKIpojNzbxAigEkikvJwwSOwnURG
10
+ pK8Xk8jX1+tipSsNnyGCsEhpY+LLIdBsWTgUMEUA//XbAGaDp2PNaOzSyscc6fjv
11
+ FCUYw3HXBWjpsS9iex3PqFztn/we7NrIaMKB7IxUA8ifPpGvCK//4kgYEVCBHEh6
12
+ G84aEx4kpMkjz92e2s4zma4+F9jWkt27NI9EzyilhsnnhAmC2EJJB09DTNPiPUqf
13
+ xuW7ox1VSfAoN3WRe2ldfrUCAwEAAQ==
14
+ -----END PUBLIC KEY-----
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuboid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.15
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tasos Laskos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-11 00:00:00.000000000 Z
11
+ date: 2026-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -362,8 +362,8 @@ files:
362
362
  - spec/cuboid/data/application_spec.rb
363
363
  - spec/cuboid/data_spec.rb
364
364
  - spec/cuboid/error_spec.rb
365
+ - spec/cuboid/option_groups/agent_spec.rb
365
366
  - spec/cuboid/option_groups/datastore_spec.rb
366
- - spec/cuboid/option_groups/dispatcher_spec.rb
367
367
  - spec/cuboid/option_groups/output_spec.rb
368
368
  - spec/cuboid/option_groups/paths_spec.rb
369
369
  - spec/cuboid/option_groups/report_spec.rb
@@ -432,13 +432,17 @@ files:
432
432
  - spec/support/lib/web_server_dispatcher.rb
433
433
  - spec/support/lib/web_server_manager.rb
434
434
  - spec/support/logs/placeholder
435
+ - spec/support/pems/ca-cert.pem
436
+ - spec/support/pems/ca-key.pem
435
437
  - spec/support/pems/cacert.pem
436
438
  - spec/support/pems/client/cert.pem
437
439
  - spec/support/pems/client/foo-cert.pem
438
440
  - spec/support/pems/client/foo-key.pem
439
441
  - spec/support/pems/client/key.pem
442
+ - spec/support/pems/client/pub.pem
440
443
  - spec/support/pems/server/cert.pem
441
444
  - spec/support/pems/server/key.pem
445
+ - spec/support/pems/server/pub.pem
442
446
  - spec/support/reports/placeholder
443
447
  - spec/support/shared/application.rb
444
448
  - spec/support/shared/component.rb
@@ -482,8 +486,8 @@ test_files:
482
486
  - spec/cuboid/data/application_spec.rb
483
487
  - spec/cuboid/data_spec.rb
484
488
  - spec/cuboid/error_spec.rb
489
+ - spec/cuboid/option_groups/agent_spec.rb
485
490
  - spec/cuboid/option_groups/datastore_spec.rb
486
- - spec/cuboid/option_groups/dispatcher_spec.rb
487
491
  - spec/cuboid/option_groups/output_spec.rb
488
492
  - spec/cuboid/option_groups/paths_spec.rb
489
493
  - spec/cuboid/option_groups/report_spec.rb
@@ -552,13 +556,17 @@ test_files:
552
556
  - spec/support/lib/web_server_dispatcher.rb
553
557
  - spec/support/lib/web_server_manager.rb
554
558
  - spec/support/logs/placeholder
559
+ - spec/support/pems/ca-cert.pem
560
+ - spec/support/pems/ca-key.pem
555
561
  - spec/support/pems/cacert.pem
556
562
  - spec/support/pems/client/cert.pem
557
563
  - spec/support/pems/client/foo-cert.pem
558
564
  - spec/support/pems/client/foo-key.pem
559
565
  - spec/support/pems/client/key.pem
566
+ - spec/support/pems/client/pub.pem
560
567
  - spec/support/pems/server/cert.pem
561
568
  - spec/support/pems/server/key.pem
569
+ - spec/support/pems/server/pub.pem
562
570
  - spec/support/reports/placeholder
563
571
  - spec/support/shared/application.rb
564
572
  - spec/support/shared/component/options/base.rb