bunnicula 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +2 -2
- data/bunnicula.gemspec +180 -3
- data/lib/bunnicula/version.rb +1 -1
- data/vendor/daemon_kit/daemon-kit/Configuration.txt +110 -0
- data/vendor/daemon_kit/daemon-kit/Deployment.txt +113 -0
- data/vendor/daemon_kit/daemon-kit/History.txt +113 -0
- data/vendor/daemon_kit/daemon-kit/Logging.txt +96 -0
- data/vendor/daemon_kit/daemon-kit/Manifest.txt +172 -0
- data/vendor/daemon_kit/daemon-kit/PostInstall.txt +6 -0
- data/vendor/daemon_kit/daemon-kit/README.rdoc +126 -0
- data/vendor/daemon_kit/daemon-kit/Rakefile +29 -0
- data/vendor/daemon_kit/daemon-kit/RuoteParticipants.txt +113 -0
- data/vendor/daemon_kit/daemon-kit/TODO.txt +28 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/USAGE +7 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/daemon_kit_generator.rb +178 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/README +48 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/Rakefile +6 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/bin/daemon.erb +7 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/arguments.rb +12 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/boot.rb +59 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/environment.rb +23 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/environments/development.rb +2 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/environments/production.rb +5 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/environments/test.rb +2 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/post-daemonize/readme +5 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/pre-daemonize/readme +12 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/lib/daemon.rb +2 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/libexec/daemon.erb +18 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/script/console +3 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/script/destroy +14 -0
- data/vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/script/generate +14 -0
- data/vendor/daemon_kit/daemon-kit/bin/daemon-kit +18 -0
- data/vendor/daemon_kit/daemon-kit/config/website.yml +2 -0
- data/vendor/daemon_kit/daemon-kit/daemon-kit.gemspec +264 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/amqp/USAGE +5 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/amqp/amqp_generator.rb +65 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/amqp/templates/config/amqp.yml +28 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/amqp/templates/config/initializers/amqp.rb +7 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/amqp/templates/libexec/daemon.rb +37 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/cron/USAGE +5 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/cron/cron_generator.rb +64 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/cron/templates/config/initializers/cron.rb +11 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/cron/templates/libexec/daemon.rb +43 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/USAGE +11 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/cucumber_generator.rb +38 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/templates/cucumber +8 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/templates/cucumber.rake +13 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/templates/cucumber_environment.rb +2 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/templates/env.rb +7 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/deploy_capistrano_generator.rb +35 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/Capfile +10 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/USAGE +10 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/config/deploy.rb +53 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/config/deploy/production.rb +6 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/config/deploy/staging.rb +6 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/config/environments/staging.rb +0 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/jabber/USAGE +5 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/jabber/jabber_generator.rb +65 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/jabber/templates/config/initializers/jabber.rb +7 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/jabber/templates/config/jabber.yml +26 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/jabber/templates/libexec/daemon.rb +27 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/USAGE +5 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/nanite_agent_generator.rb +68 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/templates/config/initializers/nanite_agent.rb +6 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/templates/config/nanite.yml +35 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/templates/lib/actors/sample.rb +11 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/templates/libexec/daemon.rb +31 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/rspec/USAGE +5 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/rspec/rspec_generator.rb +55 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/rspec/templates/spec.rb +11 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/rspec/templates/spec/spec.opts +1 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/rspec/templates/spec/spec_helper.rb +23 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/rspec/templates/tasks/rspec.rake +19 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/ruote/USAGE +5 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/ruote/ruote_generator.rb +67 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/config/amqp.yml +30 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/config/initializers/ruote.rb +13 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/config/ruote.yml +23 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/lib/daemon.rb +4 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/lib/sample.rb +26 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/libexec/daemon.rb +33 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/test_unit/USAGE +5 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/test_unit/templates/tasks/test_unit.rake +7 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/test_unit/templates/test/test.rb +9 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/test_unit/templates/test/test_helper.rb +6 -0
- data/vendor/daemon_kit/daemon-kit/daemon_generators/test_unit/test_unit_generator.rb +51 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit.rb +62 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/abstract_logger.rb +241 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/amqp.rb +38 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/application.rb +188 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/arguments.rb +170 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/commands/console.rb +38 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/config.rb +108 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/console_daemon.rb +2 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/core_ext.rb +1 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/core_ext/configurable.rb +96 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/core_ext/string.rb +22 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/cron.rb +48 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/cucumber/world.rb +38 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/deployment/capistrano.rb +482 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/em.rb +43 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/error_handlers/base.rb +32 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/error_handlers/hoptoad.rb +61 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/error_handlers/mail.rb +85 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/exceptions.rb +15 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/initializer.rb +453 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/jabber.rb +170 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/nanite.rb +7 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/nanite/agent.rb +77 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/pid_file.rb +61 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/ruote_participants.rb +119 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/ruote_pseudo_participant.rb +68 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/ruote_workitem.rb +177 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/safety.rb +85 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks.rb +2 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks/environment.rake +10 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks/framework.rake +120 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks/god.rake +62 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks/log.rake +8 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks/monit.rake +29 -0
- data/vendor/daemon_kit/daemon-kit/lib/daemon_kit/xmpp.rb +31 -0
- data/vendor/daemon_kit/daemon-kit/script/console +10 -0
- data/vendor/daemon_kit/daemon-kit/script/destroy +14 -0
- data/vendor/daemon_kit/daemon-kit/script/generate +14 -0
- data/vendor/daemon_kit/daemon-kit/script/txt2html +71 -0
- data/vendor/daemon_kit/daemon-kit/spec/abstract_logger_spec.rb +126 -0
- data/vendor/daemon_kit/daemon-kit/spec/argument_spec.rb +70 -0
- data/vendor/daemon_kit/daemon-kit/spec/config_spec.rb +79 -0
- data/vendor/daemon_kit/daemon-kit/spec/configurable_spec.rb +56 -0
- data/vendor/daemon_kit/daemon-kit/spec/daemon_kit_spec.rb +7 -0
- data/vendor/daemon_kit/daemon-kit/spec/error_handlers_spec.rb +23 -0
- data/vendor/daemon_kit/daemon-kit/spec/fixtures/env.yml +15 -0
- data/vendor/daemon_kit/daemon-kit/spec/fixtures/noenv.yml +4 -0
- data/vendor/daemon_kit/daemon-kit/spec/initializer_spec.rb +26 -0
- data/vendor/daemon_kit/daemon-kit/spec/spec.opts +1 -0
- data/vendor/daemon_kit/daemon-kit/spec/spec_helper.rb +27 -0
- data/vendor/daemon_kit/daemon-kit/tasks/cucumber.rake +13 -0
- data/vendor/daemon_kit/daemon-kit/tasks/rspec.rake +21 -0
- data/vendor/daemon_kit/daemon-kit/tasks/tests.rake +6 -0
- data/vendor/daemon_kit/daemon-kit/templates/god/god.erb +69 -0
- data/vendor/daemon_kit/daemon-kit/templates/monit/monit.erb +14 -0
- data/vendor/daemon_kit/daemon-kit/test/test_amqp_generator.rb +48 -0
- data/vendor/daemon_kit/daemon-kit/test/test_cron_generator.rb +45 -0
- data/vendor/daemon_kit/daemon-kit/test/test_daemon-kit_generator.rb +84 -0
- data/vendor/daemon_kit/daemon-kit/test/test_daemon_kit_config.rb +28 -0
- data/vendor/daemon_kit/daemon-kit/test/test_deploy_capistrano_generator.rb +48 -0
- data/vendor/daemon_kit/daemon-kit/test/test_generator_helper.rb +29 -0
- data/vendor/daemon_kit/daemon-kit/test/test_helper.rb +7 -0
- data/vendor/daemon_kit/daemon-kit/test/test_jabber_generator.rb +49 -0
- data/vendor/daemon_kit/daemon-kit/test/test_nanite_agent_generator.rb +49 -0
- data/vendor/daemon_kit/daemon-kit/test/test_ruote_generator.rb +51 -0
- data/vendor/daemon_kit/daemon-kit/test/test_test_unit_generator.rb +46 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail.rb +5 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/address.rb +426 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/attachments.rb +46 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/base64.rb +46 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/compat.rb +41 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/config.rb +67 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/core_extensions.rb +63 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/encode.rb +581 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/header.rb +960 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/index.rb +9 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/interface.rb +1130 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/loader.rb +3 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/mail.rb +578 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/mailbox.rb +495 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/main.rb +6 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/mbox.rb +3 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/net.rb +248 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/obsolete.rb +132 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/parser.rb +1476 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/port.rb +379 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/quoting.rb +118 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/require_arch.rb +58 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/scanner.rb +49 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/scanner_r.rb +261 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/stringio.rb +280 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/utils.rb +337 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/version.rb +39 -0
- data/vendor/daemon_kit/daemon-kit/vendor/tmail.rb +13 -0
- metadata +181 -4
data/Rakefile
CHANGED
@@ -20,13 +20,13 @@ begin
|
|
20
20
|
s.name = "bunnicula"
|
21
21
|
s.version = Bunnicula::VERSION
|
22
22
|
s.summary = "A very simple relay for moving messages from a local broker to a remote broker"
|
23
|
-
s.description = "
|
23
|
+
s.description = "Bunnicula is a simple AMQP relay implemented as a ruby daemon (a-la daemon-kit). Similar in intent to shovel, Bunnicula is intended to enable the common messaging scenario where services and applications publish messages to an AMQP broker on the local LAN for speed and reliability which are then subsequently relayed to a remote AMQP instance by a relay process which isn�t so irritable as message producers tend to be when it comes to network speed and reliability. Bunnicula can be configured via configuration file (a Ruby DSL) or, for most common configurations, through command line arguments."
|
24
24
|
s.email = "hereiam@sonic.net"
|
25
25
|
s.homepage = "http://github.com/PlasticLizard/bunnicula"
|
26
26
|
s.authors = ["Nathan Stults"]
|
27
27
|
s.has_rdoc = false #=>Should be true, someday
|
28
28
|
s.extra_rdoc_files = ["README.rdoc", "LICENSE.txt"]
|
29
|
-
s.files = FileList["[A-Z]*", "{bin,lib,config,libexec,test}/**/*"]
|
29
|
+
s.files = FileList["[A-Z]*", "{bin,lib,config,vendor,libexec,test}/**/*"]
|
30
30
|
|
31
31
|
s.add_dependency('bunny', '0.6.0')
|
32
32
|
s.add_dependency('amqp', '0.6.7')
|
data/bunnicula.gemspec
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{bunnicula}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Nathan Stults"]
|
12
12
|
s.date = %q{2010-07-12}
|
13
13
|
s.default_executable = %q{bunnicula}
|
14
|
-
s.description = %q{
|
14
|
+
s.description = %q{Bunnicula is a simple AMQP relay implemented as a ruby daemon (a-la daemon-kit). Similar in intent to shovel, Bunnicula is intended to enable the common messaging scenario where services and applications publish messages to an AMQP broker on the local LAN for speed and reliability which are then subsequently relayed to a remote AMQP instance by a relay process which isn�t so irritable as message producers tend to be when it comes to network speed and reliability. Bunnicula can be configured via configuration file (a Ruby DSL) or, for most common configurations, through command line arguments.}
|
15
15
|
s.email = %q{hereiam@sonic.net}
|
16
16
|
s.executables = ["bunnicula"]
|
17
17
|
s.extra_rdoc_files = [
|
@@ -48,7 +48,184 @@ Gem::Specification.new do |s|
|
|
48
48
|
"libexec/bunnicula-daemon.rb",
|
49
49
|
"test/config/Relayfile.rb",
|
50
50
|
"test/lib/bunnicula_test.rb",
|
51
|
-
"test/test_helper.rb"
|
51
|
+
"test/test_helper.rb",
|
52
|
+
"vendor/daemon_kit/daemon-kit/Configuration.txt",
|
53
|
+
"vendor/daemon_kit/daemon-kit/Deployment.txt",
|
54
|
+
"vendor/daemon_kit/daemon-kit/History.txt",
|
55
|
+
"vendor/daemon_kit/daemon-kit/Logging.txt",
|
56
|
+
"vendor/daemon_kit/daemon-kit/Manifest.txt",
|
57
|
+
"vendor/daemon_kit/daemon-kit/PostInstall.txt",
|
58
|
+
"vendor/daemon_kit/daemon-kit/README.rdoc",
|
59
|
+
"vendor/daemon_kit/daemon-kit/Rakefile",
|
60
|
+
"vendor/daemon_kit/daemon-kit/RuoteParticipants.txt",
|
61
|
+
"vendor/daemon_kit/daemon-kit/TODO.txt",
|
62
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/USAGE",
|
63
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/daemon_kit_generator.rb",
|
64
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/README",
|
65
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/Rakefile",
|
66
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/bin/daemon.erb",
|
67
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/arguments.rb",
|
68
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/boot.rb",
|
69
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/environment.rb",
|
70
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/environments/development.rb",
|
71
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/environments/production.rb",
|
72
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/environments/test.rb",
|
73
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/post-daemonize/readme",
|
74
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/config/pre-daemonize/readme",
|
75
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/lib/daemon.rb",
|
76
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/libexec/daemon.erb",
|
77
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/script/console",
|
78
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/script/destroy",
|
79
|
+
"vendor/daemon_kit/daemon-kit/app_generators/daemon_kit/templates/script/generate",
|
80
|
+
"vendor/daemon_kit/daemon-kit/bin/daemon-kit",
|
81
|
+
"vendor/daemon_kit/daemon-kit/config/website.yml",
|
82
|
+
"vendor/daemon_kit/daemon-kit/daemon-kit.gemspec",
|
83
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/amqp/USAGE",
|
84
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/amqp/amqp_generator.rb",
|
85
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/amqp/templates/config/amqp.yml",
|
86
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/amqp/templates/config/initializers/amqp.rb",
|
87
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/amqp/templates/libexec/daemon.rb",
|
88
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/cron/USAGE",
|
89
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/cron/cron_generator.rb",
|
90
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/cron/templates/config/initializers/cron.rb",
|
91
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/cron/templates/libexec/daemon.rb",
|
92
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/USAGE",
|
93
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/cucumber_generator.rb",
|
94
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/templates/cucumber",
|
95
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/templates/cucumber.rake",
|
96
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/templates/cucumber_environment.rb",
|
97
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/cucumber/templates/env.rb",
|
98
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/deploy_capistrano_generator.rb",
|
99
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/Capfile",
|
100
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/USAGE",
|
101
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/config/deploy.rb",
|
102
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/config/deploy/production.rb",
|
103
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/config/deploy/staging.rb",
|
104
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/deploy_capistrano/templates/config/environments/staging.rb",
|
105
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/jabber/USAGE",
|
106
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/jabber/jabber_generator.rb",
|
107
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/jabber/templates/config/initializers/jabber.rb",
|
108
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/jabber/templates/config/jabber.yml",
|
109
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/jabber/templates/libexec/daemon.rb",
|
110
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/USAGE",
|
111
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/nanite_agent_generator.rb",
|
112
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/templates/config/initializers/nanite_agent.rb",
|
113
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/templates/config/nanite.yml",
|
114
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/templates/lib/actors/sample.rb",
|
115
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/nanite_agent/templates/libexec/daemon.rb",
|
116
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/rspec/USAGE",
|
117
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/rspec/rspec_generator.rb",
|
118
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/rspec/templates/spec.rb",
|
119
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/rspec/templates/spec/spec.opts",
|
120
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/rspec/templates/spec/spec_helper.rb",
|
121
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/rspec/templates/tasks/rspec.rake",
|
122
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/ruote/USAGE",
|
123
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/ruote/ruote_generator.rb",
|
124
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/config/amqp.yml",
|
125
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/config/initializers/ruote.rb",
|
126
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/config/ruote.yml",
|
127
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/lib/daemon.rb",
|
128
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/lib/sample.rb",
|
129
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/ruote/templates/libexec/daemon.rb",
|
130
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/test_unit/USAGE",
|
131
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/test_unit/templates/tasks/test_unit.rake",
|
132
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/test_unit/templates/test/test.rb",
|
133
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/test_unit/templates/test/test_helper.rb",
|
134
|
+
"vendor/daemon_kit/daemon-kit/daemon_generators/test_unit/test_unit_generator.rb",
|
135
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit.rb",
|
136
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/abstract_logger.rb",
|
137
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/amqp.rb",
|
138
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/application.rb",
|
139
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/arguments.rb",
|
140
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/commands/console.rb",
|
141
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/config.rb",
|
142
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/console_daemon.rb",
|
143
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/core_ext.rb",
|
144
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/core_ext/configurable.rb",
|
145
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/core_ext/string.rb",
|
146
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/cron.rb",
|
147
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/cucumber/world.rb",
|
148
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/deployment/capistrano.rb",
|
149
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/em.rb",
|
150
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/error_handlers/base.rb",
|
151
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/error_handlers/hoptoad.rb",
|
152
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/error_handlers/mail.rb",
|
153
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/exceptions.rb",
|
154
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/initializer.rb",
|
155
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/jabber.rb",
|
156
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/nanite.rb",
|
157
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/nanite/agent.rb",
|
158
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/pid_file.rb",
|
159
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/ruote_participants.rb",
|
160
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/ruote_pseudo_participant.rb",
|
161
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/ruote_workitem.rb",
|
162
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/safety.rb",
|
163
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks.rb",
|
164
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks/environment.rake",
|
165
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks/framework.rake",
|
166
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks/god.rake",
|
167
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks/log.rake",
|
168
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/tasks/monit.rake",
|
169
|
+
"vendor/daemon_kit/daemon-kit/lib/daemon_kit/xmpp.rb",
|
170
|
+
"vendor/daemon_kit/daemon-kit/script/console",
|
171
|
+
"vendor/daemon_kit/daemon-kit/script/destroy",
|
172
|
+
"vendor/daemon_kit/daemon-kit/script/generate",
|
173
|
+
"vendor/daemon_kit/daemon-kit/script/txt2html",
|
174
|
+
"vendor/daemon_kit/daemon-kit/spec/abstract_logger_spec.rb",
|
175
|
+
"vendor/daemon_kit/daemon-kit/spec/argument_spec.rb",
|
176
|
+
"vendor/daemon_kit/daemon-kit/spec/config_spec.rb",
|
177
|
+
"vendor/daemon_kit/daemon-kit/spec/configurable_spec.rb",
|
178
|
+
"vendor/daemon_kit/daemon-kit/spec/daemon_kit_spec.rb",
|
179
|
+
"vendor/daemon_kit/daemon-kit/spec/error_handlers_spec.rb",
|
180
|
+
"vendor/daemon_kit/daemon-kit/spec/fixtures/env.yml",
|
181
|
+
"vendor/daemon_kit/daemon-kit/spec/fixtures/noenv.yml",
|
182
|
+
"vendor/daemon_kit/daemon-kit/spec/initializer_spec.rb",
|
183
|
+
"vendor/daemon_kit/daemon-kit/spec/spec.opts",
|
184
|
+
"vendor/daemon_kit/daemon-kit/spec/spec_helper.rb",
|
185
|
+
"vendor/daemon_kit/daemon-kit/tasks/cucumber.rake",
|
186
|
+
"vendor/daemon_kit/daemon-kit/tasks/rspec.rake",
|
187
|
+
"vendor/daemon_kit/daemon-kit/tasks/tests.rake",
|
188
|
+
"vendor/daemon_kit/daemon-kit/templates/god/god.erb",
|
189
|
+
"vendor/daemon_kit/daemon-kit/templates/monit/monit.erb",
|
190
|
+
"vendor/daemon_kit/daemon-kit/test/test_amqp_generator.rb",
|
191
|
+
"vendor/daemon_kit/daemon-kit/test/test_cron_generator.rb",
|
192
|
+
"vendor/daemon_kit/daemon-kit/test/test_daemon-kit_generator.rb",
|
193
|
+
"vendor/daemon_kit/daemon-kit/test/test_daemon_kit_config.rb",
|
194
|
+
"vendor/daemon_kit/daemon-kit/test/test_deploy_capistrano_generator.rb",
|
195
|
+
"vendor/daemon_kit/daemon-kit/test/test_generator_helper.rb",
|
196
|
+
"vendor/daemon_kit/daemon-kit/test/test_helper.rb",
|
197
|
+
"vendor/daemon_kit/daemon-kit/test/test_jabber_generator.rb",
|
198
|
+
"vendor/daemon_kit/daemon-kit/test/test_nanite_agent_generator.rb",
|
199
|
+
"vendor/daemon_kit/daemon-kit/test/test_ruote_generator.rb",
|
200
|
+
"vendor/daemon_kit/daemon-kit/test/test_test_unit_generator.rb",
|
201
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail.rb",
|
202
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/address.rb",
|
203
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/attachments.rb",
|
204
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/base64.rb",
|
205
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/compat.rb",
|
206
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/config.rb",
|
207
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/core_extensions.rb",
|
208
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/encode.rb",
|
209
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/header.rb",
|
210
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/index.rb",
|
211
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/interface.rb",
|
212
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/loader.rb",
|
213
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/mail.rb",
|
214
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/mailbox.rb",
|
215
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/main.rb",
|
216
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/mbox.rb",
|
217
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/net.rb",
|
218
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/obsolete.rb",
|
219
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/parser.rb",
|
220
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/port.rb",
|
221
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/quoting.rb",
|
222
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/require_arch.rb",
|
223
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/scanner.rb",
|
224
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/scanner_r.rb",
|
225
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/stringio.rb",
|
226
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/utils.rb",
|
227
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail-1.2.3/tmail/version.rb",
|
228
|
+
"vendor/daemon_kit/daemon-kit/vendor/tmail.rb"
|
52
229
|
]
|
53
230
|
s.homepage = %q{http://github.com/PlasticLizard/bunnicula}
|
54
231
|
s.rdoc_options = ["--charset=UTF-8"]
|
data/lib/bunnicula/version.rb
CHANGED
@@ -0,0 +1,110 @@
|
|
1
|
+
= Configuring your daemon
|
2
|
+
|
3
|
+
daemon-kit provides a multitude of ways to configure your daemon, this document
|
4
|
+
will outline the different options available to you.
|
5
|
+
|
6
|
+
== Configuration files and #DaemonKit::Config
|
7
|
+
|
8
|
+
#DaemonKit::Config gives you easy access to any YAML configuration
|
9
|
+
files you have in your <em>config</em> directory.
|
10
|
+
|
11
|
+
You can access the configuration files like this:
|
12
|
+
|
13
|
+
config = DaemonKit::Config.load('sample')
|
14
|
+
|
15
|
+
The above snippet relies on the presence of a <em>config/sample.yml</em> file.
|
16
|
+
|
17
|
+
#DaemonKit::Config is environment aware, so configuration files are
|
18
|
+
parsed for a top-level key that is the same as the value of
|
19
|
+
<em>DAEMON_ENV</em>, and if present is loaded into the object as the
|
20
|
+
configuration data. If the key is not present, the whole YAML
|
21
|
+
document is exposed as configuration data.
|
22
|
+
|
23
|
+
== Command line arguments
|
24
|
+
|
25
|
+
The most flexible way to configure your daemon is through command line
|
26
|
+
arguments, or switches.
|
27
|
+
|
28
|
+
DaemonKit includes a couple of its own arguments that can be used:
|
29
|
+
|
30
|
+
-e ENV (or --env ENV) to set the daemon environment
|
31
|
+
--pid /path/to/pidfile to set the path to a pidfile
|
32
|
+
-l path (or --log path) to set the path for the log file
|
33
|
+
-v shows the DaemonKit version
|
34
|
+
-h shows a useful help message
|
35
|
+
|
36
|
+
=== Custom arguments
|
37
|
+
|
38
|
+
It is possible for you to specify your own arguments as well, by
|
39
|
+
updating the <em>config/arguments.rb</em> file. This file is eval'd
|
40
|
+
inside #DaemonKit::Arguments and gives you access to the following two
|
41
|
+
variables:
|
42
|
+
|
43
|
+
* opts - Instance of OptionParser[http://www.ruby-doc.org/stdlib/libdoc/optparse/rdoc/classes/OptionParser.html]
|
44
|
+
* @options - A standard Ruby hash that you can populate and access later
|
45
|
+
|
46
|
+
Your custom arguments can be accessed like this:
|
47
|
+
|
48
|
+
DaemonKit.arguments.options
|
49
|
+
|
50
|
+
=== Advanced Configuration
|
51
|
+
|
52
|
+
All the writable attributes of the default #DaemonKit::Configuration
|
53
|
+
instance call also be modified from the command line using the special
|
54
|
+
<em>--config</em> arguments:
|
55
|
+
|
56
|
+
--config force_kill_wait=30
|
57
|
+
|
58
|
+
This happens after <em>config/environment.rb</em> is processed, so all
|
59
|
+
command line arguments will overwrite those values.
|
60
|
+
|
61
|
+
=== Daemon umask
|
62
|
+
|
63
|
+
By default daemon processes run with a umask of 022, but this can be changed
|
64
|
+
on the command line or in +config/environment.rb+.
|
65
|
+
|
66
|
+
To set a more restrictive umask via command line arguments, you can start your
|
67
|
+
daemon like this:
|
68
|
+
|
69
|
+
$ ./bin/daemon start --config umask=0077
|
70
|
+
|
71
|
+
Or the same in +config/environment.rb+
|
72
|
+
|
73
|
+
DaemonKit::Initializer.run do |config|
|
74
|
+
# ...
|
75
|
+
|
76
|
+
# restrictive umask
|
77
|
+
config.umask = 0077
|
78
|
+
|
79
|
+
# ...
|
80
|
+
end
|
81
|
+
|
82
|
+
=== Privilege Separation
|
83
|
+
|
84
|
+
By default daemon processes run as the user that starts them, inheriting all
|
85
|
+
their privileges (or lack thereof). Getting daemon-kit to drop privileges
|
86
|
+
can currently only be done using command-line parameters, and only works
|
87
|
+
reliable on *nix (OSX seemed cranky at the time of testing).
|
88
|
+
|
89
|
+
$ ./bin/daemon start --config user=nobody --config group=nobody
|
90
|
+
|
91
|
+
Privileges are dropped at the earliest possible phase of starting the daemon.
|
92
|
+
|
93
|
+
Things to note on privilege separation:
|
94
|
+
|
95
|
+
* You generally have to be root to be able to perform this
|
96
|
+
* File system permissions for +log/+ needs to be correct
|
97
|
+
* Daemon-kit will only shed privileges on the +start+ command, not on +run+
|
98
|
+
* Make sure your code is secure if accepting stuff from the outside world
|
99
|
+
* The daemon will continue to run if it failed, this is because the feature is experimental and could change in the future.
|
100
|
+
* The damon logs the reduced privileges in the log file shortly after booting, please check it carefully
|
101
|
+
|
102
|
+
The implementation stems from the advice given by Joe Damato on his blog post
|
103
|
+
http://timetobleed.com/tag/privilege-escalation/
|
104
|
+
|
105
|
+
IMPORTANT NOTE FOR OSX USERS:
|
106
|
+
|
107
|
+
Testing on my iBook with OSX 10.5.8 using Ruby 1.8.6-p287 failed to drop
|
108
|
+
privileges correctly because of the 'nobody' user's UID being too large
|
109
|
+
(Bignum), however testing with Ruby 1.9.1-p129 on OSX 10.5.8 did work as
|
110
|
+
expected.
|
@@ -0,0 +1,113 @@
|
|
1
|
+
= Deploying your daemons
|
2
|
+
|
3
|
+
daemon-kit provides built-in support for
|
4
|
+
Capistrano[http://www.capify.org] deployments, using a customized
|
5
|
+
version of the standard 'deploy' recipe for Ruby on Rails
|
6
|
+
applications.
|
7
|
+
|
8
|
+
User of Vlad[http://hitsquad.rubyforge.org/vlad/]? Get in touch so we
|
9
|
+
can discuss your contribution to daemon-kit ;)
|
10
|
+
|
11
|
+
== Generating capistrano configurations
|
12
|
+
|
13
|
+
When generating a new daemon, you can pass the <em>-d capistrano</em>
|
14
|
+
argument to the <em>daemon_kit</em> command. In case you already have
|
15
|
+
a generated daemon, run the following command inside your project:
|
16
|
+
|
17
|
+
$ ruby script/generate deploy_capistrano
|
18
|
+
|
19
|
+
== Overview of generated configurations
|
20
|
+
|
21
|
+
The generator creates the following files worth noticing:
|
22
|
+
|
23
|
+
config/deploy.rb
|
24
|
+
config/deploy/*.rb
|
25
|
+
|
26
|
+
The generator also creates a new environment for you, a
|
27
|
+
<em>staging</em> environment. Useful for testing your deployments
|
28
|
+
before taking anything into production.
|
29
|
+
|
30
|
+
== Configuring capistrano
|
31
|
+
|
32
|
+
For each environment (staging & production) you only need to specify
|
33
|
+
the target hosts in <em>config/deploy/(staging|production).rb</em>.
|
34
|
+
|
35
|
+
Each of the stub files have example configuration values you can just
|
36
|
+
edit.
|
37
|
+
|
38
|
+
The rest of your configuration generally occurs in
|
39
|
+
<em>config/deploy.rb</em>.
|
40
|
+
|
41
|
+
Everything works exactly like standard capistrano, with the exception
|
42
|
+
of the following directives:
|
43
|
+
|
44
|
+
* :config_files
|
45
|
+
* :shared_children
|
46
|
+
|
47
|
+
=== :config_files
|
48
|
+
|
49
|
+
Since the daemon configuration files will almost always differ between
|
50
|
+
your development environment and your staging/production environment,
|
51
|
+
the deployment recipe makes adequate provision for this.
|
52
|
+
|
53
|
+
Use the :config_files directive to set an array of file names from the
|
54
|
+
<em>config</em> directory that you want replaced with production
|
55
|
+
configuration files found on the server:
|
56
|
+
|
57
|
+
set :config_files, %w{ amqp.yaml }
|
58
|
+
|
59
|
+
On your target server, in the <em>:deploy_to</em> folder, create a
|
60
|
+
<em>config</em> directory and place your configuration files in
|
61
|
+
there. One each deploy, capistrano will rename the files in your
|
62
|
+
deployed configuration directory with a <em>.orig</em> extension, and copy
|
63
|
+
the files from <em>:deploy_to/config</em> into the newly deployed
|
64
|
+
release.
|
65
|
+
|
66
|
+
This makes it easy to keep production configurations out of your
|
67
|
+
working directories or version control systems.
|
68
|
+
|
69
|
+
=== :shared_children
|
70
|
+
|
71
|
+
The original capistrano recipe that daemon-kit's recipe is built from
|
72
|
+
provided support for tracking shared directories between
|
73
|
+
deployments. This works by removing the deployed directory, and
|
74
|
+
creating a symlink from <em>:deploy_to/shared/</em> into the correct
|
75
|
+
location within the deployed release.
|
76
|
+
|
77
|
+
You specify your list of directories with the
|
78
|
+
<em>:shared_children</em>, each being relative to the DAEMON_ROOT.
|
79
|
+
|
80
|
+
set :shared_children, %w{ log }
|
81
|
+
|
82
|
+
The daemon-kit deployment recipe makes no assumptions on shared
|
83
|
+
directories, and gives you full control. The default only includes the
|
84
|
+
log directory, which you can remove if you want separate log
|
85
|
+
directories for each deployed release.
|
86
|
+
|
87
|
+
== Remote dependencies
|
88
|
+
|
89
|
+
By default, the deployment configuration file is configured to check
|
90
|
+
the remote dependencies before updating the code on the target
|
91
|
+
host. You can disable this behaviour by commenting out the following
|
92
|
+
line:
|
93
|
+
|
94
|
+
before "deploy:update_code", "deploy:check"
|
95
|
+
|
96
|
+
The only default remote dependency is the daemon-kit gem, and it will
|
97
|
+
check for the same version you currently have installed (or a later
|
98
|
+
one).
|
99
|
+
|
100
|
+
== More capistrano resources
|
101
|
+
|
102
|
+
To see a list of available commands, please run the following command
|
103
|
+
in the root of your project:
|
104
|
+
|
105
|
+
$ cap -vT
|
106
|
+
|
107
|
+
For more information on capistrano, please refer to the following list
|
108
|
+
of online resources:
|
109
|
+
|
110
|
+
* Capistrano Website[http://www.capify.org]
|
111
|
+
* Capistrano Wiki[http://wiki.capify.org]
|
112
|
+
* Capistrano Group[http://groups.google.com/group/capistrano]
|
113
|
+
* #capistrano on Freenode
|
@@ -0,0 +1,113 @@
|
|
1
|
+
== 0.1.7.12 2009-12-04
|
2
|
+
|
3
|
+
* Bug fix, don't load environment files twice [grockit]
|
4
|
+
|
5
|
+
== 0.1.7.11 2009-11-30
|
6
|
+
|
7
|
+
* Renamed 'daemon_kit' executable to 'daemon-kit'
|
8
|
+
* Fixed some broken links in README.rdoc
|
9
|
+
* Sneaked in << on AbstractLogger for better Logger compatibility
|
10
|
+
* Support for Test::Unit in generated projects [skaar]
|
11
|
+
* Fixed missing DAEMON_ENV for test helpers
|
12
|
+
* Fixes for nanite configuration [skaar]
|
13
|
+
* Toughened up the ruote workitem parser
|
14
|
+
* Fixed issue with nanite services not being advertised correctly [Wijnand]
|
15
|
+
* Fixed some woes with rake if rspec gem is missing
|
16
|
+
|
17
|
+
== 0.1.7.10 2009-08-12
|
18
|
+
|
19
|
+
* Ruote remote participants
|
20
|
+
* Allow process umask to be configured, defaults to 022
|
21
|
+
* Updates to DaemonKit::Config hashes
|
22
|
+
* Fixed argument parsing bug (reported by Mathijs Kwik (bluescreen303)
|
23
|
+
* Support for privilege separation (See Configuration.txt)
|
24
|
+
|
25
|
+
== 0.1.7.9 2009-06-22
|
26
|
+
|
27
|
+
* Backtraces only logged on unclean shutdown
|
28
|
+
* AMQP generator got new keep alive code
|
29
|
+
|
30
|
+
== 0.1.7.8 2009-06-22
|
31
|
+
|
32
|
+
* Optional logging of all exceptions when the daemon process dies
|
33
|
+
unexpectedly
|
34
|
+
* Update generated environment.rb to reflect new backtraces option
|
35
|
+
|
36
|
+
== 0.1.7.7 2009-06-22
|
37
|
+
|
38
|
+
* Fixed compatibility with rufus-scheduler-2.0.0 (or newer) in cron
|
39
|
+
generator
|
40
|
+
* Started central eventmachine reactor management code
|
41
|
+
* Now depends on eventmachine
|
42
|
+
|
43
|
+
== 0.1.7.6 (Not released)
|
44
|
+
|
45
|
+
* Support for cucumber
|
46
|
+
* Fixed issue in daemon_kit:upgrade task
|
47
|
+
* Moved rspec generator into new home
|
48
|
+
* Removed conflicting rubigen generator, messed with our script directory
|
49
|
+
* Fixed bug where environment.rb overwrites some --config values (reported by Josh Owens)
|
50
|
+
|
51
|
+
== 0.1.7.5 2009-06-08
|
52
|
+
|
53
|
+
* New AbstractLogger
|
54
|
+
** Default Logger backend
|
55
|
+
** SysLogLogger support
|
56
|
+
* More documentation
|
57
|
+
|
58
|
+
== 0.1.7.4 2009-06-05
|
59
|
+
|
60
|
+
* Fixed bug with control script generator (thanks Sho Fukamachi)
|
61
|
+
* Enhanced deploy.rb template to check for current dk gem verion,
|
62
|
+
unless vendored
|
63
|
+
* Fix bug in capistrano recipe for restarting daemons
|
64
|
+
* Added log:truncate rake task
|
65
|
+
* Error mails now handled by TMail
|
66
|
+
|
67
|
+
== 0.1.7.3 2009-05-31
|
68
|
+
|
69
|
+
* Removed dependency on daemons gem, now handled in house
|
70
|
+
* New argument management
|
71
|
+
* Some more docs
|
72
|
+
|
73
|
+
== 0.1.7.1 2009-05-28
|
74
|
+
|
75
|
+
* Fixed some minor issue with Capistrano support
|
76
|
+
* Added support for generating dog/monit configuration files via rake
|
77
|
+
* Initial implementation of ./script/* utilities
|
78
|
+
|
79
|
+
== 0.1.7 2009-05-26
|
80
|
+
|
81
|
+
* Capistrano deployment support
|
82
|
+
|
83
|
+
== 0.1.6 2009-05-13
|
84
|
+
|
85
|
+
* DaemonKit::Safety class to handle the trapping and logging of
|
86
|
+
exceptions, as well as email notifications or Hoptoad notifications.
|
87
|
+
* New config/pre-daemonize and config/post-daemonize structure
|
88
|
+
* New tasks to simplify upgrading daemon-kit projects
|
89
|
+
* Fixed some other annoyances and bugs
|
90
|
+
* Bigger TODO list
|
91
|
+
|
92
|
+
== 0.1.5 2009-05-07
|
93
|
+
|
94
|
+
* DaemonKit::Config class to easy the use of YAML configs internally,
|
95
|
+
and in generated daemons
|
96
|
+
|
97
|
+
== 0.1.2 2009-04-28
|
98
|
+
|
99
|
+
* Added missing rubigen dependency
|
100
|
+
|
101
|
+
== 0.1.1 2009-04-27
|
102
|
+
|
103
|
+
* AMQP consumer generator added
|
104
|
+
* 'cron' style generator added
|
105
|
+
* Allow configuring dir_mode and dir (pid file location) (Jim Lindley)
|
106
|
+
|
107
|
+
== 0.1.0 2009-01-08
|
108
|
+
|
109
|
+
* Ability to freeze the gem/edge copies of DaemonKit
|
110
|
+
* Simple non-evented Jabber generator
|
111
|
+
* Flexible UNIX signal trapping configuration
|
112
|
+
* Basic generator completed
|
113
|
+
* 1 small step for man, 1 giant leap for mankind
|