mkit 0.6.3 → 0.7.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.
@@ -0,0 +1,29 @@
1
+ require "mkit/cmd/shell_client"
2
+
3
+ module MKIt
4
+ class DockerLogListener < MKIt::ShellClient
5
+
6
+ def initialize(pod, ws, options: {})
7
+ @pod = pod
8
+ @ws = ws
9
+ command = "docker logs"
10
+ command += " -f" if options[:follow] == 'true'
11
+ command += " -n #{options[:nr_lines]}" if options[:nr_lines]
12
+ command += " #{@pod.name}"
13
+ super(command: command)
14
+ end
15
+
16
+ def register
17
+ super do |stdout, stdin, pid|
18
+ stdout.each {
19
+ |line| @ws.send(line.strip!)
20
+ }
21
+ end
22
+ end
23
+
24
+ def close
25
+ @ws.close_websocket unless @ws.nil?
26
+ end
27
+ end
28
+ end
29
+
data/lib/mkit/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module MKIt
2
- VERSION = "0.6.3"
2
+ VERSION = "0.7.0"
3
3
  end
4
4
 
data/lib/mkit.rb CHANGED
@@ -9,6 +9,7 @@ require 'ostruct'
9
9
  require 'timeout'
10
10
  require 'net/http'
11
11
  require 'sinatra/base'
12
+ require 'sinatra-websocket'
12
13
  require 'mkit/config/environment'
13
14
  require 'mkit/app/mkit_server'
14
15
  require 'mkit/config/load_default_configs'
data/mkit.gemspec CHANGED
@@ -32,8 +32,9 @@ Gem::Specification.new do |s|
32
32
  s.add_runtime_dependency 'rubydns', '~> 2.0', '>= 2.0.2'
33
33
  s.add_runtime_dependency 'sinatra', '~> 3.0', '>= 3.0.5'
34
34
  s.add_runtime_dependency 'sinatra-activerecord', '~> 2.0', '>= 2.0.26'
35
+ s.add_runtime_dependency 'sinatra-websocket', '~> 0.3', '>= 0.3.1'
35
36
  s.add_runtime_dependency 'sqlite3', '~> 1.5', '>= 1.5.4'
36
- s.add_runtime_dependency 'standalone_migrations', '~> 7.1', '>= 7.1.0'
37
+ s.add_runtime_dependency 'standalone_migrations', '~> 7.1', '< 7.2.0'
37
38
  s.add_runtime_dependency 'thin', '~> 1.8', '>= 1.8.1'
38
39
  s.add_runtime_dependency 'text-table', '~> 1.2', '>= 1.2.4'
39
40
  end
@@ -11,6 +11,6 @@ service:
11
11
  MINIO_ACCESS_KEY: minio
12
12
  MINIO_SECRET_KEY: minio123
13
13
  volumes:
14
- #- docker://minio_data:/data
15
- - /tmp/minio_data:/data
14
+ - docker://minio_data:/data
15
+ #- /tmp/minio_data:/data
16
16
 
@@ -0,0 +1,32 @@
1
+ service:
2
+ name: soketi
3
+ image: quay.io/soketi/soketi:0.17-16-alpine
4
+ # image: giovannedev/soketi:latest
5
+ ports:
6
+ #- 80:6001:http:round_robin
7
+ - 6001:6001:tcp:round_robin
8
+ - 6002:6001:tcp:round_robin:ssl
9
+ - 9601:9601:tcp:round_robin
10
+ resources:
11
+ max_replicas: 1
12
+ min_replicas: 1
13
+ environment:
14
+ SOKETI_PORT: 6001
15
+ SOKETI_METRICS_SERVER_PORT: 9601
16
+ SOKETI_DEBUG: 1
17
+ SOKETI_MODE: full
18
+ SOKETI_APP_ID: app-id
19
+ SOKETI_APP_KEY: app-key
20
+ SOKETI_APP_SECRET: app-secret
21
+ # PUSHER_HOST: 127.0.0.1
22
+ # PUSHER_PORT: 6001
23
+ # PUSHER_SCHEME: http # or https
24
+ SOKETI_PORT: 6001
25
+ SOKETI_SCHEME: http # or https
26
+ METRICS_SERVER_PORT: 9601
27
+ SOKETI_DEFAULT_APP_ENABLED: true
28
+ SOKETI_DEFAULT_APP_ENABLE_CLIENT_MESSAGES: true
29
+ DEFAULT_APP_ENABLE_CLIENT_MESSAGES: true
30
+ #SOKETI_DB_REDIS_HOST: redis
31
+ #SOKETI_DB_REDIS_PORT: 6379
32
+ #SOKETI_DB_REDIS_PASSWORD: password
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vasco Santos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-24 00:00:00.000000000 Z
11
+ date: 2024-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-dns
@@ -230,6 +230,26 @@ dependencies:
230
230
  - - ">="
231
231
  - !ruby/object:Gem::Version
232
232
  version: 2.0.26
233
+ - !ruby/object:Gem::Dependency
234
+ name: sinatra-websocket
235
+ requirement: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - "~>"
238
+ - !ruby/object:Gem::Version
239
+ version: '0.3'
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: 0.3.1
243
+ type: :runtime
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - "~>"
248
+ - !ruby/object:Gem::Version
249
+ version: '0.3'
250
+ - - ">="
251
+ - !ruby/object:Gem::Version
252
+ version: 0.3.1
233
253
  - !ruby/object:Gem::Dependency
234
254
  name: sqlite3
235
255
  requirement: !ruby/object:Gem::Requirement
@@ -257,9 +277,9 @@ dependencies:
257
277
  - - "~>"
258
278
  - !ruby/object:Gem::Version
259
279
  version: '7.1'
260
- - - ">="
280
+ - - "<"
261
281
  - !ruby/object:Gem::Version
262
- version: 7.1.0
282
+ version: 7.2.0
263
283
  type: :runtime
264
284
  prerelease: false
265
285
  version_requirements: !ruby/object:Gem::Requirement
@@ -267,9 +287,9 @@ dependencies:
267
287
  - - "~>"
268
288
  - !ruby/object:Gem::Version
269
289
  version: '7.1'
270
- - - ">="
290
+ - - "<"
271
291
  - !ruby/object:Gem::Version
272
- version: 7.1.0
292
+ version: 7.2.0
273
293
  - !ruby/object:Gem::Dependency
274
294
  name: thin
275
295
  requirement: !ruby/object:Gem::Requirement
@@ -323,7 +343,6 @@ files:
323
343
  - ".github/workflows/publish.yml"
324
344
  - ".rubocop.yml"
325
345
  - Gemfile
326
- - Gemfile.lock
327
346
  - LICENSE
328
347
  - README.md
329
348
  - Rakefile
@@ -361,6 +380,12 @@ files:
361
380
  - lib/mkit/app/templates/docker/docker_run.sh.erb
362
381
  - lib/mkit/app/templates/haproxy/0000_defaults.cfg
363
382
  - lib/mkit/app/templates/haproxy/xapp_haproxy.cfg.erb
383
+ - lib/mkit/client/command_parser.rb
384
+ - lib/mkit/client/commands.yaml
385
+ - lib/mkit/client/http_client.rb
386
+ - lib/mkit/client/mkitd_client.rb
387
+ - lib/mkit/client/websocket_client.rb
388
+ - lib/mkit/cmd/shell_client.rb
364
389
  - lib/mkit/cmd_runner.rb
365
390
  - lib/mkit/config/config.rb
366
391
  - lib/mkit/config/environment.rb
@@ -370,6 +395,7 @@ files:
370
395
  - lib/mkit/config/the_config.yml
371
396
  - lib/mkit/ctypes.rb
372
397
  - lib/mkit/docker_listener.rb
398
+ - lib/mkit/docker_log_listener.rb
373
399
  - lib/mkit/exceptions.rb
374
400
  - lib/mkit/job_manager.rb
375
401
  - lib/mkit/mkit_dns.rb
@@ -401,6 +427,7 @@ files:
401
427
  - samples/apps/redis.yml
402
428
  - samples/daemontools/log/run
403
429
  - samples/daemontools/run
430
+ - samples/soketi.yaml
404
431
  - samples/systemd/mkitd.service
405
432
  homepage: https://github.com/valexsantos/mkit
406
433
  licenses:
data/Gemfile.lock DELETED
@@ -1,140 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- actionpack (7.0.8)
5
- actionview (= 7.0.8)
6
- activesupport (= 7.0.8)
7
- rack (~> 2.0, >= 2.2.4)
8
- rack-test (>= 0.6.3)
9
- rails-dom-testing (~> 2.0)
10
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
11
- actionview (7.0.8)
12
- activesupport (= 7.0.8)
13
- builder (~> 3.1)
14
- erubi (~> 1.4)
15
- rails-dom-testing (~> 2.0)
16
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
17
- activemodel (7.0.8)
18
- activesupport (= 7.0.8)
19
- activerecord (7.0.8)
20
- activemodel (= 7.0.8)
21
- activesupport (= 7.0.8)
22
- activesupport (7.0.8)
23
- concurrent-ruby (~> 1.0, >= 1.0.2)
24
- i18n (>= 1.6, < 2)
25
- minitest (>= 5.1)
26
- tzinfo (~> 2.0)
27
- async (1.31.0)
28
- console (~> 1.10)
29
- nio4r (~> 2.3)
30
- timers (~> 4.1)
31
- async-dns (1.3.0)
32
- async-io (~> 1.15)
33
- async-io (1.38.0)
34
- async
35
- builder (3.2.4)
36
- coderay (1.1.3)
37
- concurrent-ruby (1.2.2)
38
- console (1.23.2)
39
- fiber-annotation
40
- fiber-local
41
- crass (1.0.6)
42
- daemons (1.4.1)
43
- dry-container (0.11.0)
44
- concurrent-ruby (~> 1.0)
45
- erubi (1.12.0)
46
- eventmachine (1.2.7)
47
- fiber-annotation (0.2.0)
48
- fiber-local (1.0.0)
49
- i18n (1.14.1)
50
- concurrent-ruby (~> 1.0)
51
- loofah (2.21.4)
52
- crass (~> 1.0.2)
53
- nokogiri (>= 1.12.0)
54
- method_source (1.0.0)
55
- minitest (5.20.0)
56
- mustermann (3.0.0)
57
- ruby2_keywords (~> 0.0.1)
58
- net-ping (2.0.8)
59
- net_http_unix (0.2.2)
60
- nio4r (2.7.0)
61
- nokogiri (1.15.4-x86_64-darwin)
62
- racc (~> 1.4)
63
- nokogiri (1.15.4-x86_64-linux)
64
- racc (~> 1.4)
65
- pry (0.14.2)
66
- coderay (~> 1.1)
67
- method_source (~> 1.0)
68
- racc (1.7.3)
69
- rack (2.2.8)
70
- rack-protection (3.1.0)
71
- rack (~> 2.2, >= 2.2.4)
72
- rack-test (2.1.0)
73
- rack (>= 1.3)
74
- rails-dom-testing (2.2.0)
75
- activesupport (>= 5.0.0)
76
- minitest
77
- nokogiri (>= 1.6)
78
- rails-html-sanitizer (1.6.0)
79
- loofah (~> 2.21)
80
- nokogiri (~> 1.14)
81
- railties (7.0.8)
82
- actionpack (= 7.0.8)
83
- activesupport (= 7.0.8)
84
- method_source
85
- rake (>= 12.2)
86
- thor (~> 1.0)
87
- zeitwerk (~> 2.5)
88
- rake (13.1.0)
89
- ruby2_keywords (0.0.5)
90
- rubydns (2.0.2)
91
- async-dns (~> 1.0)
92
- sinatra (3.1.0)
93
- mustermann (~> 3.0)
94
- rack (~> 2.2, >= 2.2.4)
95
- rack-protection (= 3.1.0)
96
- tilt (~> 2.0)
97
- sinatra-activerecord (2.0.27)
98
- activerecord (>= 4.1)
99
- sinatra (>= 1.0)
100
- sqlite3 (1.6.8-x86_64-darwin)
101
- sqlite3 (1.6.8-x86_64-linux)
102
- standalone_migrations (7.1.2)
103
- activerecord (>= 6.0.0, < 7.1.0)
104
- nokogiri (~> 1.14)
105
- railties (>= 6.0.0, < 7.1.0)
106
- rake (>= 10.0)
107
- text-table (1.2.4)
108
- thin (1.8.2)
109
- daemons (~> 1.0, >= 1.0.9)
110
- eventmachine (~> 1.0, >= 1.0.4)
111
- rack (>= 1, < 3)
112
- thor (1.3.0)
113
- tilt (2.3.0)
114
- timers (4.3.5)
115
- tzinfo (2.0.6)
116
- concurrent-ruby (~> 1.0)
117
- zeitwerk (2.6.12)
118
-
119
- PLATFORMS
120
- x86_64-darwin-22
121
- x86_64-linux
122
-
123
- DEPENDENCIES
124
- async-dns
125
- dry-container
126
- net-ping
127
- net_http_unix
128
- pry
129
- rack (>= 2.0.6)
130
- rake
131
- rubydns
132
- sinatra
133
- sinatra-activerecord
134
- sqlite3
135
- standalone_migrations
136
- text-table
137
- thin
138
-
139
- BUNDLED WITH
140
- 2.4.10