kennethkalmer-daemon-kit 0.1.6 → 0.1.7.3
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.
- 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
|