invoker 1.4.1 → 1.5.1
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/.gitignore +0 -1
- data/.rubocop.yml +0 -1
- data/.travis.yml +4 -2
- data/Dockerfile +7 -0
- data/Gemfile +3 -0
- data/Rakefile +8 -0
- data/examples/hello_sinatra.rb +26 -0
- data/examples/sample.ini +3 -0
- data/invoker.gemspec +2 -1
- data/lib/invoker.rb +20 -3
- data/lib/invoker/cli.rb +32 -6
- data/lib/invoker/dns_cache.rb +2 -2
- data/lib/invoker/ipc/add_http_command.rb +1 -1
- data/lib/invoker/ipc/dns_check_command.rb +2 -1
- data/lib/invoker/ipc/message.rb +2 -2
- data/lib/invoker/parsers/config.rb +4 -1
- data/lib/invoker/power/balancer.rb +16 -4
- data/lib/invoker/power/config.rb +3 -2
- data/lib/invoker/power/dns.rb +1 -1
- data/lib/invoker/power/pf_migrate.rb +1 -1
- data/lib/invoker/power/setup.rb +43 -4
- data/lib/invoker/power/setup/distro/arch.rb +1 -4
- data/lib/invoker/power/setup/distro/base.rb +23 -21
- data/lib/invoker/power/setup/distro/debian.rb +1 -1
- data/lib/invoker/power/setup/distro/opensuse.rb +11 -0
- data/lib/invoker/power/setup/distro/redhat.rb +1 -7
- data/lib/invoker/power/setup/files/invoker_forwarder.sh.erb +17 -0
- data/lib/invoker/power/setup/files/socat_invoker.service +12 -0
- data/lib/invoker/power/setup/linux_setup.rb +46 -29
- data/lib/invoker/power/setup/osx_setup.rb +16 -28
- data/lib/invoker/power/url_rewriter.rb +6 -3
- data/lib/invoker/process_manager.rb +13 -7
- data/lib/invoker/version.rb +1 -1
- data/readme.md +4 -4
- data/spec/invoker/commander_spec.rb +19 -8
- data/spec/invoker/config_spec.rb +22 -27
- data/spec/invoker/invoker_spec.rb +2 -1
- data/spec/invoker/ipc/client_handler_spec.rb +11 -1
- data/spec/invoker/power/config_spec.rb +2 -1
- data/spec/invoker/power/pf_migrate_spec.rb +7 -0
- data/spec/invoker/power/setup/linux_setup_spec.rb +57 -9
- data/spec/invoker/power/setup/osx_setup_spec.rb +22 -8
- data/spec/invoker/power/url_rewriter_spec.rb +33 -1
- data/spec/invoker/power/web_sockets_spec.rb +61 -0
- data/spec/invoker/process_manager_spec.rb +34 -2
- data/spec/spec_helper.rb +12 -16
- metadata +27 -35
- data/spec/support/mock_setup_file.rb +0 -64
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require "pry"
|
2
2
|
require "simplecov"
|
3
|
+
require 'fakefs/spec_helpers'
|
4
|
+
|
3
5
|
SimpleCov.start do
|
4
6
|
add_filter "/spec/"
|
5
7
|
end
|
@@ -7,24 +9,14 @@ end
|
|
7
9
|
|
8
10
|
require "invoker"
|
9
11
|
require "invoker/power/power"
|
10
|
-
$: << File.join(File.dirname(__FILE__), "support")
|
11
|
-
require "mock_setup_file"
|
12
12
|
MM = Invoker::IPC::Message
|
13
13
|
|
14
14
|
RSpec.configure do |config|
|
15
15
|
config.run_all_when_everything_filtered = true
|
16
16
|
config.filter_run :focus
|
17
17
|
config.mock_framework = :mocha
|
18
|
-
config.include
|
19
|
-
|
20
|
-
config.around do |example|
|
21
|
-
original_verbosity = $VERBOSE
|
22
|
-
$VERBOSE = nil
|
23
|
-
setup_mocked_config_files
|
24
|
-
example.run
|
25
|
-
remove_mocked_config_files
|
26
|
-
$VERBOSE = original_verbosity
|
27
|
-
end
|
18
|
+
config.include FakeFS::SpecHelpers, fakefs: true
|
19
|
+
|
28
20
|
# Run specs in random order to surface order dependencies. If you find an
|
29
21
|
# order dependency and want to debug it, you can fix the order by providing
|
30
22
|
# the seed, which is printed after each run.
|
@@ -34,10 +26,6 @@ end
|
|
34
26
|
|
35
27
|
ENV["INVOKER_TESTS"] = "true"
|
36
28
|
|
37
|
-
def invoker_config
|
38
|
-
Invoker.config ||= mock
|
39
|
-
end
|
40
|
-
|
41
29
|
def invoker_commander
|
42
30
|
Invoker.commander ||= mock
|
43
31
|
end
|
@@ -45,3 +33,11 @@ end
|
|
45
33
|
def invoker_dns_cache
|
46
34
|
Invoker.dns_cache ||= mock
|
47
35
|
end
|
36
|
+
|
37
|
+
def inv_conf_dir
|
38
|
+
File.join(ENV['HOME'], '.invoker')
|
39
|
+
end
|
40
|
+
|
41
|
+
def inv_conf_file
|
42
|
+
File.join(inv_conf_dir, 'config')
|
43
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: invoker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hemant Kumar
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-08-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
@@ -157,14 +157,14 @@ dependencies:
|
|
157
157
|
requirements:
|
158
158
|
- - "~>"
|
159
159
|
- !ruby/object:Gem::Version
|
160
|
-
version:
|
160
|
+
version: '2.0'
|
161
161
|
type: :runtime
|
162
162
|
prerelease: false
|
163
163
|
version_requirements: !ruby/object:Gem::Requirement
|
164
164
|
requirements:
|
165
165
|
- - "~>"
|
166
166
|
- !ruby/object:Gem::Version
|
167
|
-
version:
|
167
|
+
version: '2.0'
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: rspec
|
170
170
|
requirement: !ruby/object:Gem::Requirement
|
@@ -207,6 +207,20 @@ dependencies:
|
|
207
207
|
- - ">="
|
208
208
|
- !ruby/object:Gem::Version
|
209
209
|
version: '0'
|
210
|
+
- !ruby/object:Gem::Dependency
|
211
|
+
name: fakefs
|
212
|
+
requirement: !ruby/object:Gem::Requirement
|
213
|
+
requirements:
|
214
|
+
- - ">="
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0'
|
217
|
+
type: :development
|
218
|
+
prerelease: false
|
219
|
+
version_requirements: !ruby/object:Gem::Requirement
|
220
|
+
requirements:
|
221
|
+
- - ">="
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: '0'
|
210
224
|
description: Something small for process management
|
211
225
|
email: hemant@codemancers.com
|
212
226
|
executables:
|
@@ -219,6 +233,7 @@ files:
|
|
219
233
|
- ".rspec"
|
220
234
|
- ".rubocop.yml"
|
221
235
|
- ".travis.yml"
|
236
|
+
- Dockerfile
|
222
237
|
- Gemfile
|
223
238
|
- MIT-LICENSE
|
224
239
|
- Rakefile
|
@@ -226,6 +241,8 @@ files:
|
|
226
241
|
- bin/invoker
|
227
242
|
- contrib/completion/invoker-completion.bash
|
228
243
|
- contrib/completion/invoker-completion.zsh
|
244
|
+
- examples/hello_sinatra.rb
|
245
|
+
- examples/sample.ini
|
229
246
|
- invoker.gemspec
|
230
247
|
- lib/invoker.rb
|
231
248
|
- lib/invoker/cli.rb
|
@@ -272,8 +289,11 @@ files:
|
|
272
289
|
- lib/invoker/power/setup/distro/base.rb
|
273
290
|
- lib/invoker/power/setup/distro/debian.rb
|
274
291
|
- lib/invoker/power/setup/distro/mint.rb
|
292
|
+
- lib/invoker/power/setup/distro/opensuse.rb
|
275
293
|
- lib/invoker/power/setup/distro/redhat.rb
|
276
294
|
- lib/invoker/power/setup/distro/ubuntu.rb
|
295
|
+
- lib/invoker/power/setup/files/invoker_forwarder.sh.erb
|
296
|
+
- lib/invoker/power/setup/files/socat_invoker.service
|
277
297
|
- lib/invoker/power/setup/linux_setup.rb
|
278
298
|
- lib/invoker/power/setup/osx_setup.rb
|
279
299
|
- lib/invoker/power/templates/400.html
|
@@ -310,10 +330,10 @@ files:
|
|
310
330
|
- spec/invoker/power/setup/osx_setup_spec.rb
|
311
331
|
- spec/invoker/power/setup_spec.rb
|
312
332
|
- spec/invoker/power/url_rewriter_spec.rb
|
333
|
+
- spec/invoker/power/web_sockets_spec.rb
|
313
334
|
- spec/invoker/process_manager_spec.rb
|
314
335
|
- spec/invoker/reactor_spec.rb
|
315
336
|
- spec/spec_helper.rb
|
316
|
-
- spec/support/mock_setup_file.rb
|
317
337
|
homepage: http://invoker.codemancers.com
|
318
338
|
licenses:
|
319
339
|
- MIT
|
@@ -334,36 +354,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
334
354
|
version: '0'
|
335
355
|
requirements: []
|
336
356
|
rubyforge_project:
|
337
|
-
rubygems_version: 2.
|
357
|
+
rubygems_version: 2.5.1
|
338
358
|
signing_key:
|
339
359
|
specification_version: 4
|
340
360
|
summary: Something small for Process management
|
341
|
-
test_files:
|
342
|
-
- spec/invoker/cli/pinger_spec.rb
|
343
|
-
- spec/invoker/cli/tail_watcher_spec.rb
|
344
|
-
- spec/invoker/cli_spec.rb
|
345
|
-
- spec/invoker/command_worker_spec.rb
|
346
|
-
- spec/invoker/commander_spec.rb
|
347
|
-
- spec/invoker/config_spec.rb
|
348
|
-
- spec/invoker/daemon_spec.rb
|
349
|
-
- spec/invoker/event/manager_spec.rb
|
350
|
-
- spec/invoker/invoker_spec.rb
|
351
|
-
- spec/invoker/ipc/client_handler_spec.rb
|
352
|
-
- spec/invoker/ipc/dns_check_command_spec.rb
|
353
|
-
- spec/invoker/ipc/message/list_response_spec.rb
|
354
|
-
- spec/invoker/ipc/message_spec.rb
|
355
|
-
- spec/invoker/ipc/unix_client_spec.rb
|
356
|
-
- spec/invoker/power/balancer_spec.rb
|
357
|
-
- spec/invoker/power/config_spec.rb
|
358
|
-
- spec/invoker/power/http_parser_spec.rb
|
359
|
-
- spec/invoker/power/http_response_spec.rb
|
360
|
-
- spec/invoker/power/pf_migrate_spec.rb
|
361
|
-
- spec/invoker/power/port_finder_spec.rb
|
362
|
-
- spec/invoker/power/setup/linux_setup_spec.rb
|
363
|
-
- spec/invoker/power/setup/osx_setup_spec.rb
|
364
|
-
- spec/invoker/power/setup_spec.rb
|
365
|
-
- spec/invoker/power/url_rewriter_spec.rb
|
366
|
-
- spec/invoker/process_manager_spec.rb
|
367
|
-
- spec/invoker/reactor_spec.rb
|
368
|
-
- spec/spec_helper.rb
|
369
|
-
- spec/support/mock_setup_file.rb
|
361
|
+
test_files: []
|
@@ -1,64 +0,0 @@
|
|
1
|
-
module MockSetupFile
|
2
|
-
def setup_mocked_config_files
|
3
|
-
setup_invoker_config
|
4
|
-
setup_osx_resolver_path
|
5
|
-
setup_linux_resolver_path
|
6
|
-
end
|
7
|
-
|
8
|
-
def remove_mocked_config_files
|
9
|
-
restore_invoker_config
|
10
|
-
restore_osx_resolver_setup
|
11
|
-
restore_linux_resolver_path
|
12
|
-
end
|
13
|
-
|
14
|
-
def safe_remove_file(file_location)
|
15
|
-
File.exist?(file_location) &&
|
16
|
-
File.delete(file_location)
|
17
|
-
end
|
18
|
-
|
19
|
-
def safe_make_directory(directory)
|
20
|
-
FileUtils.mkdir(directory) unless Dir.exist?(directory)
|
21
|
-
end
|
22
|
-
|
23
|
-
private
|
24
|
-
|
25
|
-
def setup_invoker_config
|
26
|
-
Invoker::Power::Config.stubs(:config_file).returns("/tmp/.invoker/config")
|
27
|
-
Invoker::Power::Config.stubs(:config_dir).returns("/tmp/.invoker")
|
28
|
-
safe_make_directory("/tmp/.invoker")
|
29
|
-
safe_remove_file(Invoker::Power::Config.config_file)
|
30
|
-
end
|
31
|
-
|
32
|
-
def restore_invoker_config
|
33
|
-
safe_remove_file("/tmp/.invoker/config")
|
34
|
-
end
|
35
|
-
|
36
|
-
def restore_osx_resolver_setup
|
37
|
-
safe_remove_file(Invoker::Power::OsxSetup::RESOLVER_FILE)
|
38
|
-
FileUtils.rm_rf(Invoker::Power::OsxSetup::RESOLVER_DIR)
|
39
|
-
Invoker::Power::OsxSetup.const_set(:RESOLVER_FILE, @old_osx_resolver)
|
40
|
-
end
|
41
|
-
|
42
|
-
def setup_osx_resolver_path
|
43
|
-
@old_osx_resolver = Invoker::Power::OsxSetup::RESOLVER_FILE
|
44
|
-
Invoker::Power::OsxSetup.const_set(:RESOLVER_FILE, "/tmp/resolver/invoker-dev")
|
45
|
-
Invoker::Power::OsxSetup.const_set(:RESOLVER_DIR, "/tmp/resolver")
|
46
|
-
|
47
|
-
safe_make_directory(Invoker::Power::OsxSetup::RESOLVER_DIR)
|
48
|
-
safe_remove_file(Invoker::Power::OsxSetup::RESOLVER_FILE)
|
49
|
-
end
|
50
|
-
|
51
|
-
def setup_linux_resolver_path
|
52
|
-
@old_linux_resolver = Invoker::Power::Distro::Base::RESOLVER_FILE
|
53
|
-
@old_rinetd_config = Invoker::Power::Distro::Base::RINETD_FILE
|
54
|
-
Invoker::Power::Distro::Base.const_set(:RESOLVER_FILE, "/tmp/dev-tld")
|
55
|
-
Invoker::Power::Distro::Base.const_set(:RINETD_FILE, "/tmp/rinetd.conf")
|
56
|
-
end
|
57
|
-
|
58
|
-
def restore_linux_resolver_path
|
59
|
-
safe_remove_file(Invoker::Power::Distro::Base::RESOLVER_FILE)
|
60
|
-
safe_remove_file(Invoker::Power::Distro::Base::RINETD_FILE)
|
61
|
-
Invoker::Power::Distro::Base.const_set(:RESOLVER_FILE, @old_linux_resolver)
|
62
|
-
Invoker::Power::Distro::Base.const_set(:RINETD_FILE, @old_rinetd_config)
|
63
|
-
end
|
64
|
-
end
|