itrg-invoker 1.6.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.
Files changed (89) hide show
  1. checksums.yaml +7 -0
  2. data/bin/invoker +7 -0
  3. data/lib/invoker/cli/pinger.rb +23 -0
  4. data/lib/invoker/cli/question.rb +15 -0
  5. data/lib/invoker/cli/tail.rb +34 -0
  6. data/lib/invoker/cli/tail_watcher.rb +34 -0
  7. data/lib/invoker/cli.rb +197 -0
  8. data/lib/invoker/command_worker.rb +64 -0
  9. data/lib/invoker/commander.rb +101 -0
  10. data/lib/invoker/daemon.rb +126 -0
  11. data/lib/invoker/dns_cache.rb +23 -0
  12. data/lib/invoker/errors.rb +17 -0
  13. data/lib/invoker/event/manager.rb +79 -0
  14. data/lib/invoker/ipc/add_command.rb +12 -0
  15. data/lib/invoker/ipc/add_http_command.rb +10 -0
  16. data/lib/invoker/ipc/base_command.rb +24 -0
  17. data/lib/invoker/ipc/client_handler.rb +26 -0
  18. data/lib/invoker/ipc/dns_check_command.rb +17 -0
  19. data/lib/invoker/ipc/list_command.rb +11 -0
  20. data/lib/invoker/ipc/message/list_response.rb +35 -0
  21. data/lib/invoker/ipc/message/tail_response.rb +10 -0
  22. data/lib/invoker/ipc/message.rb +170 -0
  23. data/lib/invoker/ipc/ping_command.rb +10 -0
  24. data/lib/invoker/ipc/reload_command.rb +12 -0
  25. data/lib/invoker/ipc/remove_command.rb +12 -0
  26. data/lib/invoker/ipc/server.rb +26 -0
  27. data/lib/invoker/ipc/tail_command.rb +11 -0
  28. data/lib/invoker/ipc/unix_client.rb +60 -0
  29. data/lib/invoker/ipc.rb +45 -0
  30. data/lib/invoker/logger.rb +13 -0
  31. data/lib/invoker/parsers/config.rb +184 -0
  32. data/lib/invoker/parsers/procfile.rb +86 -0
  33. data/lib/invoker/power/balancer.rb +133 -0
  34. data/lib/invoker/power/config.rb +77 -0
  35. data/lib/invoker/power/dns.rb +38 -0
  36. data/lib/invoker/power/http_parser.rb +68 -0
  37. data/lib/invoker/power/http_response.rb +81 -0
  38. data/lib/invoker/power/port_finder.rb +49 -0
  39. data/lib/invoker/power/power.rb +3 -0
  40. data/lib/invoker/power/powerup.rb +29 -0
  41. data/lib/invoker/power/setup/distro/arch.rb +15 -0
  42. data/lib/invoker/power/setup/distro/base.rb +80 -0
  43. data/lib/invoker/power/setup/distro/debian.rb +11 -0
  44. data/lib/invoker/power/setup/distro/opensuse.rb +11 -0
  45. data/lib/invoker/power/setup/distro/redhat.rb +11 -0
  46. data/lib/invoker/power/setup/distro/ubuntu.rb +46 -0
  47. data/lib/invoker/power/setup/files/invoker_forwarder.sh.erb +17 -0
  48. data/lib/invoker/power/setup/files/socat_invoker.service +12 -0
  49. data/lib/invoker/power/setup/linux_setup.rb +97 -0
  50. data/lib/invoker/power/setup/osx_setup.rb +137 -0
  51. data/lib/invoker/power/setup.rb +93 -0
  52. data/lib/invoker/power/templates/400.html +40 -0
  53. data/lib/invoker/power/templates/404.html +40 -0
  54. data/lib/invoker/power/templates/503.html +40 -0
  55. data/lib/invoker/power/url_rewriter.rb +40 -0
  56. data/lib/invoker/process_manager.rb +201 -0
  57. data/lib/invoker/process_printer.rb +59 -0
  58. data/lib/invoker/reactor/reader.rb +65 -0
  59. data/lib/invoker/reactor.rb +37 -0
  60. data/lib/invoker/version.rb +47 -0
  61. data/lib/invoker.rb +151 -0
  62. data/spec/invoker/cli/pinger_spec.rb +22 -0
  63. data/spec/invoker/cli/tail_watcher_spec.rb +39 -0
  64. data/spec/invoker/cli_spec.rb +27 -0
  65. data/spec/invoker/command_worker_spec.rb +45 -0
  66. data/spec/invoker/commander_spec.rb +152 -0
  67. data/spec/invoker/config_spec.rb +361 -0
  68. data/spec/invoker/daemon_spec.rb +34 -0
  69. data/spec/invoker/event/manager_spec.rb +67 -0
  70. data/spec/invoker/invoker_spec.rb +71 -0
  71. data/spec/invoker/ipc/client_handler_spec.rb +54 -0
  72. data/spec/invoker/ipc/dns_check_command_spec.rb +32 -0
  73. data/spec/invoker/ipc/message/list_response_spec.rb +24 -0
  74. data/spec/invoker/ipc/message_spec.rb +49 -0
  75. data/spec/invoker/ipc/unix_client_spec.rb +29 -0
  76. data/spec/invoker/power/balancer_spec.rb +53 -0
  77. data/spec/invoker/power/config_spec.rb +18 -0
  78. data/spec/invoker/power/http_parser_spec.rb +32 -0
  79. data/spec/invoker/power/http_response_spec.rb +34 -0
  80. data/spec/invoker/power/port_finder_spec.rb +16 -0
  81. data/spec/invoker/power/setup/linux_setup_spec.rb +166 -0
  82. data/spec/invoker/power/setup/osx_setup_spec.rb +105 -0
  83. data/spec/invoker/power/setup_spec.rb +4 -0
  84. data/spec/invoker/power/url_rewriter_spec.rb +69 -0
  85. data/spec/invoker/power/web_sockets_spec.rb +61 -0
  86. data/spec/invoker/process_manager_spec.rb +130 -0
  87. data/spec/invoker/reactor_spec.rb +6 -0
  88. data/spec/spec_helper.rb +43 -0
  89. metadata +376 -0
metadata ADDED
@@ -0,0 +1,376 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: itrg-invoker
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.6.0
5
+ platform: ruby
6
+ authors:
7
+ - Hemant Kumar
8
+ - Amitava Basak
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2024-04-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: thor
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0.19'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '2'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: '0.19'
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '2'
34
+ - !ruby/object:Gem::Dependency
35
+ name: colorize
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.8.1
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.8.1
48
+ - !ruby/object:Gem::Dependency
49
+ name: iniparse
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.1'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.1'
62
+ - !ruby/object:Gem::Dependency
63
+ name: formatador
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.2'
69
+ type: :runtime
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.2'
76
+ - !ruby/object:Gem::Dependency
77
+ name: eventmachine
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.0.4
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.4
90
+ - !ruby/object:Gem::Dependency
91
+ name: em-proxy
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.1'
97
+ type: :runtime
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.1'
104
+ - !ruby/object:Gem::Dependency
105
+ name: rubydns
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.8.5
111
+ type: :runtime
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.8.5
118
+ - !ruby/object:Gem::Dependency
119
+ name: uuid
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '2.3'
125
+ type: :runtime
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.3'
132
+ - !ruby/object:Gem::Dependency
133
+ name: http-parser-lite
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 1.0.0
139
+ type: :runtime
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '='
144
+ - !ruby/object:Gem::Version
145
+ version: 1.0.0
146
+ - !ruby/object:Gem::Dependency
147
+ name: dotenv
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '2.0'
153
+ - - "!="
154
+ - !ruby/object:Gem::Version
155
+ version: 2.3.0
156
+ - - "!="
157
+ - !ruby/object:Gem::Version
158
+ version: 2.4.0
159
+ type: :runtime
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '2.0'
166
+ - - "!="
167
+ - !ruby/object:Gem::Version
168
+ version: 2.3.0
169
+ - - "!="
170
+ - !ruby/object:Gem::Version
171
+ version: 2.4.0
172
+ - !ruby/object:Gem::Dependency
173
+ name: rspec
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '3.0'
179
+ type: :development
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: '3.0'
186
+ - !ruby/object:Gem::Dependency
187
+ name: mocha
188
+ requirement: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ type: :development
194
+ prerelease: false
195
+ version_requirements: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ version: '0'
200
+ - !ruby/object:Gem::Dependency
201
+ name: rake
202
+ requirement: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ type: :development
208
+ prerelease: false
209
+ version_requirements: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ - !ruby/object:Gem::Dependency
215
+ name: fakefs
216
+ requirement: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ type: :development
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ description: Something small for process management
229
+ email: hemant@codemancers.com
230
+ executables:
231
+ - invoker
232
+ extensions: []
233
+ extra_rdoc_files: []
234
+ files:
235
+ - bin/invoker
236
+ - lib/invoker.rb
237
+ - lib/invoker/cli.rb
238
+ - lib/invoker/cli/pinger.rb
239
+ - lib/invoker/cli/question.rb
240
+ - lib/invoker/cli/tail.rb
241
+ - lib/invoker/cli/tail_watcher.rb
242
+ - lib/invoker/command_worker.rb
243
+ - lib/invoker/commander.rb
244
+ - lib/invoker/daemon.rb
245
+ - lib/invoker/dns_cache.rb
246
+ - lib/invoker/errors.rb
247
+ - lib/invoker/event/manager.rb
248
+ - lib/invoker/ipc.rb
249
+ - lib/invoker/ipc/add_command.rb
250
+ - lib/invoker/ipc/add_http_command.rb
251
+ - lib/invoker/ipc/base_command.rb
252
+ - lib/invoker/ipc/client_handler.rb
253
+ - lib/invoker/ipc/dns_check_command.rb
254
+ - lib/invoker/ipc/list_command.rb
255
+ - lib/invoker/ipc/message.rb
256
+ - lib/invoker/ipc/message/list_response.rb
257
+ - lib/invoker/ipc/message/tail_response.rb
258
+ - lib/invoker/ipc/ping_command.rb
259
+ - lib/invoker/ipc/reload_command.rb
260
+ - lib/invoker/ipc/remove_command.rb
261
+ - lib/invoker/ipc/server.rb
262
+ - lib/invoker/ipc/tail_command.rb
263
+ - lib/invoker/ipc/unix_client.rb
264
+ - lib/invoker/logger.rb
265
+ - lib/invoker/parsers/config.rb
266
+ - lib/invoker/parsers/procfile.rb
267
+ - lib/invoker/power/balancer.rb
268
+ - lib/invoker/power/config.rb
269
+ - lib/invoker/power/dns.rb
270
+ - lib/invoker/power/http_parser.rb
271
+ - lib/invoker/power/http_response.rb
272
+ - lib/invoker/power/port_finder.rb
273
+ - lib/invoker/power/power.rb
274
+ - lib/invoker/power/powerup.rb
275
+ - lib/invoker/power/setup.rb
276
+ - lib/invoker/power/setup/distro/arch.rb
277
+ - lib/invoker/power/setup/distro/base.rb
278
+ - lib/invoker/power/setup/distro/debian.rb
279
+ - lib/invoker/power/setup/distro/opensuse.rb
280
+ - lib/invoker/power/setup/distro/redhat.rb
281
+ - lib/invoker/power/setup/distro/ubuntu.rb
282
+ - lib/invoker/power/setup/files/invoker_forwarder.sh.erb
283
+ - lib/invoker/power/setup/files/socat_invoker.service
284
+ - lib/invoker/power/setup/linux_setup.rb
285
+ - lib/invoker/power/setup/osx_setup.rb
286
+ - lib/invoker/power/templates/400.html
287
+ - lib/invoker/power/templates/404.html
288
+ - lib/invoker/power/templates/503.html
289
+ - lib/invoker/power/url_rewriter.rb
290
+ - lib/invoker/process_manager.rb
291
+ - lib/invoker/process_printer.rb
292
+ - lib/invoker/reactor.rb
293
+ - lib/invoker/reactor/reader.rb
294
+ - lib/invoker/version.rb
295
+ - spec/invoker/cli/pinger_spec.rb
296
+ - spec/invoker/cli/tail_watcher_spec.rb
297
+ - spec/invoker/cli_spec.rb
298
+ - spec/invoker/command_worker_spec.rb
299
+ - spec/invoker/commander_spec.rb
300
+ - spec/invoker/config_spec.rb
301
+ - spec/invoker/daemon_spec.rb
302
+ - spec/invoker/event/manager_spec.rb
303
+ - spec/invoker/invoker_spec.rb
304
+ - spec/invoker/ipc/client_handler_spec.rb
305
+ - spec/invoker/ipc/dns_check_command_spec.rb
306
+ - spec/invoker/ipc/message/list_response_spec.rb
307
+ - spec/invoker/ipc/message_spec.rb
308
+ - spec/invoker/ipc/unix_client_spec.rb
309
+ - spec/invoker/power/balancer_spec.rb
310
+ - spec/invoker/power/config_spec.rb
311
+ - spec/invoker/power/http_parser_spec.rb
312
+ - spec/invoker/power/http_response_spec.rb
313
+ - spec/invoker/power/port_finder_spec.rb
314
+ - spec/invoker/power/setup/linux_setup_spec.rb
315
+ - spec/invoker/power/setup/osx_setup_spec.rb
316
+ - spec/invoker/power/setup_spec.rb
317
+ - spec/invoker/power/url_rewriter_spec.rb
318
+ - spec/invoker/power/web_sockets_spec.rb
319
+ - spec/invoker/process_manager_spec.rb
320
+ - spec/invoker/reactor_spec.rb
321
+ - spec/spec_helper.rb
322
+ homepage: https://invoker.c9s.dev
323
+ licenses:
324
+ - MIT
325
+ metadata:
326
+ bug_tracker_uri: https://github.com/code-mancers/invoker/issues
327
+ changelog_uri: https://github.com/code-mancers/invoker/blob/master/CHANGELOG.md
328
+ documentation_uri: https://invoker.c9s.dev/
329
+ source_code_uri: https://github.com/code-mancers/invoker/tree/v1.6.0
330
+ post_install_message:
331
+ rdoc_options: []
332
+ require_paths:
333
+ - lib
334
+ required_ruby_version: !ruby/object:Gem::Requirement
335
+ requirements:
336
+ - - ">="
337
+ - !ruby/object:Gem::Version
338
+ version: '0'
339
+ required_rubygems_version: !ruby/object:Gem::Requirement
340
+ requirements:
341
+ - - ">="
342
+ - !ruby/object:Gem::Version
343
+ version: '0'
344
+ requirements: []
345
+ rubygems_version: 3.1.6
346
+ signing_key:
347
+ specification_version: 4
348
+ summary: Something small for Process management
349
+ test_files:
350
+ - spec/spec_helper.rb
351
+ - spec/invoker/power/port_finder_spec.rb
352
+ - spec/invoker/power/config_spec.rb
353
+ - spec/invoker/power/setup_spec.rb
354
+ - spec/invoker/power/setup/osx_setup_spec.rb
355
+ - spec/invoker/power/setup/linux_setup_spec.rb
356
+ - spec/invoker/power/http_parser_spec.rb
357
+ - spec/invoker/power/url_rewriter_spec.rb
358
+ - spec/invoker/power/balancer_spec.rb
359
+ - spec/invoker/power/web_sockets_spec.rb
360
+ - spec/invoker/power/http_response_spec.rb
361
+ - spec/invoker/config_spec.rb
362
+ - spec/invoker/invoker_spec.rb
363
+ - spec/invoker/cli_spec.rb
364
+ - spec/invoker/command_worker_spec.rb
365
+ - spec/invoker/reactor_spec.rb
366
+ - spec/invoker/cli/pinger_spec.rb
367
+ - spec/invoker/cli/tail_watcher_spec.rb
368
+ - spec/invoker/daemon_spec.rb
369
+ - spec/invoker/ipc/unix_client_spec.rb
370
+ - spec/invoker/ipc/message/list_response_spec.rb
371
+ - spec/invoker/ipc/message_spec.rb
372
+ - spec/invoker/ipc/dns_check_command_spec.rb
373
+ - spec/invoker/ipc/client_handler_spec.rb
374
+ - spec/invoker/event/manager_spec.rb
375
+ - spec/invoker/process_manager_spec.rb
376
+ - spec/invoker/commander_spec.rb