kennethkalmer-daemon-kit 0.1.6 → 0.1.7.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Configuration.txt +58 -0
- data/History.txt +16 -0
- data/Manifest.txt +29 -2
- data/PostInstall.txt +1 -1
- data/{README.textile → README.rdoc} +31 -19
- data/Rakefile +2 -4
- data/TODO.txt +6 -5
- data/app_generators/daemon_kit/daemon_kit_generator.rb +29 -0
- data/app_generators/daemon_kit/templates/Rakefile +3 -1
- data/app_generators/daemon_kit/templates/config/arguments.rb +12 -0
- data/app_generators/daemon_kit/templates/config/boot.rb +2 -2
- data/app_generators/daemon_kit/templates/script/console +3 -0
- data/app_generators/daemon_kit/templates/script/destroy +14 -0
- data/app_generators/daemon_kit/templates/script/generate +14 -0
- data/daemon_generators/deploy_capistrano/deploy_capistrano_generator.rb +35 -0
- data/daemon_generators/deploy_capistrano/templates/Capfile +10 -0
- data/daemon_generators/deploy_capistrano/templates/USAGE +10 -0
- data/daemon_generators/deploy_capistrano/templates/config/deploy/production.rb +6 -0
- data/daemon_generators/deploy_capistrano/templates/config/deploy/staging.rb +6 -0
- data/daemon_generators/deploy_capistrano/templates/config/deploy.rb +51 -0
- data/daemon_generators/deploy_capistrano/templates/config/environments/staging.rb +0 -0
- data/lib/daemon_kit/application.rb +135 -11
- data/lib/daemon_kit/arguments.rb +151 -0
- data/lib/daemon_kit/commands/console.rb +38 -0
- data/lib/daemon_kit/config.rb +1 -0
- data/lib/daemon_kit/console_daemon.rb +2 -0
- data/lib/daemon_kit/core_ext/string.rb +22 -0
- data/lib/daemon_kit/core_ext.rb +1 -0
- data/lib/daemon_kit/deployment/capistrano.rb +485 -0
- data/lib/daemon_kit/initializer.rb +87 -25
- data/lib/daemon_kit/pid_file.rb +61 -0
- data/lib/daemon_kit/tasks/environment.rake +5 -4
- data/lib/daemon_kit/tasks/framework.rake +15 -1
- data/lib/daemon_kit/tasks/god.rake +62 -0
- data/lib/daemon_kit/tasks/monit.rake +29 -0
- data/lib/daemon_kit.rb +11 -5
- data/rubygems_generators/install_rspec/templates/spec/spec_helper.rb +1 -1
- data/spec/argument_spec.rb +51 -0
- data/spec/config_spec.rb +77 -0
- data/spec/daemon_kit_spec.rb +2 -2
- data/spec/fixtures/env.yml +15 -0
- data/spec/fixtures/noenv.yml +4 -0
- data/spec/initializer_spec.rb +4 -3
- data/spec/spec_helper.rb +8 -11
- data/templates/god/god.erb +69 -0
- data/templates/monit/monit.erb +14 -0
- data/test/test_daemon-kit_generator.rb +15 -1
- data/test/test_deploy_capistrano_generator.rb +48 -0
- metadata +41 -21
- data/lib/daemon_kit/patches/force_kill_wait.rb +0 -120
@@ -0,0 +1,51 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
describe DaemonKit::Arguments do
|
4
|
+
|
5
|
+
describe "parsing ARGV" do
|
6
|
+
|
7
|
+
it "should extract the given command" do
|
8
|
+
argv = [ 'start', '-f', 'foo' ]
|
9
|
+
res = DaemonKit::Arguments.parse( argv )
|
10
|
+
|
11
|
+
res.first.should == :start
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should have a default command if missing" do
|
15
|
+
argv = [ '-h' ]
|
16
|
+
res = DaemonKit::Arguments.parse( argv )
|
17
|
+
|
18
|
+
res.first.should == :run
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should extract explicit configuration options" do
|
22
|
+
argv = [ 'start', '--config', 'environment=development' ]
|
23
|
+
res = DaemonKit::Arguments.parse( argv )
|
24
|
+
|
25
|
+
res.shift
|
26
|
+
res.first.should == [ 'environment=development' ]
|
27
|
+
|
28
|
+
res.last.should == []
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should extract implicit configuration options" do
|
32
|
+
argv = [ '-e', 'production' ]
|
33
|
+
res = DaemonKit::Arguments.parse( argv )
|
34
|
+
|
35
|
+
res.shift
|
36
|
+
res.first.should == ['environment=production']
|
37
|
+
|
38
|
+
res.last.should == []
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should extract daemon options" do
|
42
|
+
argv = [ 'start', '-h' ]
|
43
|
+
res = DaemonKit::Arguments.parse( argv )
|
44
|
+
|
45
|
+
res.shift
|
46
|
+
res.first.should == []
|
47
|
+
|
48
|
+
res.last.should == [ '-h' ]
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/spec/config_spec.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
describe DaemonKit::Config do
|
4
|
+
|
5
|
+
describe "working with config data" do
|
6
|
+
before(:each) do
|
7
|
+
@config = DaemonKit::Config.new('foo' => 'bar')
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should have string key access to values" do
|
11
|
+
@config['foo'].should == 'bar'
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should have symbol key access to values" do
|
15
|
+
@config[:foo].should == 'bar'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should have instance accessors to values" do
|
19
|
+
@config.foo.should == 'bar'
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should return the config as a has" do
|
23
|
+
@config.to_h.should == { 'foo' => 'bar' }
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should be able to symbolize keys in returned hash" do
|
27
|
+
@config.to_h(true).should == { :foo => 'bar' }
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should symbolize keys in a nested fashion"
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "parsing files" do
|
34
|
+
before(:all) do
|
35
|
+
FileUtils.mkdir_p( DAEMON_ROOT + "/config" )
|
36
|
+
FileUtils.cp( File.dirname(__FILE__) + '/fixtures/env.yml', DAEMON_ROOT + '/config/' )
|
37
|
+
FileUtils.cp( File.dirname(__FILE__) + '/fixtures/noenv.yml', DAEMON_ROOT + '/config/' )
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should parse env keys correctly" do
|
41
|
+
config = DaemonKit::Config.load('env')
|
42
|
+
|
43
|
+
config.test.should == 'yes!'
|
44
|
+
config.array.should_not be_empty
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should not be worried about missing env keys" do
|
48
|
+
config = DaemonKit::Config.load('noenv')
|
49
|
+
|
50
|
+
config.string.should == 'value'
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should accept symbol file names" do
|
54
|
+
config = DaemonKit::Config.load(:env)
|
55
|
+
config.test.should == 'yes!'
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should bail on missing files" do
|
59
|
+
lambda {
|
60
|
+
DaemonKit::Config.load('missing')
|
61
|
+
}.should raise_error(ArgumentError)
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should give direct hash access to a config" do
|
65
|
+
config = DaemonKit::Config.hash(:env)
|
66
|
+
|
67
|
+
config.should be_a_kind_of(Hash)
|
68
|
+
config.keys.should include('test')
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should give direct symbolized hash access to a config" do
|
72
|
+
config = DaemonKit::Config.hash(:env, true)
|
73
|
+
|
74
|
+
config.keys.should include(:test)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
data/spec/daemon_kit_spec.rb
CHANGED
data/spec/initializer_spec.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
require 'daemon_kit/initializer'
|
2
3
|
|
3
4
|
describe DaemonKit::Configuration do
|
4
5
|
before(:each) do
|
5
6
|
@configuration = DaemonKit::Configuration.new
|
6
7
|
end
|
7
|
-
|
8
|
+
|
8
9
|
it "should know our environment" do
|
9
10
|
@configuration.environment.should_not be_nil
|
10
11
|
end
|
@@ -16,7 +17,7 @@ describe DaemonKit::Configuration do
|
|
16
17
|
it "should have a default log level" do
|
17
18
|
@configuration.log_level.should_not be_nil
|
18
19
|
end
|
19
|
-
|
20
|
+
|
20
21
|
end
|
21
22
|
|
22
23
|
|
@@ -27,5 +28,5 @@ describe DaemonKit::Initializer do
|
|
27
28
|
DaemonKit::Initializer.run(:initialize_logger)
|
28
29
|
DaemonKit.logger.should_not be_nil
|
29
30
|
end
|
30
|
-
|
31
|
+
|
31
32
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,19 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
require 'rubygems'
|
5
|
-
gem 'rspec'
|
6
|
-
require 'spec'
|
7
|
-
end
|
8
|
-
|
9
|
-
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
10
|
-
require 'daemon_kit'
|
1
|
+
require 'rubygems'
|
2
|
+
gem 'rspec'
|
3
|
+
require 'spec'
|
11
4
|
|
12
|
-
|
5
|
+
require 'mocha'
|
13
6
|
require 'fileutils'
|
14
7
|
|
8
|
+
DAEMON_ENV = "test"
|
15
9
|
DAEMON_ROOT = "#{File.dirname(__FILE__)}/../tmp"
|
16
10
|
|
11
|
+
$:.unshift( File.dirname(__FILE__) + '/../lib' )
|
12
|
+
require 'daemon_kit'
|
13
|
+
|
17
14
|
Spec::Runner.configure do |config|
|
18
15
|
# == Mock Framework
|
19
16
|
#
|
@@ -0,0 +1,69 @@
|
|
1
|
+
#
|
2
|
+
# This is a configuration template for 'god' process monitoring.
|
3
|
+
#
|
4
|
+
# More information can be found at http://god.rubyforge.org/
|
5
|
+
#
|
6
|
+
|
7
|
+
DAEMON_ROOT = "<%= DaemonKit.root %>"
|
8
|
+
|
9
|
+
God.watch do |w|
|
10
|
+
w.name = '<%= DaemonKit.configuration.daemon_name %>'
|
11
|
+
w.interval = 30.seconds
|
12
|
+
w.start = "/usr/bin/env DAEMON_ENV=<%= DaemonKit.env %> <%= DaemonKit.root %>/bin/<%= DaemonKit.configuration.daemon_name %> start"
|
13
|
+
w.stop = "/usr/bin/env DAEMON_ENV=<%= DaemonKit.env %> <%= DaemonKit.root %>/bin/<%= DaemonKit.configuration.daemon_name %> stop"
|
14
|
+
w.start_grace = 10.seconds
|
15
|
+
w.stop_grace = 10.seconds
|
16
|
+
w.pid_file = "<%= DaemonKit.configuration.pid_file %>"
|
17
|
+
w.behavior(:clean_pid_file)
|
18
|
+
#w.uid = 'nobody'
|
19
|
+
#w.gid = 'nobody'
|
20
|
+
|
21
|
+
w.start_if do |start|
|
22
|
+
start.condition(:process_running) do |c|
|
23
|
+
c.interval = 30.seconds
|
24
|
+
c.running = false
|
25
|
+
c.notify = 'sysadmin'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
w.restart_if do |restart|
|
30
|
+
restart.condition(:memory_usage) do |c|
|
31
|
+
c.above = 250.megabytes
|
32
|
+
c.times = [3, 5] # 3 out of 5 intervals
|
33
|
+
c.notify = 'sysadmin'
|
34
|
+
end
|
35
|
+
|
36
|
+
restart.condition(:cpu_usage) do |c|
|
37
|
+
c.above = 50.percent
|
38
|
+
c.times = 5
|
39
|
+
c.notify = 'sysadmin'
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
w.lifecycle do |on|
|
44
|
+
on.condition(:flapping) do |c|
|
45
|
+
c.to_state = [:start, :restart]
|
46
|
+
c.times = 5
|
47
|
+
c.within = 5.minute
|
48
|
+
c.transition = :unmonitored
|
49
|
+
c.retry_in = 10.minutes
|
50
|
+
c.retry_times = 5
|
51
|
+
c.retry_within = 2.hours
|
52
|
+
c.notify = 'sysadmin'
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
God::Contacts::Email.server_settings = {
|
58
|
+
:address => "smtp.gmail.com",
|
59
|
+
:port => 587,
|
60
|
+
:domain => "localhost",
|
61
|
+
:authentication => :plain,
|
62
|
+
:user_name => "you@gmail.com",
|
63
|
+
:password => "secret"
|
64
|
+
}
|
65
|
+
|
66
|
+
God.contact(:email) do |c|
|
67
|
+
c.name = 'sysadmin'
|
68
|
+
c.email = 'you@gmail.com'
|
69
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#
|
2
|
+
# This monit configuration file is built from the monit wiki with some
|
3
|
+
# very basic checks on memory and CPU usage.
|
4
|
+
#
|
5
|
+
# See the man page at http://mmonit.com/monit/documentation/monit.html
|
6
|
+
# for more information.
|
7
|
+
#
|
8
|
+
check process <%= DaemonKit.configuration.daemon_name %> with pidfile <%= DaemonKit.configuration.pid_file %>
|
9
|
+
group daemons
|
10
|
+
start program = "/usr/bin/env DAEMON_ENV=<%= DaemonKit.env %> <%= DaemonKit.root %>/bin/<%= DaemonKit.configuration.daemon_name %> start"
|
11
|
+
stop program = "/usr/bin/env DAEMON_ENV=<%= DaemonKit.env %> <%= DaemonKit.root %>/bin/<%= DaemonKit.configuration.daemon_name %> stop"
|
12
|
+
if 5 restarts within 5 cycles then timeout
|
13
|
+
if cpu usage > 99% for 5 cycles then alert
|
14
|
+
if mem usage > 99% for 5 cycles then alert
|
@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
|
|
2
2
|
|
3
3
|
class TestDaemonKitGenerator < Test::Unit::TestCase
|
4
4
|
include RubiGen::GeneratorTestHelper
|
5
|
-
|
5
|
+
|
6
6
|
attr_reader :daemon_name
|
7
7
|
def setup
|
8
8
|
bare_setup
|
@@ -35,6 +35,7 @@ class TestDaemonKitGenerator < Test::Unit::TestCase
|
|
35
35
|
assert_directory_exists "bin"
|
36
36
|
assert_generated_file "bin/#{daemon_name}"
|
37
37
|
assert_directory_exists "config"
|
38
|
+
assert_generated_file "config/arguments.rb"
|
38
39
|
assert_generated_file "config/boot.rb"
|
39
40
|
assert_generated_file "config/environment.rb"
|
40
41
|
assert_generated_file "config/environments/development.rb"
|
@@ -49,10 +50,23 @@ class TestDaemonKitGenerator < Test::Unit::TestCase
|
|
49
50
|
assert_directory_exists "libexec"
|
50
51
|
assert_generated_file "libexec/#{daemon_name}-daemon.rb"
|
51
52
|
assert_directory_exists "log"
|
53
|
+
assert_directory_exists "script"
|
54
|
+
assert_generated_file "script/console"
|
55
|
+
assert_generated_file "script/destroy"
|
56
|
+
assert_generated_file "script/generate"
|
52
57
|
assert_directory_exists "spec"
|
53
58
|
assert_directory_exists "tasks"
|
54
59
|
assert_directory_exists "vendor"
|
55
60
|
assert_directory_exists "tmp"
|
61
|
+
|
62
|
+
assert !File.exists?("#{APP_ROOT}/Capfile"), 'Capfile generated, but should not be'
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_generator_with_capistrano_deployer
|
66
|
+
run_generator('daemon_kit', [APP_ROOT, '-d capistrano'], sources)
|
67
|
+
|
68
|
+
assert_generated_file "Capfile"
|
69
|
+
assert_generated_file "config/deploy.rb"
|
56
70
|
end
|
57
71
|
|
58
72
|
private
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
|
2
|
+
|
3
|
+
|
4
|
+
class TestDeployCapistranoGenerator < Test::Unit::TestCase
|
5
|
+
include RubiGen::GeneratorTestHelper
|
6
|
+
|
7
|
+
def setup
|
8
|
+
bare_setup
|
9
|
+
end
|
10
|
+
|
11
|
+
def teardown
|
12
|
+
bare_teardown
|
13
|
+
end
|
14
|
+
|
15
|
+
# Some generator-related assertions:
|
16
|
+
# assert_generated_file(name, &block) # block passed the file contents
|
17
|
+
# assert_directory_exists(name)
|
18
|
+
# assert_generated_class(name, &block)
|
19
|
+
# assert_generated_module(name, &block)
|
20
|
+
# assert_generated_test_for(name, &block)
|
21
|
+
# The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
|
22
|
+
# assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
|
23
|
+
#
|
24
|
+
# Other helper methods are:
|
25
|
+
# app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
|
26
|
+
# bare_setup - place this in setup method to create the APP_ROOT folder for each test
|
27
|
+
# bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
|
28
|
+
|
29
|
+
def test_generator_without_options
|
30
|
+
run_generator('deploy_capistrano', ['myapp'], sources)
|
31
|
+
assert_generated_file "Capfile"
|
32
|
+
assert_directory_exists "config"
|
33
|
+
assert_generated_file "config/deploy.rb"
|
34
|
+
assert_directory_exists "config/deploy"
|
35
|
+
assert_generated_file "config/deploy/staging.rb"
|
36
|
+
assert_generated_file "config/deploy/production.rb"
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
def sources
|
41
|
+
[RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
|
42
|
+
]
|
43
|
+
end
|
44
|
+
|
45
|
+
def generator_path
|
46
|
+
"daemon_generators"
|
47
|
+
end
|
48
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kennethkalmer-daemon-kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenneth Kalmer
|
@@ -9,19 +9,9 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-05-
|
12
|
+
date: 2009-05-31 00:00:00 -07:00
|
13
13
|
default_executable: daemon_kit
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: daemons
|
17
|
-
type: :runtime
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 1.0.10
|
24
|
-
version:
|
25
15
|
- !ruby/object:Gem::Dependency
|
26
16
|
name: rubigen
|
27
17
|
type: :runtime
|
@@ -40,7 +30,7 @@ dependencies:
|
|
40
30
|
requirements:
|
41
31
|
- - ">="
|
42
32
|
- !ruby/object:Gem::Version
|
43
|
-
version: 1.
|
33
|
+
version: 1.4.1
|
44
34
|
version:
|
45
35
|
- !ruby/object:Gem::Dependency
|
46
36
|
name: hoe
|
@@ -52,7 +42,7 @@ dependencies:
|
|
52
42
|
- !ruby/object:Gem::Version
|
53
43
|
version: 1.8.0
|
54
44
|
version:
|
55
|
-
description:
|
45
|
+
description: "Daemon Kit aims to simplify creating Ruby daemons by providing a sound application skeleton (through a generator), task specific generators (jabber bot, etc) and robust environment management code. Using simple built-in generators it is easy to created evented and non-evented daemons that perform a multitude of different tasks. Supported generators: * Evented and non-evented Jabber Bot (coming next) * Evented and non-evented loops (coming soon) * Queue poller (SQS, AMQP, etc) (coming soon)"
|
56
46
|
email:
|
57
47
|
- kenneth.kalmer@gmail.com
|
58
48
|
executables:
|
@@ -60,15 +50,18 @@ executables:
|
|
60
50
|
extensions: []
|
61
51
|
|
62
52
|
extra_rdoc_files:
|
53
|
+
- Configuration.txt
|
63
54
|
- History.txt
|
64
55
|
- Manifest.txt
|
65
56
|
- PostInstall.txt
|
57
|
+
- README.rdoc
|
66
58
|
- TODO.txt
|
67
59
|
files:
|
60
|
+
- Configuration.txt
|
68
61
|
- History.txt
|
69
62
|
- Manifest.txt
|
70
63
|
- PostInstall.txt
|
71
|
-
- README.
|
64
|
+
- README.rdoc
|
72
65
|
- Rakefile
|
73
66
|
- TODO.txt
|
74
67
|
- app_generators/daemon_kit/USAGE
|
@@ -76,6 +69,7 @@ files:
|
|
76
69
|
- app_generators/daemon_kit/templates/README
|
77
70
|
- app_generators/daemon_kit/templates/Rakefile
|
78
71
|
- app_generators/daemon_kit/templates/bin/daemon.erb
|
72
|
+
- app_generators/daemon_kit/templates/config/arguments.rb
|
79
73
|
- app_generators/daemon_kit/templates/config/boot.rb
|
80
74
|
- app_generators/daemon_kit/templates/config/environment.rb
|
81
75
|
- app_generators/daemon_kit/templates/config/environments/development.rb
|
@@ -85,6 +79,9 @@ files:
|
|
85
79
|
- app_generators/daemon_kit/templates/config/pre-daemonize/readme
|
86
80
|
- app_generators/daemon_kit/templates/lib/daemon.rb
|
87
81
|
- app_generators/daemon_kit/templates/libexec/daemon.erb
|
82
|
+
- app_generators/daemon_kit/templates/script/console
|
83
|
+
- app_generators/daemon_kit/templates/script/destroy
|
84
|
+
- app_generators/daemon_kit/templates/script/generate
|
88
85
|
- bin/daemon_kit
|
89
86
|
- daemon_generators/amqp/USAGE
|
90
87
|
- daemon_generators/amqp/amqp_generator.rb
|
@@ -95,6 +92,13 @@ files:
|
|
95
92
|
- daemon_generators/cron/cron_generator.rb
|
96
93
|
- daemon_generators/cron/templates/config/initializers/cron.rb
|
97
94
|
- daemon_generators/cron/templates/libexec/daemon.rb
|
95
|
+
- daemon_generators/deploy_capistrano/deploy_capistrano_generator.rb
|
96
|
+
- daemon_generators/deploy_capistrano/templates/Capfile
|
97
|
+
- daemon_generators/deploy_capistrano/templates/USAGE
|
98
|
+
- daemon_generators/deploy_capistrano/templates/config/deploy.rb
|
99
|
+
- daemon_generators/deploy_capistrano/templates/config/deploy/production.rb
|
100
|
+
- daemon_generators/deploy_capistrano/templates/config/deploy/staging.rb
|
101
|
+
- daemon_generators/deploy_capistrano/templates/config/environments/staging.rb
|
98
102
|
- daemon_generators/jabber/USAGE
|
99
103
|
- daemon_generators/jabber/jabber_generator.rb
|
100
104
|
- daemon_generators/jabber/templates/config/initializers/jabber.rb
|
@@ -109,8 +113,14 @@ files:
|
|
109
113
|
- lib/daemon_kit.rb
|
110
114
|
- lib/daemon_kit/amqp.rb
|
111
115
|
- lib/daemon_kit/application.rb
|
116
|
+
- lib/daemon_kit/arguments.rb
|
117
|
+
- lib/daemon_kit/commands/console.rb
|
112
118
|
- lib/daemon_kit/config.rb
|
119
|
+
- lib/daemon_kit/console_daemon.rb
|
120
|
+
- lib/daemon_kit/core_ext.rb
|
121
|
+
- lib/daemon_kit/core_ext/string.rb
|
113
122
|
- lib/daemon_kit/cron.rb
|
123
|
+
- lib/daemon_kit/deployment/capistrano.rb
|
114
124
|
- lib/daemon_kit/error_handlers/base.rb
|
115
125
|
- lib/daemon_kit/error_handlers/hoptoad.rb
|
116
126
|
- lib/daemon_kit/error_handlers/mail.rb
|
@@ -118,11 +128,13 @@ files:
|
|
118
128
|
- lib/daemon_kit/jabber.rb
|
119
129
|
- lib/daemon_kit/nanite.rb
|
120
130
|
- lib/daemon_kit/nanite/agent.rb
|
121
|
-
- lib/daemon_kit/
|
131
|
+
- lib/daemon_kit/pid_file.rb
|
122
132
|
- lib/daemon_kit/safety.rb
|
123
133
|
- lib/daemon_kit/tasks.rb
|
124
134
|
- lib/daemon_kit/tasks/environment.rake
|
125
135
|
- lib/daemon_kit/tasks/framework.rake
|
136
|
+
- lib/daemon_kit/tasks/god.rake
|
137
|
+
- lib/daemon_kit/tasks/monit.rake
|
126
138
|
- rubygems_generators/install_rspec/USAGE
|
127
139
|
- rubygems_generators/install_rspec/install_rspec_generator.rb
|
128
140
|
- rubygems_generators/install_rspec/templates/spec.rb
|
@@ -133,31 +145,38 @@ files:
|
|
133
145
|
- script/destroy
|
134
146
|
- script/generate
|
135
147
|
- script/txt2html
|
148
|
+
- spec/argument_spec.rb
|
149
|
+
- spec/config_spec.rb
|
136
150
|
- spec/daemon_kit_spec.rb
|
151
|
+
- spec/fixtures/env.yml
|
152
|
+
- spec/fixtures/noenv.yml
|
137
153
|
- spec/initializer_spec.rb
|
138
154
|
- spec/spec.opts
|
139
155
|
- spec/spec_helper.rb
|
140
156
|
- tasks/rspec.rake
|
157
|
+
- templates/god/god.erb
|
158
|
+
- templates/monit/monit.erb
|
141
159
|
- test/test_amqp_generator.rb
|
142
160
|
- test/test_cron_generator.rb
|
143
161
|
- test/test_daemon-kit_generator.rb
|
144
162
|
- test/test_daemon_kit_config.rb
|
163
|
+
- test/test_deploy_capistrano_generator.rb
|
145
164
|
- test/test_generator_helper.rb
|
146
165
|
- test/test_helper.rb
|
147
166
|
- test/test_jabber_generator.rb
|
148
167
|
- test/test_nanite_agent_generator.rb
|
149
168
|
has_rdoc: true
|
150
|
-
homepage:
|
169
|
+
homepage: http://kit.rubyforge.org/daemon-kit/rdoc/
|
151
170
|
post_install_message: |+
|
152
171
|
|
153
|
-
For more information on daemon-kit, see http://
|
172
|
+
For more information on daemon-kit, see http://kit.rubyforge.org/daemon-kit
|
154
173
|
|
155
174
|
To get started quickly run 'daemon_kit' without any arguments
|
156
175
|
|
157
176
|
|
158
177
|
rdoc_options:
|
159
178
|
- --main
|
160
|
-
- README.
|
179
|
+
- README.rdoc
|
161
180
|
require_paths:
|
162
181
|
- lib
|
163
182
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -174,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
193
|
version:
|
175
194
|
requirements: []
|
176
195
|
|
177
|
-
rubyforge_project:
|
196
|
+
rubyforge_project: kit
|
178
197
|
rubygems_version: 1.2.0
|
179
198
|
signing_key:
|
180
199
|
specification_version: 2
|
@@ -185,6 +204,7 @@ test_files:
|
|
185
204
|
- test/test_cron_generator.rb
|
186
205
|
- test/test_amqp_generator.rb
|
187
206
|
- test/test_nanite_agent_generator.rb
|
188
|
-
- test/test_daemon-kit_generator.rb
|
189
207
|
- test/test_daemon_kit_config.rb
|
190
208
|
- test/test_helper.rb
|
209
|
+
- test/test_deploy_capistrano_generator.rb
|
210
|
+
- test/test_daemon-kit_generator.rb
|