jerbil 1.3.3 → 1.4.5
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 +9 -9
- data/Bugs.rdoc +7 -0
- data/Gemfile +7 -8
- data/History.txt +28 -0
- data/Intro.txt +8 -4
- data/README.md +65 -33
- data/README_TESTING.md +2 -1
- data/bin/jerbil +108 -49
- data/bin/jerbil-install +1 -1
- data/etc/jerbil/jerbil-old.rb +83 -0
- data/etc/jerbil/jerbil-test.rb +105 -0
- data/etc/jerbil/jerbil.rb +61 -39
- data/lib/jerbil.rb +41 -9
- data/lib/jerbil/config.rb +18 -1
- data/lib/jerbil/monitor.rb +134 -0
- data/lib/jerbil/service.rb +10 -0
- data/lib/jerbil/support.rb +4 -4
- data/lib/jerbil/version.rb +9 -8
- data/sbin/jerbil-stop +11 -0
- data/sbin/jerbild +25 -4
- data/spec/jerbil_client_spec.rb +16 -16
- data/spec/jerbil_daemonised/jerbil_local_spec.rb +11 -12
- data/spec/jerbil_local_spec.rb +19 -19
- data/spec/jerbil_missing_spec.rb +3 -6
- data/spec/jerbil_remote_spec.rb +19 -18
- data/spec/spec_helper.rb +1 -2
- data/test/conf.d/jerbil_local.rb +2 -0
- data/test/conf.d/jerbil_test.rb +92 -20
- data/test/conf.d/jerbil_test_old.rb +35 -0
- data/test/pids/rubytest-dev.asc +1 -0
- data/test/pids/rubytest-dev.pid +1 -0
- metadata +116 -98
- data/etc/jerbil/jerbil-client.rb +0 -2
- data/lib/jerbil/thor/server.rb +0 -76
- data/lib/jerbil/thor/service.rb +0 -74
data/spec/jerbil_missing_spec.rb
CHANGED
@@ -46,20 +46,17 @@ describe "Missing Services" do
|
|
46
46
|
@ant_fqdn = 'antonia.osburn-sharp.ath.cx'
|
47
47
|
#@ant = Jerbil::Servers.get_server(@servers, @ant_fqdn, @env)
|
48
48
|
#@calling_key = @local.key
|
49
|
-
|
50
|
-
#Syslog.stub(:info).and_return(true)
|
51
|
-
Jellog::Logger.disable_syslog
|
52
49
|
|
53
50
|
end
|
54
51
|
|
55
52
|
before(:each) do
|
56
53
|
|
57
54
|
@my_service = Jerbil::ServiceRecord.new(:rubytest, :dev)
|
58
|
-
Socket.
|
55
|
+
allow(Socket).to receive_messages(:gethostname=>@germs_fqdn)
|
59
56
|
@a_service = Jerbil::ServiceRecord.new(:rubytest, :test)
|
60
|
-
Socket.
|
57
|
+
allow(Socket).to receive_messages(:gethostname=>@ant_fqdn)
|
61
58
|
@b_service = Jerbil::ServiceRecord.new(:rubytest, :prod)
|
62
|
-
Socket.
|
59
|
+
allow(Socket).to receive(:gethostname).and_call_original
|
63
60
|
|
64
61
|
@jerbs.register(@my_service)
|
65
62
|
rkey = @jerbs.register_server(@calling_server, @secret, @env)
|
data/spec/jerbil_remote_spec.rb
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
# The purpose of these tests is to check the remote interface to the Jerbil Server
|
14
14
|
#
|
15
15
|
|
16
|
-
require File.expand_path(File.dirname(__FILE__)
|
16
|
+
require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
|
17
17
|
require 'jerbil/servers'
|
18
18
|
require 'jerbil/service'
|
19
19
|
require 'jerbil/config'
|
@@ -41,16 +41,15 @@ describe "A Remote Jerbil Session" do
|
|
41
41
|
@my_conf = Jerbil::Config.new(conf_file)
|
42
42
|
@secret = @my_conf[:secret]
|
43
43
|
@env = @my_conf[:environment]
|
44
|
-
|
45
44
|
@my_session = Jerbil::Broker.new(@my_conf, @pkey)
|
46
45
|
|
47
46
|
@remote_host = 'germanicus.osburn-sharp.ath.cx'
|
48
|
-
Socket.
|
47
|
+
allow(Socket).to receive_messages(:gethostname => @remote_host)
|
49
48
|
@a_service = Jerbil::ServiceRecord.new(:rubytest, :test)
|
50
|
-
Socket.
|
49
|
+
allow(Socket).to receive_messages(:gethostname => 'antonia.osburn-sharp.ath.cx')
|
51
50
|
@b_service = Jerbil::ServiceRecord.new(:rubytest, :prod)
|
52
|
-
Socket.
|
53
|
-
Jellog::Logger.disable_syslog
|
51
|
+
allow(Socket).to receive(:gethostname).and_call_original
|
52
|
+
#Jellog::Logger.disable_syslog
|
54
53
|
end
|
55
54
|
|
56
55
|
after(:all) do
|
@@ -58,28 +57,28 @@ describe "A Remote Jerbil Session" do
|
|
58
57
|
end
|
59
58
|
|
60
59
|
it "should be easily created" do
|
61
|
-
@my_session.service_count.
|
60
|
+
expect(@my_session.service_count).to eq(0)
|
62
61
|
end
|
63
62
|
|
64
63
|
it "should be easy to add a remote service" do
|
65
64
|
rkey = @my_session.register_server(@calling_server, @secret, @env)
|
66
65
|
@my_session.register_remote(rkey, @a_service)
|
67
|
-
@my_session.service_count.
|
68
|
-
@my_session.remote_service_count.
|
66
|
+
expect(@my_session.service_count).to eq(1)
|
67
|
+
expect(@my_session.remote_service_count).to eq(1)
|
69
68
|
@my_session.detach_server(rkey, @calling_server)
|
70
|
-
@my_session.service_count.
|
69
|
+
expect(@my_session.service_count).to eq(0)
|
71
70
|
end
|
72
71
|
|
73
72
|
it "should not be possible to register a remote server without a valid secret" do
|
74
73
|
#Syslog.should_not_receive(:info)
|
75
|
-
|
74
|
+
expect {@my_session.register_server(@calling_server, 'INVALID', @env)}.to raise_error{Jerbil::JerbilAuthenticationError}
|
76
75
|
end
|
77
76
|
|
78
77
|
it "should not be possible to register a remote service without a valid key" do
|
79
78
|
rkey = @my_session.register_server(@calling_server, @secret, @env)
|
80
79
|
#lambda{@my_session.register_remote('INVALID', @a_service)}.should raise_error{Jerbil::InvalidServerKey}
|
81
80
|
@my_session.register_remote('INVALID', @a_service)
|
82
|
-
@my_session.service_count.
|
81
|
+
expect(@my_session.service_count).to eq(0)
|
83
82
|
@my_session.detach_server(rkey, @calling_server)
|
84
83
|
end
|
85
84
|
|
@@ -87,17 +86,19 @@ describe "A Remote Jerbil Session" do
|
|
87
86
|
it "should be easy to remove a remote service" do
|
88
87
|
rkey = @my_session.register_server(@calling_server, @secret, @env)
|
89
88
|
@my_session.register_remote(rkey, @a_service)
|
90
|
-
@my_session.service_count.
|
89
|
+
expect(@my_session.service_count).to eq(1)
|
91
90
|
@my_session.remove_remote(rkey, @a_service)
|
92
|
-
@my_session.service_count.
|
91
|
+
expect(@my_session.service_count).to eq(0)
|
93
92
|
@my_session.detach_server(rkey, @calling_server)
|
94
93
|
end
|
95
94
|
|
95
|
+
# These last two seem to involve a long delay! Need to stub something.
|
96
|
+
|
96
97
|
it "should do nothing if you remove an unregistered remote service" do
|
97
98
|
rkey = @my_session.register_server(@calling_server, @secret, @env)
|
98
99
|
@my_session.register(@my_service)
|
99
100
|
@my_session.remove_remote(rkey, @a_service)
|
100
|
-
@my_session.service_count.
|
101
|
+
expect(@my_session.service_count).to eq(1)
|
101
102
|
@my_session.detach_server(rkey, @calling_server)
|
102
103
|
end
|
103
104
|
|
@@ -105,10 +106,10 @@ describe "A Remote Jerbil Session" do
|
|
105
106
|
@my_session.register(@my_service)
|
106
107
|
rkey = @my_session.register_server(@calling_server, @secret, @env)
|
107
108
|
services = @my_session.get_local_services(rkey)
|
108
|
-
services[0].
|
109
|
+
expect(services[0]).to eq(@my_service)
|
109
110
|
@my_session.register(@another_service)
|
110
|
-
@my_session.local_service_count.
|
111
|
-
services.length.
|
111
|
+
expect(@my_session.local_service_count).to eq(2)
|
112
|
+
expect(services.length).to eq(1)
|
112
113
|
@my_session.detach_server(rkey, @calling_server)
|
113
114
|
|
114
115
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -3,10 +3,9 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
3
3
|
$LOAD_PATH.delete('/usr/local/lib')
|
4
4
|
require 'jerbil'
|
5
5
|
require 'rspec'
|
6
|
-
require 'rspec/autorun'
|
7
6
|
|
8
7
|
RSpec.configure do |config|
|
9
|
-
config.
|
8
|
+
config.color = true
|
10
9
|
config.formatter = :doc
|
11
10
|
|
12
11
|
end
|
data/test/conf.d/jerbil_local.rb
CHANGED
data/test/conf.d/jerbil_test.rb
CHANGED
@@ -1,19 +1,12 @@
|
|
1
|
+
#
|
2
|
+
# Configuration Options for: Jellog::Config
|
3
|
+
#
|
1
4
|
project_root = '/home/robert/dev/projects/jerbil'
|
2
|
-
env = :test
|
3
|
-
environment env
|
4
5
|
|
5
|
-
#
|
6
|
-
|
7
|
-
|
8
|
-
# Number of log files to retain at any moment
|
9
|
-
#log_rotation 2
|
10
|
-
|
11
|
-
# Location for Jellog (logging utility) to save log files
|
6
|
+
# Path to a writeable directory where Jellog will save log files.
|
7
|
+
#log_dir "/var/log/jerbil"
|
12
8
|
log_dir "#{project_root}/log"
|
13
9
|
|
14
|
-
# Size of a log file (in MB) before switching to the next log
|
15
|
-
#log_length 1
|
16
|
-
|
17
10
|
# Controls the amount of logging done by Jellog
|
18
11
|
#
|
19
12
|
# * :system - standard message, plus log to syslog
|
@@ -22,14 +15,93 @@ log_dir "#{project_root}/log"
|
|
22
15
|
#
|
23
16
|
log_level :debug
|
24
17
|
|
25
|
-
#
|
26
|
-
|
18
|
+
# Number of log files to retain at any time, between 0 and 20
|
19
|
+
#log_rotation 2
|
20
|
+
|
21
|
+
# Size of a log file (in MB) before switching to the next log, upto 20 MB
|
22
|
+
#log_length 1
|
23
|
+
|
24
|
+
# Reset the logfile when starting logging by setting to true, otherwise append to
|
25
|
+
# existing log
|
26
|
+
#log_reset false
|
27
|
+
|
28
|
+
# Set to false to suppress colourful logging. Default colours can be changed by calling
|
29
|
+
# #colours= method
|
30
|
+
#log_coloured true
|
31
|
+
|
32
|
+
# Format string for time stamps. Needs to be a string that is recognised by String#strftime
|
33
|
+
# Any characters not recognised by strftime will be printed verbatim, which may not be what you want
|
34
|
+
#log_date_time_format "%Y-%m-%d %H:%M:%S"
|
35
|
+
|
36
|
+
# Setting to true (the default) will flush log messages immediately, which is useful if you
|
37
|
+
# need to monitor logs dynamically
|
38
|
+
#log_sync true
|
39
|
+
|
40
|
+
# Set the string to be used for marking the log with logger.mark
|
41
|
+
#log_mark " ===== Mark ====="
|
42
|
+
|
43
|
+
# Set to true to prevent system log calls from logging to syslog as well
|
44
|
+
#disable_syslog false
|
45
|
+
|
46
|
+
#
|
47
|
+
# Configuration Options for: JerbilService::Config
|
48
|
+
#
|
49
|
+
|
50
|
+
# Set the environment for the service to run in.
|
51
|
+
#
|
52
|
+
# Can be one of the following:
|
53
|
+
# :prod - for productionised services in use across a network
|
54
|
+
# :test - for testing a release candidate, e.g. also across the network
|
55
|
+
# :dev - for developing the next release
|
56
|
+
#
|
57
|
+
# Services can be running in all three environments at the same time. Clients
|
58
|
+
# will need to use the appropriate config file to connect with each environment.
|
59
|
+
environment :test
|
60
|
+
|
61
|
+
# a writable directory where Jerbil stores a private key for each service.
|
62
|
+
# This key is used to authenticate systems operations, such as stopping the service.
|
63
|
+
# It is not used for client interactions, which can require a separate service key.
|
64
|
+
key_dir "#{project_root}/tmp"
|
65
|
+
|
66
|
+
# A writable directory used to store the pid to assist in stopping reluctant servers
|
67
|
+
pid_dir "#{project_root}/tmp"
|
68
|
+
|
69
|
+
# Set this only to use a Jerbil Server that is not running in the production environment
|
70
|
+
#jerbil_env
|
71
|
+
|
72
|
+
#
|
73
|
+
# Configuration Options for: Jerbil::Config
|
74
|
+
#
|
75
|
+
|
76
|
+
# A valid IPv4 address for the LAN on which the servers will operate.
|
77
|
+
# Note that the broker uses this address to search for all servers.
|
78
|
+
# Therefore a large range will take a long time to search. Set the net_mask to limit this.
|
79
|
+
#net_address "192.168.0.1"
|
80
|
+
|
81
|
+
# A valid netmask for the hosts to search using the above net address. This should be
|
82
|
+
# between 24 (a class C network) and 30, beyound which its not much of a network. If you only have a few
|
83
|
+
# hosts it will be easier to restrict them to a small subnet.
|
84
|
+
#
|
85
|
+
# To find out more about netmasks, go to [UnixWiz](http://www.unixwiz.net/techtips/netmask-ref.html).
|
86
|
+
#net_mask 26
|
87
|
+
|
88
|
+
# Provide a timeout in seconds when searching for jerbil servers on the net during startup.
|
89
|
+
# Depending on the size of the net mask this timeout may make the search long.
|
90
|
+
# The default should work in most cases
|
91
|
+
#scan_timeout 0.1
|
92
|
+
|
93
|
+
# Define how many times the monitor process will check for other servers
|
94
|
+
# at start up. Limited to at least once and at most 10 times. Probably is not need
|
95
|
+
# to check more than 3 times unless you set a very short scan timeout.
|
96
|
+
#check_count 3
|
27
97
|
|
28
|
-
#
|
98
|
+
# Define the delay between successive checks carried out by the monitor at start up.
|
99
|
+
# Setting it to 0 will cause the checks to be completed without delay. The upper limit is
|
100
|
+
# an hour for no particular reason. Default should work for most cases. Could be quicker on smaller
|
101
|
+
# nets with fewer machines to check each time.
|
102
|
+
#loop_time 30
|
29
103
|
|
104
|
+
# A secret key available to all Jerbil Servers and used to authenticate the initial registration.
|
105
|
+
# If security is an issue, ensure that this config file is readable only be trusted users
|
106
|
+
secret "ddd3863fe7ab8506d13c86b797d5ab45496ce00e"
|
30
107
|
|
31
|
-
# netmask
|
32
|
-
net_address '192.168.0.1'
|
33
|
-
net_mask 26
|
34
|
-
scan_timeout 0.1
|
35
|
-
secret '123456789=[]'
|
@@ -0,0 +1,35 @@
|
|
1
|
+
project_root = '/home/robert/dev/projects/jerbil'
|
2
|
+
env = :test
|
3
|
+
environment env
|
4
|
+
|
5
|
+
# directory used to store the daemons pid to assist in stopping reluctant servers
|
6
|
+
pid_dir "#{project_root}/test/pids"
|
7
|
+
|
8
|
+
# Number of log files to retain at any moment
|
9
|
+
#log_rotation 2
|
10
|
+
|
11
|
+
# Location for Jellog (logging utility) to save log files
|
12
|
+
log_dir "#{project_root}/log"
|
13
|
+
|
14
|
+
# Size of a log file (in MB) before switching to the next log
|
15
|
+
#log_length 1
|
16
|
+
|
17
|
+
# Controls the amount of logging done by Jellog
|
18
|
+
#
|
19
|
+
# * :system - standard message, plus log to syslog
|
20
|
+
# * :verbose - more generous logging to help resolve problems
|
21
|
+
# * :debug - usually used only for resolving problems during development
|
22
|
+
#
|
23
|
+
log_level :debug
|
24
|
+
|
25
|
+
# private key file used to authenticate privileged users
|
26
|
+
key_dir "#{project_root}/test/pids"
|
27
|
+
|
28
|
+
#user 'robert'
|
29
|
+
|
30
|
+
|
31
|
+
# netmask
|
32
|
+
net_address '192.168.0.1'
|
33
|
+
net_mask 26
|
34
|
+
scan_timeout 0.1
|
35
|
+
secret '123456789=[]'
|
@@ -0,0 +1 @@
|
|
1
|
+
09bedb1d6f6a76166263
|
@@ -0,0 +1 @@
|
|
1
|
+
29265
|
metadata
CHANGED
@@ -1,75 +1,66 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jerbil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dr Robert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: !binary |-
|
15
15
|
bmV0YWRkcg==
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - !
|
18
|
+
- - !binary |-
|
19
|
+
fj4=
|
19
20
|
- !ruby/object:Gem::Version
|
20
|
-
version: '0'
|
21
|
+
version: '1.0'
|
21
22
|
type: :runtime
|
22
23
|
prerelease: false
|
23
24
|
version_requirements: !ruby/object:Gem::Requirement
|
24
25
|
requirements:
|
25
|
-
- - !
|
26
|
+
- - !binary |-
|
27
|
+
fj4=
|
26
28
|
- !ruby/object:Gem::Version
|
27
|
-
version: '0'
|
29
|
+
version: '1.0'
|
28
30
|
- !ruby/object:Gem::Dependency
|
29
31
|
name: !binary |-
|
30
32
|
dGVybS1hbnNpY29sb3I=
|
31
33
|
requirement: !ruby/object:Gem::Requirement
|
32
34
|
requirements:
|
33
|
-
- - !
|
34
|
-
|
35
|
-
version: '0'
|
36
|
-
type: :runtime
|
37
|
-
prerelease: false
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
39
|
-
requirements:
|
40
|
-
- - ! '>='
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '0'
|
43
|
-
- !ruby/object:Gem::Dependency
|
44
|
-
name: !binary |-
|
45
|
-
dGhvcg==
|
46
|
-
requirement: !ruby/object:Gem::Requirement
|
47
|
-
requirements:
|
48
|
-
- - ! '>='
|
35
|
+
- - !binary |-
|
36
|
+
fj4=
|
49
37
|
- !ruby/object:Gem::Version
|
50
|
-
version: '0'
|
38
|
+
version: '1.0'
|
51
39
|
type: :runtime
|
52
40
|
prerelease: false
|
53
41
|
version_requirements: !ruby/object:Gem::Requirement
|
54
42
|
requirements:
|
55
|
-
- - !
|
43
|
+
- - !binary |-
|
44
|
+
fj4=
|
56
45
|
- !ruby/object:Gem::Version
|
57
|
-
version: '0'
|
46
|
+
version: '1.0'
|
58
47
|
- !ruby/object:Gem::Dependency
|
59
48
|
name: !binary |-
|
60
49
|
ZGFlbW9ucw==
|
61
50
|
requirement: !ruby/object:Gem::Requirement
|
62
51
|
requirements:
|
63
|
-
- - !
|
52
|
+
- - !binary |-
|
53
|
+
fj4=
|
64
54
|
- !ruby/object:Gem::Version
|
65
|
-
version: '0'
|
55
|
+
version: '1.0'
|
66
56
|
type: :runtime
|
67
57
|
prerelease: false
|
68
58
|
version_requirements: !ruby/object:Gem::Requirement
|
69
59
|
requirements:
|
70
|
-
- - !
|
60
|
+
- - !binary |-
|
61
|
+
fj4=
|
71
62
|
- !ruby/object:Gem::Version
|
72
|
-
version: '0'
|
63
|
+
version: '1.0'
|
73
64
|
- !ruby/object:Gem::Dependency
|
74
65
|
name: !binary |-
|
75
66
|
amVsbG9n
|
@@ -78,8 +69,11 @@ dependencies:
|
|
78
69
|
- - !binary |-
|
79
70
|
Pj0=
|
80
71
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
82
|
-
|
72
|
+
version: 1.0.14
|
73
|
+
- - !binary |-
|
74
|
+
fj4=
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '1.0'
|
83
77
|
type: :runtime
|
84
78
|
prerelease: false
|
85
79
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -87,8 +81,11 @@ dependencies:
|
|
87
81
|
- - !binary |-
|
88
82
|
Pj0=
|
89
83
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
91
|
-
|
84
|
+
version: 1.0.14
|
85
|
+
- - !binary |-
|
86
|
+
fj4=
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '1.0'
|
92
89
|
- !ruby/object:Gem::Dependency
|
93
90
|
name: !binary |-
|
94
91
|
amVja3ls
|
@@ -97,8 +94,11 @@ dependencies:
|
|
97
94
|
- - !binary |-
|
98
95
|
Pj0=
|
99
96
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
101
|
-
|
97
|
+
version: 0.2.7
|
98
|
+
- - !binary |-
|
99
|
+
fj4=
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0.2'
|
102
102
|
type: :runtime
|
103
103
|
prerelease: false
|
104
104
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -106,8 +106,11 @@ dependencies:
|
|
106
106
|
- - !binary |-
|
107
107
|
Pj0=
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
110
|
-
|
109
|
+
version: 0.2.7
|
110
|
+
- - !binary |-
|
111
|
+
fj4=
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0.2'
|
111
114
|
- !ruby/object:Gem::Dependency
|
112
115
|
name: !binary |-
|
113
116
|
amVuaQ==
|
@@ -116,8 +119,11 @@ dependencies:
|
|
116
119
|
- - !binary |-
|
117
120
|
Pj0=
|
118
121
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
120
|
-
|
122
|
+
version: 0.2.5
|
123
|
+
- - !binary |-
|
124
|
+
fj4=
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0.2'
|
121
127
|
type: :runtime
|
122
128
|
prerelease: false
|
123
129
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -125,8 +131,11 @@ dependencies:
|
|
125
131
|
- - !binary |-
|
126
132
|
Pj0=
|
127
133
|
- !ruby/object:Gem::Version
|
128
|
-
version:
|
129
|
-
|
134
|
+
version: 0.2.5
|
135
|
+
- - !binary |-
|
136
|
+
fj4=
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0.2'
|
130
139
|
- !ruby/object:Gem::Dependency
|
131
140
|
name: !binary |-
|
132
141
|
b3B0cGx1cw==
|
@@ -135,8 +144,11 @@ dependencies:
|
|
135
144
|
- - !binary |-
|
136
145
|
Pj0=
|
137
146
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
139
|
-
|
147
|
+
version: 0.0.2
|
148
|
+
- - !binary |-
|
149
|
+
fj4=
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0.0'
|
140
152
|
type: :runtime
|
141
153
|
prerelease: false
|
142
154
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -144,18 +156,21 @@ dependencies:
|
|
144
156
|
- - !binary |-
|
145
157
|
Pj0=
|
146
158
|
- !ruby/object:Gem::Version
|
147
|
-
version:
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
+
version: 0.0.2
|
160
|
+
- - !binary |-
|
161
|
+
fj4=
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0.0'
|
164
|
+
description: ! "Provides a reliable Object Request Broker and a simple framework for
|
165
|
+
ruby-based services.\nJerbil servers run on each machine in the system and share
|
166
|
+
information on registering\nservices. This ensures no single point of failure -
|
167
|
+
machines can come and go (orderly or disorderly)\nand the network extends or heals
|
168
|
+
as they do. For services there is a parent class that hides \nall of the jerbil
|
169
|
+
server interactions so that new services can be written without having\nto write
|
170
|
+
any distributing code. Clients can also be written using an interface that\ncan
|
171
|
+
find one or more services on the network and connect to each or the first. Finally,
|
172
|
+
there\nare scripts to start and stop the Jerbil server and any Services so that
|
173
|
+
the whole thing\ncan be quickly installed and integrated with your system."
|
159
174
|
email: robert@osburn-sharp.ath.cx
|
160
175
|
executables:
|
161
176
|
- jerbil-install
|
@@ -171,97 +186,100 @@ extra_rdoc_files:
|
|
171
186
|
- README_SERVICES.md
|
172
187
|
- README_TESTING.md
|
173
188
|
files:
|
174
|
-
- History.txt
|
175
189
|
- Bugs.rdoc
|
190
|
+
- Gemfile
|
191
|
+
- History.txt
|
176
192
|
- Intro.txt
|
177
193
|
- LICENCE.rdoc
|
178
|
-
- Gemfile
|
179
194
|
- README.md
|
180
195
|
- README_SERVICES.md
|
181
196
|
- README_TESTING.md
|
197
|
+
- bin/jerbil
|
198
|
+
- bin/jerbil-install
|
199
|
+
- etc/conf.d/jerbil
|
200
|
+
- etc/conf.d/jerbil.service
|
201
|
+
- etc/conf.d/jerbild
|
202
|
+
- etc/init.d/jerbil
|
203
|
+
- etc/init.d/jerbild
|
204
|
+
- etc/jerbil/jerbil-old.rb
|
205
|
+
- etc/jerbil/jerbil-test.rb
|
206
|
+
- etc/jerbil/jerbil.rb
|
207
|
+
- lib/jerbil.rb
|
208
|
+
- lib/jerbil/config.md
|
209
|
+
- lib/jerbil/config.rb
|
210
|
+
- lib/jerbil/errors.rb
|
182
211
|
- lib/jerbil/jerbil_service/base.rb
|
183
212
|
- lib/jerbil/jerbil_service/client.rb
|
213
|
+
- lib/jerbil/jerbil_service/config.md
|
184
214
|
- lib/jerbil/jerbil_service/config.rb
|
185
215
|
- lib/jerbil/jerbil_service/sclient.rb
|
186
216
|
- lib/jerbil/jerbil_service/support.rb
|
187
217
|
- lib/jerbil/jerbil_service/utils.rb
|
188
|
-
- lib/jerbil/
|
189
|
-
- lib/jerbil/
|
218
|
+
- lib/jerbil/monitor.rb
|
219
|
+
- lib/jerbil/servers.rb
|
190
220
|
- lib/jerbil/service.rb
|
191
221
|
- lib/jerbil/support.rb
|
192
222
|
- lib/jerbil/version.rb
|
193
|
-
-
|
194
|
-
- lib/jerbil/thor/service.rb
|
195
|
-
- lib/jerbil/config.rb
|
196
|
-
- lib/jerbil/servers.rb
|
197
|
-
- lib/jerbil/config.md
|
198
|
-
- lib/jerbil.rb
|
199
|
-
- bin/jerbil-install
|
200
|
-
- bin/jerbil
|
223
|
+
- sbin/jerbil-status
|
201
224
|
- sbin/jerbil-stop
|
202
225
|
- sbin/jerbild
|
203
|
-
- sbin/jserviced
|
204
|
-
- sbin/jservice-stop
|
205
226
|
- sbin/jservice-status
|
206
|
-
- sbin/
|
207
|
-
-
|
208
|
-
- etc/conf.d/jerbil
|
209
|
-
- etc/conf.d/jerbil.service
|
210
|
-
- etc/init.d/jerbild
|
211
|
-
- etc/init.d/jerbil
|
212
|
-
- etc/jerbil/jerbil-client.rb
|
213
|
-
- etc/jerbil/jerbil.rb
|
227
|
+
- sbin/jservice-stop
|
228
|
+
- sbin/jserviced
|
214
229
|
- spec/jerbil_2_jerbil_spec.rb
|
215
230
|
- spec/jerbil_client1_spec.rb
|
216
231
|
- spec/jerbil_client_spec.rb
|
217
232
|
- spec/jerbil_client_stop_spec.rb
|
233
|
+
- spec/jerbil_daemonised/jerbil_local_spec.rb
|
234
|
+
- spec/jerbil_daemonised/jerbil_remote_spec.rb
|
218
235
|
- spec/jerbil_load.rb
|
219
236
|
- spec/jerbil_local_spec.rb
|
237
|
+
- spec/jerbil_missing_spec.rb
|
220
238
|
- spec/jerbil_remote_spec.rb
|
239
|
+
- spec/jerbil_remote_spec_bup.rb
|
221
240
|
- spec/jerbil_service_error_spec.rb
|
222
241
|
- spec/jerbil_service_spec.rb
|
223
242
|
- spec/jerbil_support_spec.rb
|
243
|
+
- spec/jservice_utils_spec.rb
|
224
244
|
- spec/server_spec.rb
|
245
|
+
- spec/server_update_spec.rb
|
225
246
|
- spec/service_spec.rb
|
226
247
|
- spec/spec_helper.rb
|
227
248
|
- spec/test_env_spec.rb
|
228
|
-
-
|
229
|
-
- spec/server_update_spec.rb
|
230
|
-
- spec/jerbil_remote_spec_bup.rb
|
231
|
-
- spec/jerbil_daemonised/jerbil_local_spec.rb
|
232
|
-
- spec/jerbil_daemonised/jerbil_remote_spec.rb
|
233
|
-
- spec/jerbil_missing_spec.rb
|
249
|
+
- test/bad_test_service.rb
|
234
250
|
- test/conf.d/jerbil
|
235
251
|
- test/conf.d/jerbil.conf
|
252
|
+
- test/conf.d/jerbil.rb
|
253
|
+
- test/conf.d/jerbil_local.rb
|
236
254
|
- test/conf.d/jerbil_no_local.conf
|
255
|
+
- test/conf.d/jerbil_old.rb
|
256
|
+
- test/conf.d/jerbil_test.rb
|
257
|
+
- test/conf.d/jerbil_test_old.rb
|
237
258
|
- test/conf.d/malformed
|
238
259
|
- test/conf.d/missing_services
|
239
|
-
- test/conf.d/jerbil_local.rb
|
240
|
-
- test/conf.d/jerbil_test.rb
|
241
|
-
- test/conf.d/jerbil.rb
|
242
260
|
- test/conf.d/ruby_test.rb
|
243
|
-
- test/conf.d/jerbil_old.rb
|
244
261
|
- test/init.d/jerbild
|
245
|
-
- test/pids/jerbil.pid
|
246
|
-
- test/pids/jerbil-prod.asc
|
247
|
-
- test/pids/jerbil-prod.pid
|
248
|
-
- test/bad_test_service.rb
|
249
262
|
- test/jerbil.rb
|
250
263
|
- test/jerbil_config.rb
|
251
264
|
- test/jstop.rb
|
252
265
|
- test/key.asc
|
266
|
+
- test/lib/ruby_test.rb
|
267
|
+
- test/lib/ruby_test/config.rb
|
268
|
+
- test/lib/ruby_test/version.rb
|
269
|
+
- test/pids/jerbil-prod.asc
|
270
|
+
- test/pids/jerbil-prod.pid
|
271
|
+
- test/pids/jerbil.pid
|
272
|
+
- test/pids/rubytest-dev.asc
|
273
|
+
- test/pids/rubytest-dev.pid
|
253
274
|
- test/private_key_file.asc
|
254
275
|
- test/service-stop.rb
|
255
276
|
- test/service_mock.rb
|
256
277
|
- test/test_service_client.rb
|
257
|
-
|
258
|
-
- test/lib/ruby_test/config.rb
|
259
|
-
- test/lib/ruby_test/version.rb
|
260
|
-
homepage: ''
|
278
|
+
homepage: https://github.com/osburn-sharp
|
261
279
|
licenses:
|
262
280
|
- Open Software Licence v3.0
|
263
281
|
metadata: {}
|
264
|
-
post_install_message: Now run jerbil-install to complete the installation
|
282
|
+
post_install_message: ! "**********\n\n Now run jerbil-install to complete the installation\n\n**********"
|
265
283
|
rdoc_options:
|
266
284
|
- --main=README.rdoc
|
267
285
|
require_paths:
|
@@ -278,8 +296,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
278
296
|
version: '0'
|
279
297
|
requirements: []
|
280
298
|
rubyforge_project:
|
281
|
-
rubygems_version: 2.
|
299
|
+
rubygems_version: 2.4.2
|
282
300
|
signing_key:
|
283
301
|
specification_version: 4
|
284
|
-
summary:
|
302
|
+
summary: A framework for reliable network-wide client-server inter-process comms.
|
285
303
|
test_files: []
|