runit-man 2.3.18 → 2.3.19
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/.gitignore +1 -0
- data/.gitmodules +3 -0
- data/CHANGELOG.markdown +9 -0
- data/Vagrantfile +45 -0
- data/cookbooks/provisioning/metadata.rb +8 -0
- data/cookbooks/provisioning/recipes/default.rb +15 -0
- data/cookbooks/provisioning/templates/default/sv-runit-man-log-run.erb +5 -0
- data/cookbooks/provisioning/templates/default/sv-runit-man-run.erb +5 -0
- data/lib/runit-man/app.rb +25 -27
- data/lib/runit-man/config.ru +8 -8
- data/lib/runit-man/helpers.rb +1 -1
- data/lib/runit-man/runner.rb +20 -20
- data/lib/runit-man/service_info/base.rb +8 -8
- data/lib/runit-man/version.rb +2 -2
- data/runit-man.gemspec +1 -1
- data/spec/functional/runit-man_spec.rb +7 -3
- data/spec/spec_helper.rb +4 -2
- metadata +143 -194
data/.gitignore
CHANGED
data/.gitmodules
ADDED
data/CHANGELOG.markdown
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
## Changes
|
2
2
|
|
3
|
+
### Version 2.3.19
|
4
|
+
|
5
|
+
* Running using <tt>bundle exec</tt> is fixed.
|
6
|
+
* Initial staging environment added using [http://vagrantup.com/](Vagrant "Vagrant").
|
7
|
+
|
8
|
+
### Version 2.3.18
|
9
|
+
|
10
|
+
* Bugfixes of log downloads page.
|
11
|
+
|
3
12
|
### Version 2.3.15
|
4
13
|
|
5
14
|
* Minor stylistic update.
|
data/Vagrantfile
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# -*- mode: ruby -*-
|
2
|
+
# vi: set ft=ruby :
|
3
|
+
|
4
|
+
Vagrant::Config.run do |config|
|
5
|
+
# All Vagrant configuration is done here. The most common configuration
|
6
|
+
# options are documented and commented below. For a complete reference,
|
7
|
+
# please see the online documentation at vagrantup.com.
|
8
|
+
|
9
|
+
# Every Vagrant virtual environment requires a box to build off of.
|
10
|
+
config.vm.box = "lucid32"
|
11
|
+
|
12
|
+
# The url from where the 'config.vm.box' box will be fetched if it
|
13
|
+
# doesn't already exist on the user's system.
|
14
|
+
config.vm.box_url = "http://files.vagrantup.com/lucid32.box"
|
15
|
+
|
16
|
+
# Assign this VM to a host-only network IP, allowing you to access it
|
17
|
+
# via the IP. Host-only networks can talk to the host machine as well as
|
18
|
+
# any other machines on the same network, but cannot be accessed (through this
|
19
|
+
# network interface) by any external networks.
|
20
|
+
# config.vm.network :hostonly, "192.168.33.10"
|
21
|
+
|
22
|
+
# Assign this VM to a bridged network, allowing you to connect directly to a
|
23
|
+
# network using the host's network device. This makes the VM appear as another
|
24
|
+
# physical device on your network.
|
25
|
+
# config.vm.network :bridged
|
26
|
+
|
27
|
+
# Forward a port from the guest to the host, which allows for outside
|
28
|
+
# computers to access the VM, whereas host only networking does not.
|
29
|
+
config.vm.forward_port 14500, 14500
|
30
|
+
|
31
|
+
# Share an additional folder to the guest VM. The first argument is
|
32
|
+
# an identifier, the second is the path on the guest to mount the
|
33
|
+
# folder, and the third is the path on the host to the actual folder.
|
34
|
+
# config.vm.share_folder "v-data", "runit-man-repo", "repo"
|
35
|
+
|
36
|
+
# Enable provisioning with chef solo, specifying a cookbooks path (relative
|
37
|
+
# to this Vagrantfile), and adding some recipes and/or roles.
|
38
|
+
#
|
39
|
+
config.vm.provision :chef_solo do |chef|
|
40
|
+
chef.cookbooks_path = "cookbooks"
|
41
|
+
chef.add_recipe "provisioning"
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
package "git-core"
|
2
|
+
|
3
|
+
gem_package "bundler"
|
4
|
+
|
5
|
+
git "/home/runit-man" do
|
6
|
+
repository "git://github.com/Undev/runit-man.git"
|
7
|
+
enable_submodules true
|
8
|
+
end
|
9
|
+
|
10
|
+
bash "bundle" do
|
11
|
+
code "cd /home/runit-man && bundle install --without development"
|
12
|
+
end
|
13
|
+
|
14
|
+
runit_service "runit-man"
|
15
|
+
|
data/lib/runit-man/app.rb
CHANGED
@@ -7,13 +7,14 @@ require 'i18n'
|
|
7
7
|
require 'sinatra/base'
|
8
8
|
require 'file/tail'
|
9
9
|
require 'runit-man/helpers'
|
10
|
+
require 'runit-man/version'
|
10
11
|
|
11
12
|
if RUBY_VERSION >= '1.9'
|
12
13
|
Encoding.default_external = "utf-8"
|
13
14
|
Encoding.default_internal = "utf-8"
|
14
15
|
end
|
15
16
|
|
16
|
-
class RunitMan < Sinatra::Base
|
17
|
+
class RunitMan::App < Sinatra::Base
|
17
18
|
MIN_TAIL = 100
|
18
19
|
MAX_TAIL = 10000
|
19
20
|
GEM_FOLDER = File.expand_path(File.join('..', '..'), File.dirname(__FILE__)).freeze
|
@@ -62,20 +63,20 @@ class RunitMan < Sinatra::Base
|
|
62
63
|
end
|
63
64
|
|
64
65
|
configure do
|
65
|
-
RunitMan.setup_i18n_files
|
66
|
+
RunitMan::App.setup_i18n_files
|
66
67
|
haml_options = { :ugly => true }
|
67
68
|
haml_options[:encoding] = 'utf-8' if defined?(Encoding)
|
68
69
|
set :haml, haml_options
|
69
70
|
end
|
70
71
|
|
71
72
|
before do
|
72
|
-
case RunitMan.runit_logger
|
73
|
-
when RunitMan::DEFAULT_LOGGER;
|
73
|
+
case RunitMan::App.runit_logger
|
74
|
+
when RunitMan::App::DEFAULT_LOGGER;
|
74
75
|
ServiceInfo.klass = ServiceInfo::Svlogd
|
75
76
|
else
|
76
77
|
ServiceInfo.klass = ServiceInfo::Logger
|
77
78
|
end
|
78
|
-
@read_write_mode = RunitMan.read_write_mode
|
79
|
+
@read_write_mode = RunitMan::App.read_write_mode
|
79
80
|
@scripts = []
|
80
81
|
base_content_type = CONTENT_TYPES.keys.detect do |t|
|
81
82
|
request.env['REQUEST_URI'] =~ /\.#{Regexp.escape(t.to_s)}$/
|
@@ -88,7 +89,6 @@ class RunitMan < Sinatra::Base
|
|
88
89
|
parse_language(request.env['HTTP_ACCEPT_LANGUAGE'])
|
89
90
|
end
|
90
91
|
|
91
|
-
|
92
92
|
def setup_i18n(locales)
|
93
93
|
locales.each do |locale|
|
94
94
|
if I18n.available_locales.include?(locale)
|
@@ -272,20 +272,20 @@ class RunitMan < Sinatra::Base
|
|
272
272
|
|
273
273
|
class << self
|
274
274
|
def exec_rackup(command)
|
275
|
-
ENV['RUNIT_ALL_SERVICES_DIR'] = RunitMan.all_services_directory
|
276
|
-
ENV['RUNIT_ACTIVE_SERVICES_DIR'] = RunitMan.active_services_directory
|
277
|
-
ENV['RUNIT_LOGGER'] = RunitMan.runit_logger
|
278
|
-
ENV['RUNIT_MAN_VIEW_FILES'] = RunitMan.files_to_view.join(',')
|
279
|
-
ENV['RUNIT_MAN_CREDENTIALS'] = RunitMan.allowed_users.keys.map { |user| "#{user}:#{RunitMan.allowed_users[user]}" }.join(',')
|
280
|
-
ENV['RUNIT_MAN_READWRITE_MODE'] = RunitMan.read_write_mode.to_s
|
275
|
+
ENV['RUNIT_ALL_SERVICES_DIR'] = RunitMan::App.all_services_directory
|
276
|
+
ENV['RUNIT_ACTIVE_SERVICES_DIR'] = RunitMan::App.active_services_directory
|
277
|
+
ENV['RUNIT_LOGGER'] = RunitMan::App.runit_logger
|
278
|
+
ENV['RUNIT_MAN_VIEW_FILES'] = RunitMan::App.files_to_view.join(',')
|
279
|
+
ENV['RUNIT_MAN_CREDENTIALS'] = RunitMan::App.allowed_users.keys.map { |user| "#{user}:#{RunitMan.allowed_users[user]}" }.join(',')
|
280
|
+
ENV['RUNIT_MAN_READWRITE_MODE'] = RunitMan::App.read_write_mode.to_s
|
281
281
|
|
282
282
|
Dir.chdir(File.dirname(__FILE__))
|
283
283
|
exec(command)
|
284
284
|
end
|
285
285
|
|
286
286
|
def register_as_runit_service
|
287
|
-
all_r_dir = File.join(RunitMan.all_services_directory, 'runit-man')
|
288
|
-
active_r_dir = File.join(RunitMan.active_services_directory, 'runit-man')
|
287
|
+
all_r_dir = File.join(RunitMan::App.all_services_directory, 'runit-man')
|
288
|
+
active_r_dir = File.join(RunitMan::App.active_services_directory, 'runit-man')
|
289
289
|
my_dir = File.join(GEM_FOLDER, 'sv')
|
290
290
|
log_dir = File.join(all_r_dir, 'log')
|
291
291
|
if File.symlink?(all_r_dir)
|
@@ -330,16 +330,16 @@ class RunitMan < Sinatra::Base
|
|
330
330
|
require 'erb'
|
331
331
|
script_name = File.join(dir, 'run')
|
332
332
|
template_name = File.join(GEM_FOLDER, 'sv', 'run.erb')
|
333
|
-
all_services_directory = RunitMan.all_services_directory
|
334
|
-
active_services_directory = RunitMan.active_services_directory
|
335
|
-
port = RunitMan.port
|
336
|
-
bind = RunitMan.
|
337
|
-
server = RunitMan.server
|
338
|
-
files_to_view = RunitMan.files_to_view
|
339
|
-
logger = RunitMan.runit_logger
|
340
|
-
auth = RunitMan.allowed_users
|
341
|
-
rackup_command_line = RunitMan.rackup_command_line
|
342
|
-
read_write_mode = RunitMan.read_write_mode.to_s
|
333
|
+
all_services_directory = RunitMan::App.all_services_directory
|
334
|
+
active_services_directory = RunitMan::App.active_services_directory
|
335
|
+
port = RunitMan::App.port
|
336
|
+
bind = RunitMan::App.bind
|
337
|
+
server = RunitMan::App.server
|
338
|
+
files_to_view = RunitMan::App.files_to_view
|
339
|
+
logger = RunitMan::App.runit_logger
|
340
|
+
auth = RunitMan::App.allowed_users
|
341
|
+
rackup_command_line = RunitMan::App.rackup_command_line
|
342
|
+
read_write_mode = RunitMan::App.read_write_mode.to_s
|
343
343
|
File.open(script_name, 'w') do |script_source|
|
344
344
|
script_source.print ERB.new(IO.read(template_name)).result(binding())
|
345
345
|
end
|
@@ -350,7 +350,7 @@ class RunitMan < Sinatra::Base
|
|
350
350
|
require 'erb'
|
351
351
|
script_name = File.join(dir, 'log', 'run')
|
352
352
|
template_name = File.join(GEM_FOLDER, 'sv', 'log', 'run.erb')
|
353
|
-
logger = RunitMan.runit_logger
|
353
|
+
logger = RunitMan::App.runit_logger
|
354
354
|
File.open(script_name, 'w') do |script_source|
|
355
355
|
script_source.print ERB.new(IO.read(template_name)).result(binding())
|
356
356
|
end
|
@@ -359,5 +359,3 @@ class RunitMan < Sinatra::Base
|
|
359
359
|
end
|
360
360
|
end
|
361
361
|
|
362
|
-
require 'runit-man/version'
|
363
|
-
|
data/lib/runit-man/config.ru
CHANGED
@@ -2,24 +2,24 @@ $LOAD_PATH.unshift File.expand_path('..', File.dirname(__FILE__))
|
|
2
2
|
|
3
3
|
require 'runit-man/app'
|
4
4
|
|
5
|
-
RunitMan.set :active_services_directory, ENV['RUNIT_ACTIVE_SERVICES_DIR'] || RunitMan::DEFAULT_ACTIVE_SERVICES_DIR
|
6
|
-
RunitMan.set :all_services_directory, ENV['RUNIT_ALL_SERVICES_DIR'] || RunitMan::DEFAULT_ALL_SERVICES_DIR
|
7
|
-
RunitMan.set :runit_logger, ENV['RUNIT_LOGGER'] || RunitMan::DEFAULT_LOGGER
|
8
|
-
RunitMan.set :read_write_mode, (ENV['RUNIT_READWRITE_MODE'] || 'rw').to_sym
|
5
|
+
RunitMan::App.set :active_services_directory, ENV['RUNIT_ACTIVE_SERVICES_DIR'] || RunitMan::App::DEFAULT_ACTIVE_SERVICES_DIR
|
6
|
+
RunitMan::App.set :all_services_directory, ENV['RUNIT_ALL_SERVICES_DIR'] || RunitMan::App::DEFAULT_ALL_SERVICES_DIR
|
7
|
+
RunitMan::App.set :runit_logger, ENV['RUNIT_LOGGER'] || RunitMan::App::DEFAULT_LOGGER
|
8
|
+
RunitMan::App.set :read_write_mode, (ENV['RUNIT_READWRITE_MODE'] || 'rw').to_sym
|
9
9
|
|
10
10
|
if ENV['RUNIT_MAN_VIEW_FILES']
|
11
11
|
ENV['RUNIT_MAN_VIEW_FILES'].split(/\s*\,\s*/).each do |floc|
|
12
|
-
RunitMan.enable_view_of(floc)
|
12
|
+
RunitMan::App.enable_view_of(floc)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
if ENV['RUNIT_MAN_CREDENTIALS']
|
17
17
|
ENV['RUNIT_MAN_CREDENTIALS'].split(/\s*\,\s*/).each do |cred|
|
18
|
-
RunitMan.add_user(*(cred.split(':', 2)))
|
18
|
+
RunitMan::App.add_user(*(cred.split(':', 2)))
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
RunitMan.prepare_to_run
|
22
|
+
RunitMan::App.prepare_to_run
|
23
23
|
|
24
|
-
run RunitMan
|
24
|
+
run RunitMan::App
|
25
25
|
|
data/lib/runit-man/helpers.rb
CHANGED
data/lib/runit-man/runner.rb
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
require 'optparse'
|
2
2
|
require 'runit-man/app'
|
3
3
|
|
4
|
-
RunitMan.set :active_services_directory, RunitMan::DEFAULT_ACTIVE_SERVICES_DIR
|
5
|
-
RunitMan.set :all_services_directory, RunitMan::DEFAULT_ALL_SERVICES_DIR
|
6
|
-
RunitMan.set :runit_logger, RunitMan::DEFAULT_LOGGER
|
7
|
-
RunitMan.set :rackup_command_line, false
|
8
|
-
RunitMan.set :read_write_mode, :readwrite
|
4
|
+
RunitMan::App.set :active_services_directory, RunitMan::App::DEFAULT_ACTIVE_SERVICES_DIR
|
5
|
+
RunitMan::App.set :all_services_directory, RunitMan::App::DEFAULT_ALL_SERVICES_DIR
|
6
|
+
RunitMan::App.set :runit_logger, RunitMan::App::DEFAULT_LOGGER
|
7
|
+
RunitMan::App.set :rackup_command_line, false
|
8
|
+
RunitMan::App.set :read_write_mode, :readwrite
|
9
9
|
|
10
10
|
OptionParser.new { |op|
|
11
11
|
op.banner = 'Usage: runit-man <options>'
|
12
12
|
op.separator "Version: #{RunitMan::VERSION}"
|
13
13
|
op.separator 'Server options:'
|
14
|
-
op.on('-s server') { |val| RunitMan.set :server, val }
|
15
|
-
op.on('-p port') { |val| RunitMan.set :port, val.to_i }
|
16
|
-
op.on('-b addr') { |val| RunitMan.set :bind, val }
|
17
|
-
op.on('-m mode (rw by default)') { |val| RunitMan.set(:read_write_mode, :readonly)
|
14
|
+
op.on('-s server') { |val| RunitMan::App.set :server, val }
|
15
|
+
op.on('-p port') { |val| RunitMan::App.set :port, val.to_i }
|
16
|
+
op.on('-b addr') { |val| RunitMan::App.set :bind, val } if RunitMan::App.respond_to?(:bind)
|
17
|
+
op.on('-m mode (rw by default)') { |val| RunitMan::App.set(:read_write_mode, :readonly) if val =~ /^read\-only|readonly|ro$/ }
|
18
18
|
op.separator 'runit options:'
|
19
|
-
op.on(
|
20
|
-
op.on(
|
19
|
+
op.on("-a active_services_directory (#{RunitMan::App::DEFAULT_ACTIVE_SERVICES_DIR} by default)") { |val| RunitMan::App.set :active_services_directory, val }
|
20
|
+
op.on("-f all_services_directory (#{RunitMan::App::DEFAULT_ALL_SERVICES_DIR} by default)") { |val| RunitMan::App.set :all_services_directory, val }
|
21
21
|
op.separator 'runit logger options (now svlogd and logger supported only):'
|
22
|
-
op.on(
|
22
|
+
op.on("-l runit logger application[:base folder[:priority]] (#{RunitMan::App::DEFAULT_LOGGER} by default)") { |val| RunitMan::App.set :runit_logger, val }
|
23
23
|
op.separator 'View options:'
|
24
|
-
op.on('-v file_location', 'Enables view of specified file through runit-man') { |val| RunitMan.enable_view_of(val) }
|
25
|
-
op.on('-u user:password', 'Requires user name with given password to auth') { |val| RunitMan.add_user(*(val.split(':', 2))) }
|
24
|
+
op.on('-v file_location', 'Enables view of specified file through runit-man') { |val| RunitMan::App.enable_view_of(val) }
|
25
|
+
op.on('-u user:password', 'Requires user name with given password to auth') { |val| RunitMan::App.add_user(*(val.split(':', 2))) }
|
26
26
|
op.separator 'Configuration options:'
|
27
27
|
op.on('--rackup command_line', 'Change directory to config.ru location, set environment by options and execute specified command_line') do |command_line|
|
28
|
-
RunitMan.set :rackup_command_line, command_line
|
28
|
+
RunitMan::App.set :rackup_command_line, command_line
|
29
29
|
end
|
30
30
|
op.on_tail('-r', '--register', 'Register as runit service') do
|
31
|
-
RunitMan.register_as_runit_service
|
31
|
+
RunitMan::App.register_as_runit_service
|
32
32
|
exit
|
33
33
|
end
|
34
34
|
}.parse!(ARGV.dup)
|
35
35
|
|
36
|
-
if RunitMan.rackup_command_line
|
37
|
-
RunitMan.exec_rackup(RunitMan.rackup_command_line)
|
36
|
+
if RunitMan::App.rackup_command_line
|
37
|
+
RunitMan::App.exec_rackup(RunitMan::App.rackup_command_line)
|
38
38
|
end
|
39
39
|
|
40
|
-
RunitMan.prepare_to_run
|
40
|
+
RunitMan::App.prepare_to_run
|
41
41
|
|
42
|
-
RunitMan.run!
|
42
|
+
RunitMan::App.run!
|
43
43
|
|
@@ -154,11 +154,11 @@ class ServiceInfo::Base
|
|
154
154
|
|
155
155
|
protected
|
156
156
|
def inactive_service_folder
|
157
|
-
File.join(RunitMan.all_services_directory, name)
|
157
|
+
File.join(RunitMan::App.all_services_directory, name)
|
158
158
|
end
|
159
159
|
|
160
160
|
def active_service_folder
|
161
|
-
File.join(RunitMan.active_services_directory, name)
|
161
|
+
File.join(RunitMan::App.active_services_directory, name)
|
162
162
|
end
|
163
163
|
|
164
164
|
def files_to_view_folder
|
@@ -227,18 +227,18 @@ protected
|
|
227
227
|
|
228
228
|
private
|
229
229
|
def active_service_names
|
230
|
-
return [] unless File.directory?(RunitMan.active_services_directory)
|
231
|
-
Dir.entries(RunitMan.active_services_directory).reject do |name|
|
232
|
-
full_name = File.join(RunitMan.active_services_directory, name)
|
230
|
+
return [] unless File.directory?(RunitMan::App.active_services_directory)
|
231
|
+
Dir.entries(RunitMan::App.active_services_directory).reject do |name|
|
232
|
+
full_name = File.join(RunitMan::App.active_services_directory, name)
|
233
233
|
itself_or_parent?(name) || (!File.symlink?(full_name) && !File.directory?(full_name))
|
234
234
|
end
|
235
235
|
end
|
236
236
|
|
237
237
|
def inactive_service_names
|
238
|
-
return [] unless File.directory?(RunitMan.all_services_directory)
|
238
|
+
return [] unless File.directory?(RunitMan::App.all_services_directory)
|
239
239
|
actives = active_service_names
|
240
|
-
Dir.entries(RunitMan.all_services_directory).reject do |name|
|
241
|
-
full_name = File.join(RunitMan.all_services_directory, name)
|
240
|
+
Dir.entries(RunitMan::App.all_services_directory).reject do |name|
|
241
|
+
full_name = File.join(RunitMan::App.all_services_directory, name)
|
242
242
|
itself_or_parent?(name) || !File.directory?(full_name) || actives.include?(name)
|
243
243
|
end
|
244
244
|
end
|
data/lib/runit-man/version.rb
CHANGED
data/runit-man.gemspec
CHANGED
@@ -29,7 +29,7 @@ spec = Gem::Specification.new do |s|
|
|
29
29
|
s.add_development_dependency 'rspec-expectations'
|
30
30
|
s.add_development_dependency 'rr'
|
31
31
|
s.add_development_dependency 'rack-test'
|
32
|
-
s.add_development_dependency 'bundler', '~> 1.0.10'
|
32
|
+
s.add_development_dependency 'bundler', ['~> 1.0', '> 1.0.10']
|
33
33
|
s.description = File.open(File.join(File.dirname(__FILE__), 'DESCRIPTION')).read
|
34
34
|
end
|
35
35
|
|
@@ -2,11 +2,15 @@ require File.dirname(__FILE__) + '/../spec_helper'
|
|
2
2
|
|
3
3
|
describe RunitMan do
|
4
4
|
def app
|
5
|
-
RunitMan
|
5
|
+
RunitMan::App
|
6
6
|
end
|
7
7
|
|
8
8
|
before(:all) do
|
9
|
-
RunitMan.set :
|
9
|
+
RunitMan::App.set :active_services_directory, RunitMan::App::DEFAULT_ACTIVE_SERVICES_DIR
|
10
|
+
RunitMan::App.set :all_services_directory, RunitMan::App::DEFAULT_ALL_SERVICES_DIR
|
11
|
+
RunitMan::App.set :rackup_command_line, false
|
12
|
+
RunitMan::App.set :read_write_mode, :readwrite
|
13
|
+
RunitMan::App.set :runit_logger, RunitMan::App::DEFAULT_LOGGER
|
10
14
|
end
|
11
15
|
|
12
16
|
it "should respond to /" do
|
@@ -20,4 +24,4 @@ describe RunitMan do
|
|
20
24
|
get '/services'
|
21
25
|
last_response.should be_ok
|
22
26
|
end
|
23
|
-
end
|
27
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
-
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
2
|
|
3
3
|
require 'rack/test'
|
4
4
|
require 'rspec/core'
|
5
5
|
|
6
|
-
|
6
|
+
require 'runit-man/app'
|
7
|
+
|
8
|
+
class RunitMan::App
|
7
9
|
# set test environment
|
8
10
|
set :environment, :test
|
9
11
|
set :raise_errors, true
|
metadata
CHANGED
@@ -1,226 +1,173 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: runit-man
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 2
|
8
|
-
- 3
|
9
|
-
- 18
|
10
|
-
version: 2.3.18
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.3.19
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Akzhan Abdulin
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
12
|
+
date: 2012-03-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: yajl-ruby
|
16
|
+
requirement: &2154578860 !ruby/object:Gem::Requirement
|
23
17
|
none: false
|
24
|
-
requirements:
|
18
|
+
requirements:
|
25
19
|
- - ~>
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
|
28
|
-
segments:
|
29
|
-
- 1
|
30
|
-
- 0
|
31
|
-
version: "1.0"
|
32
|
-
requirement: *id001
|
33
|
-
name: yajl-ruby
|
34
|
-
prerelease: false
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.0'
|
35
22
|
type: :runtime
|
36
|
-
|
37
|
-
version_requirements:
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2154578860
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: haml
|
27
|
+
requirement: &2154578000 !ruby/object:Gem::Requirement
|
38
28
|
none: false
|
39
|
-
requirements:
|
29
|
+
requirements:
|
40
30
|
- - ~>
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
segments:
|
44
|
-
- 3
|
45
|
-
- 0
|
46
|
-
version: "3.0"
|
47
|
-
requirement: *id002
|
48
|
-
name: haml
|
49
|
-
prerelease: false
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '3.0'
|
50
33
|
type: :runtime
|
51
|
-
|
52
|
-
version_requirements:
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *2154578000
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: sinatra
|
38
|
+
requirement: &2154577520 !ruby/object:Gem::Requirement
|
53
39
|
none: false
|
54
|
-
requirements:
|
40
|
+
requirements:
|
55
41
|
- - ~>
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
segments:
|
59
|
-
- 1
|
60
|
-
- 3
|
61
|
-
version: "1.3"
|
62
|
-
requirement: *id003
|
63
|
-
name: sinatra
|
64
|
-
prerelease: false
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.3'
|
65
44
|
type: :runtime
|
66
|
-
|
67
|
-
version_requirements:
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *2154577520
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: sinatra-content-for2
|
49
|
+
requirement: &2154577040 !ruby/object:Gem::Requirement
|
68
50
|
none: false
|
69
|
-
requirements:
|
51
|
+
requirements:
|
70
52
|
- - ~>
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
hash: 31
|
73
|
-
segments:
|
74
|
-
- 0
|
75
|
-
- 2
|
76
|
-
- 4
|
53
|
+
- !ruby/object:Gem::Version
|
77
54
|
version: 0.2.4
|
78
|
-
requirement: *id004
|
79
|
-
name: sinatra-content-for2
|
80
|
-
prerelease: false
|
81
55
|
type: :runtime
|
82
|
-
|
83
|
-
version_requirements:
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *2154577040
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: i18n
|
60
|
+
requirement: &2154576560 !ruby/object:Gem::Requirement
|
84
61
|
none: false
|
85
|
-
requirements:
|
62
|
+
requirements:
|
86
63
|
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
|
89
|
-
segments:
|
90
|
-
- 0
|
91
|
-
- 5
|
92
|
-
version: "0.5"
|
93
|
-
requirement: *id005
|
94
|
-
name: i18n
|
95
|
-
prerelease: false
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0.5'
|
96
66
|
type: :runtime
|
97
|
-
|
98
|
-
version_requirements:
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *2154576560
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: file-tail
|
71
|
+
requirement: &2154576060 !ruby/object:Gem::Requirement
|
99
72
|
none: false
|
100
|
-
requirements:
|
73
|
+
requirements:
|
101
74
|
- - ~>
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
hash: 25
|
104
|
-
segments:
|
105
|
-
- 1
|
106
|
-
- 0
|
107
|
-
- 7
|
75
|
+
- !ruby/object:Gem::Version
|
108
76
|
version: 1.0.7
|
109
|
-
requirement: *id006
|
110
|
-
name: file-tail
|
111
|
-
prerelease: false
|
112
77
|
type: :runtime
|
113
|
-
|
114
|
-
version_requirements:
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *2154576060
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: rake
|
82
|
+
requirement: &2154575360 !ruby/object:Gem::Requirement
|
115
83
|
none: false
|
116
|
-
requirements:
|
84
|
+
requirements:
|
117
85
|
- - ~>
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
- 8
|
123
|
-
version: "0.8"
|
124
|
-
- - "!="
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
hash: 59
|
127
|
-
segments:
|
128
|
-
- 0
|
129
|
-
- 9
|
130
|
-
- 0
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0.8'
|
88
|
+
- - ! '!='
|
89
|
+
- !ruby/object:Gem::Version
|
131
90
|
version: 0.9.0
|
132
|
-
requirement: *id007
|
133
|
-
name: rake
|
134
|
-
prerelease: false
|
135
91
|
type: :development
|
136
|
-
- !ruby/object:Gem::Dependency
|
137
|
-
version_requirements: &id008 !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
|
-
requirements:
|
140
|
-
- - ">="
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
hash: 3
|
143
|
-
segments:
|
144
|
-
- 0
|
145
|
-
version: "0"
|
146
|
-
requirement: *id008
|
147
|
-
name: rspec-core
|
148
92
|
prerelease: false
|
149
|
-
|
150
|
-
- !ruby/object:Gem::Dependency
|
151
|
-
|
93
|
+
version_requirements: *2154575360
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rspec-core
|
96
|
+
requirement: &2154573900 !ruby/object:Gem::Requirement
|
152
97
|
none: false
|
153
|
-
requirements:
|
154
|
-
- -
|
155
|
-
- !ruby/object:Gem::Version
|
156
|
-
|
157
|
-
segments:
|
158
|
-
- 0
|
159
|
-
version: "0"
|
160
|
-
requirement: *id009
|
161
|
-
name: rspec-expectations
|
162
|
-
prerelease: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
163
102
|
type: :development
|
164
|
-
- !ruby/object:Gem::Dependency
|
165
|
-
version_requirements: &id010 !ruby/object:Gem::Requirement
|
166
|
-
none: false
|
167
|
-
requirements:
|
168
|
-
- - ">="
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
hash: 3
|
171
|
-
segments:
|
172
|
-
- 0
|
173
|
-
version: "0"
|
174
|
-
requirement: *id010
|
175
|
-
name: rr
|
176
103
|
prerelease: false
|
104
|
+
version_requirements: *2154573900
|
105
|
+
- !ruby/object:Gem::Dependency
|
106
|
+
name: rspec-expectations
|
107
|
+
requirement: &2154573260 !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
109
|
+
requirements:
|
110
|
+
- - ! '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
177
113
|
type: :development
|
178
|
-
|
179
|
-
version_requirements:
|
114
|
+
prerelease: false
|
115
|
+
version_requirements: *2154573260
|
116
|
+
- !ruby/object:Gem::Dependency
|
117
|
+
name: rr
|
118
|
+
requirement: &2154572740 !ruby/object:Gem::Requirement
|
180
119
|
none: false
|
181
|
-
requirements:
|
182
|
-
- -
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
|
185
|
-
|
186
|
-
- 0
|
187
|
-
version: "0"
|
188
|
-
requirement: *id011
|
189
|
-
name: rack-test
|
120
|
+
requirements:
|
121
|
+
- - ! '>='
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
type: :development
|
190
125
|
prerelease: false
|
126
|
+
version_requirements: *2154572740
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: rack-test
|
129
|
+
requirement: &2154571880 !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
191
135
|
type: :development
|
192
|
-
|
193
|
-
version_requirements:
|
136
|
+
prerelease: false
|
137
|
+
version_requirements: *2154571880
|
138
|
+
- !ruby/object:Gem::Dependency
|
139
|
+
name: bundler
|
140
|
+
requirement: &2154570500 !ruby/object:Gem::Requirement
|
194
141
|
none: false
|
195
|
-
requirements:
|
142
|
+
requirements:
|
196
143
|
- - ~>
|
197
|
-
- !ruby/object:Gem::Version
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
- 0
|
202
|
-
- 10
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '1.0'
|
146
|
+
- - ! '>'
|
147
|
+
- !ruby/object:Gem::Version
|
203
148
|
version: 1.0.10
|
204
|
-
requirement: *id012
|
205
|
-
name: bundler
|
206
|
-
prerelease: false
|
207
149
|
type: :development
|
208
|
-
|
209
|
-
|
210
|
-
|
150
|
+
prerelease: false
|
151
|
+
version_requirements: *2154570500
|
152
|
+
description: ! 'Simple runit (http://smarden.org/runit/) web management tool with
|
153
|
+
i18n.
|
154
|
+
|
155
|
+
|
211
156
|
Server will run by runit-man script.
|
212
|
-
|
157
|
+
|
158
|
+
|
213
159
|
More information available at https://github.com/Undev/runit-man
|
214
160
|
|
161
|
+
'
|
215
162
|
email: akzhan.abdulin@gmail.com
|
216
|
-
executables:
|
163
|
+
executables:
|
217
164
|
- runit-man
|
218
165
|
extensions: []
|
219
|
-
|
220
|
-
extra_rdoc_files:
|
166
|
+
extra_rdoc_files:
|
221
167
|
- README.markdown
|
222
|
-
files:
|
168
|
+
files:
|
223
169
|
- .gitignore
|
170
|
+
- .gitmodules
|
224
171
|
- CHANGELOG.markdown
|
225
172
|
- DESCRIPTION
|
226
173
|
- Gemfile
|
@@ -229,7 +176,12 @@ files:
|
|
229
176
|
- README.markdown
|
230
177
|
- README_ru.markdown
|
231
178
|
- Rakefile
|
179
|
+
- Vagrantfile
|
232
180
|
- bin/runit-man
|
181
|
+
- cookbooks/provisioning/metadata.rb
|
182
|
+
- cookbooks/provisioning/recipes/default.rb
|
183
|
+
- cookbooks/provisioning/templates/default/sv-runit-man-log-run.erb
|
184
|
+
- cookbooks/provisioning/templates/default/sv-runit-man-run.erb
|
233
185
|
- goodies/rsyslog-config-for-multiple-logs-of-test-service.conf
|
234
186
|
- goodies/test-service-for-logger-with-multiple-logs/rubyscript.rb
|
235
187
|
- goodies/test-service-for-logger-with-multiple-logs/run
|
@@ -275,40 +227,37 @@ files:
|
|
275
227
|
- views/log.haml
|
276
228
|
- views/log_downloads.haml
|
277
229
|
- views/view_file.haml
|
278
|
-
has_rdoc: true
|
279
230
|
homepage: https://github.com/Undev/runit-man
|
280
231
|
licenses: []
|
281
|
-
|
282
232
|
post_install_message:
|
283
233
|
rdoc_options: []
|
284
|
-
|
285
|
-
require_paths:
|
234
|
+
require_paths:
|
286
235
|
- lib
|
287
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
236
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
288
237
|
none: false
|
289
|
-
requirements:
|
290
|
-
- -
|
291
|
-
- !ruby/object:Gem::Version
|
292
|
-
|
293
|
-
segments:
|
238
|
+
requirements:
|
239
|
+
- - ! '>='
|
240
|
+
- !ruby/object:Gem::Version
|
241
|
+
version: '0'
|
242
|
+
segments:
|
294
243
|
- 0
|
295
|
-
|
296
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
244
|
+
hash: 1304613691437157947
|
245
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
297
246
|
none: false
|
298
|
-
requirements:
|
299
|
-
- -
|
300
|
-
- !ruby/object:Gem::Version
|
301
|
-
|
302
|
-
segments:
|
247
|
+
requirements:
|
248
|
+
- - ! '>='
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
segments:
|
303
252
|
- 0
|
304
|
-
|
305
|
-
requirements:
|
253
|
+
hash: 1304613691437157947
|
254
|
+
requirements:
|
306
255
|
- none
|
307
256
|
rubyforge_project:
|
308
|
-
rubygems_version: 1.
|
257
|
+
rubygems_version: 1.8.15
|
309
258
|
signing_key:
|
310
259
|
specification_version: 3
|
311
260
|
summary: Runit web management tool.
|
312
|
-
test_files:
|
261
|
+
test_files:
|
313
262
|
- spec/functional/runit-man_spec.rb
|
314
263
|
- spec/spec_helper.rb
|