runit-man 2.4.0a2 → 2.4.0
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 +2 -0
- data/.yardopts +14 -0
- data/{CHANGELOG.markdown → CHANGELOG.md} +13 -7
- data/Gemfile +4 -0
- data/INSTALL.md +49 -0
- data/{README.markdown → README.md} +23 -10
- data/{README_ru.markdown → README_ru.md} +22 -11
- data/Rakefile +13 -4
- data/lib/runit-man/service_info.rb +2 -0
- data/lib/runit-man/service_info/logger.rb +1 -1
- data/lib/runit-man/service_info/svlogd.rb +8 -2
- data/lib/runit-man/utils.rb +7 -0
- data/lib/runit-man/version.rb +3 -1
- data/runit-man.gemspec +6 -1
- metadata +64 -35
- data/INSTALL +0 -33
data/.gitignore
CHANGED
data/.yardopts
ADDED
@@ -1,8 +1,13 @@
|
|
1
1
|
## Changes
|
2
2
|
|
3
|
+
### Version 2.4.0
|
4
|
+
|
5
|
+
* LogLocationCache completely removed to keep codebase small and readable.
|
6
|
+
* Code refactoring to support multiple log file downloads and to avoid errors in case of file absence.
|
7
|
+
|
3
8
|
### Version 2.3.21
|
4
9
|
|
5
|
-
* Running using
|
10
|
+
* Running using `bundle exec` is fixed.
|
6
11
|
* Initial staging environment added using [http://vagrantup.com/](Vagrant "Vagrant").
|
7
12
|
* Fix internal error when log downloads directory is absent.
|
8
13
|
|
@@ -23,8 +28,8 @@
|
|
23
28
|
|
24
29
|
### Version 2.3.8
|
25
30
|
|
26
|
-
* Minor update of handling logger log directories (we should remove last character from log directory name if it
|
27
|
-
*
|
31
|
+
* Minor update of handling logger log directories (we should remove last character from log directory name if it equals to ':').
|
32
|
+
* Enable of using `bundle exec rake ...` command.
|
28
33
|
|
29
34
|
### Version 2.3.7
|
30
35
|
|
@@ -41,7 +46,7 @@
|
|
41
46
|
|
42
47
|
### Version 2.3.4
|
43
48
|
* Rack::File used to serve static files in old Sinatra releases (Sinatra 1.3.0 have this functionality built-in). Requires Rack 1.3.0 or higher.
|
44
|
-
* rainbows configuration now uses sendfile gem if
|
49
|
+
* rainbows configuration now uses sendfile gem if its available to decrease CPU usage on serving large files.
|
45
50
|
|
46
51
|
### Version 2.3.3
|
47
52
|
* Typo (very old one).
|
@@ -99,7 +104,7 @@
|
|
99
104
|
* Support for gzipped logs.
|
100
105
|
|
101
106
|
### Version 2.0.2
|
102
|
-
* Fix log link hint,
|
107
|
+
* Fix log link hint, thats broken from 1.11.x (thanks to verm666).
|
103
108
|
|
104
109
|
### Version 2.0.1
|
105
110
|
* Use Bundler to simplify development tasks.
|
@@ -216,7 +221,7 @@
|
|
216
221
|
* runit-man now can show custom count of lines per log.
|
217
222
|
|
218
223
|
### Version 1.4.5
|
219
|
-
* Fix error when ran on machine when
|
224
|
+
* Fix error when ran on machine when its name cannot be resolved by DNS.
|
220
225
|
* /services.json added to provide automation API.
|
221
226
|
|
222
227
|
### Version 1.4.3
|
@@ -224,7 +229,7 @@
|
|
224
229
|
* Script renamed to runit-man without extension.
|
225
230
|
|
226
231
|
### Version 1.4.1
|
227
|
-
* Workaround for rubygems behavior (sometimes it
|
232
|
+
* Workaround for rubygems behavior (sometimes it doesnt update binaries).
|
228
233
|
|
229
234
|
### Version 1.4
|
230
235
|
* Automated registration with given options.
|
@@ -254,3 +259,4 @@
|
|
254
259
|
|
255
260
|
### Version 0.1
|
256
261
|
* First working release
|
262
|
+
|
data/Gemfile
CHANGED
data/INSTALL.md
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
## Requirements
|
2
|
+
|
3
|
+
You need ruby 1.8.6 or above and rubygems installed.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Use following command to install runit-man:
|
8
|
+
|
9
|
+
```bash
|
10
|
+
gem install runit-man
|
11
|
+
```
|
12
|
+
|
13
|
+
Take a look at runit-man script options:
|
14
|
+
|
15
|
+
* -p - Port to listen (4567 by default)
|
16
|
+
* -b - IP Address to bind (0.0.0.0 by default)
|
17
|
+
* -a - Directory of activated services (/etc/service by default)
|
18
|
+
* -f - Directory of all known services (/etc/sv by default)
|
19
|
+
* -u - User and password delimited by ':' for HTTP authentication (disabled by default)
|
20
|
+
* -r - Register runit-man as runit service (as defined by other options)
|
21
|
+
* --rackup='command' - Runs specified command in folder where is runit'man's config.ru located.
|
22
|
+
|
23
|
+
### Using thin
|
24
|
+
|
25
|
+
Usually you need thin gem to run runit-man effectively.
|
26
|
+
|
27
|
+
```bash
|
28
|
+
gem install thin
|
29
|
+
```
|
30
|
+
|
31
|
+
### Using rainbows
|
32
|
+
|
33
|
+
When You need to handle large files (logs etc.) by runit-man script You need another setup:
|
34
|
+
|
35
|
+
* Install rainbows gem (it prevents memory consumption).
|
36
|
+
* Install sendfile gem if possible (It decreases CPU usage in combination with rainbows).
|
37
|
+
* Run runit-man as:
|
38
|
+
|
39
|
+
```bash
|
40
|
+
runit-man --rackup='rainbows -E production -c rainbows.conf -p $PORT'
|
41
|
+
```
|
42
|
+
|
43
|
+
Any localization can be done by editing of `./i18n/*.yml` locale files.
|
44
|
+
Contributions are welcome.
|
45
|
+
|
46
|
+
* [runit home page](http://smarden.org/runit/)
|
47
|
+
* [runit-man home page](https://github.com/Undev/runit-man)
|
48
|
+
|
49
|
+
Yours sincerely, Akzhan.
|
@@ -11,14 +11,20 @@ Server will run by **runit-man** script. Take a note that **runit-man** must hav
|
|
11
11
|
## Installation
|
12
12
|
|
13
13
|
Usually You should install both **runit-man** and **thin** gems to run this tool fine.
|
14
|
-
|
14
|
+
|
15
|
+
```bash
|
16
|
+
gem install runit-man thin
|
17
|
+
```
|
15
18
|
|
16
19
|
Pragmatic approach is to setup runit-man as runit service like this:
|
17
|
-
`runit-man -p 14500 -r`
|
18
20
|
|
19
|
-
|
21
|
+
```bash
|
22
|
+
runit-man -p 14500 -r
|
23
|
+
```
|
24
|
+
|
25
|
+
This command installs runit-man as runit service (using default folders `/etc/sv/` and `/etc/service/`).
|
20
26
|
|
21
|
-
Look at INSTALL for details.
|
27
|
+
Look at {file:INSTALL.md} for details.
|
22
28
|
|
23
29
|
### rackup configuration
|
24
30
|
|
@@ -31,17 +37,17 @@ This tool can provide additional information or actions through it's Web page.
|
|
31
37
|
|
32
38
|
### View names and content of files that related to concrete service
|
33
39
|
|
34
|
-
For each known runit service this tool looks for
|
40
|
+
For each known runit service this tool looks for `./runit-man/files-to-view/` folder.
|
35
41
|
Every symlink here will be shown as link to view target file content.
|
36
42
|
|
37
43
|
### Show links that related to concrete service
|
38
44
|
|
39
|
-
For each known runit service this tool looks for
|
45
|
+
For each known runit service this tool looks for `./runit-man/urls-to-view/` folder.
|
40
46
|
Every file ended with .url will be shown as link to view target location (location should be written as content of this file).
|
41
47
|
|
42
48
|
### Show buttons that send signals to concrete service
|
43
49
|
|
44
|
-
For each known runit service this tool looks for
|
50
|
+
For each known runit service this tool looks for `./runit-man/allowed-signals/` folder.
|
45
51
|
Each one-letter-named file declares that signal button should be shown in Web UI.
|
46
52
|
|
47
53
|
Signal letters listed below in REST API section.
|
@@ -86,10 +92,17 @@ You can read tail of service log using
|
|
86
92
|
`GET /<service name>/log/<count of tailing lines>.txt`
|
87
93
|
|
88
94
|
Note that to use this feature You must do logging using
|
89
|
-
|
95
|
+
|
96
|
+
```bash
|
97
|
+
exec svlogd <options> $LOG_DIRECTORY_LOCATION
|
98
|
+
```
|
90
99
|
|
91
100
|
#### logger
|
92
101
|
Use logger like:
|
93
|
-
|
94
|
-
|
102
|
+
|
103
|
+
```bash
|
104
|
+
exec logger -i -t "runit-man" -p local1.info
|
105
|
+
```
|
106
|
+
|
107
|
+
and use option `-l "logger:/var/log/"` where base logs directory shown after period.
|
95
108
|
|
@@ -11,14 +11,19 @@
|
|
11
11
|
## Инсталляция
|
12
12
|
|
13
13
|
Обычно вам нужно поставить гемы **runit-man** и **thin** совместно, чтобы эта утилита работала эффективно.
|
14
|
-
|
14
|
+
|
15
|
+
```bash
|
16
|
+
gem install runit-man thin
|
17
|
+
```
|
15
18
|
|
16
19
|
Прагматично установить runit-man как один из сервисов runit, например, так:
|
17
|
-
|
20
|
+
```bash
|
21
|
+
runit-man -p 14500 -r
|
22
|
+
```
|
18
23
|
|
19
|
-
Эта команда создаёт сервис runit-man, как один из обычных активных сервисов runit (используя каталоги
|
24
|
+
Эта команда создаёт сервис runit-man, как один из обычных активных сервисов runit (используя каталоги `/etc/sv/` and `/etc/service/` по умолчанию).
|
20
25
|
|
21
|
-
Подробнее смотрите файл INSTALL.
|
26
|
+
Подробнее смотрите файл {file:INSTALL.md}.
|
22
27
|
|
23
28
|
### Конфигурирование под Rack
|
24
29
|
|
@@ -31,17 +36,17 @@
|
|
31
36
|
|
32
37
|
### Просмотр имён и содержимого файлов, относящихся к конкретному сервису
|
33
38
|
|
34
|
-
Для каждого известного сервиса runit эта утилита просматривает каталог
|
39
|
+
Для каждого известного сервиса runit эта утилита просматривает каталог `./runit-man/files-to-view/`.
|
35
40
|
Каждый симлинк в этом каталоге будет показан как ссылка на просмотр содержимого целевого файла.
|
36
41
|
|
37
42
|
### Показ ссылок, относящихся к конкретному сервису
|
38
43
|
|
39
|
-
Для каждого известного сервиса runit эта утилита просматривает каталог
|
44
|
+
Для каждого известного сервиса runit эта утилита просматривает каталог `./runit-man/urls-to-view/`.
|
40
45
|
Каждый файл, имеющий расширение .url, будет показан, как сылка на просмотр целевой локации (которая берётся как содержимое файла).
|
41
46
|
|
42
47
|
### Показ кнопок, которые посылают сигналы выбранному процессу
|
43
48
|
|
44
|
-
Для каждого известного сервиса runit эта утилита просматривает каталог
|
49
|
+
Для каждого известного сервиса runit эта утилита просматривает каталог `./runit-man/allowed-signals/`.
|
45
50
|
Каждый однобуквенно-именованный файл определяет, что кнопка для сигнала должна появиться в пользовательском интерфейсе.
|
46
51
|
|
47
52
|
Соответствия между буквами и сигналами перечислены ниже, в секции REST API.
|
@@ -85,13 +90,19 @@
|
|
85
90
|
Вы можете читать хвост лога сервиса, используя
|
86
91
|
`GET /<service name>/log/<count of tailing lines>.txt`
|
87
92
|
|
88
|
-
Учитывайте, что этот функционал работает, только если Вы логгируете сервис с использованием команды вида
|
89
|
-
|
93
|
+
Учитывайте, что этот функционал работает, только если Вы логгируете сервис с использованием команды вида
|
94
|
+
|
95
|
+
```bash
|
96
|
+
exec svlogd <options> $LOG_DIRECTORY_LOCATION
|
97
|
+
```
|
90
98
|
|
91
99
|
#### logger
|
92
100
|
|
93
101
|
Если Вы предпочитаете logger, используйте его вот так:
|
94
|
-
`exec logger -i -t "runit-man" -p local1.info`
|
95
102
|
|
96
|
-
|
103
|
+
```bash
|
104
|
+
exec logger -i -t "runit-man" -p local1.info
|
105
|
+
```
|
106
|
+
|
107
|
+
При этом нужно использовать опцию `-l "logger:/var/log/"`, где после двоеточия надо указывать базовый каталог логов.
|
97
108
|
|
data/Rakefile
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
+
|
5
|
+
begin
|
6
|
+
require 'bundler'
|
7
|
+
Bundler.setup(:default, :development, :test)
|
8
|
+
Bundler::GemHelper.install_tasks
|
9
|
+
rescue LoadError
|
10
|
+
$stderr.puts "Bundler not available. Install it with: gem install bundler"
|
11
|
+
end
|
12
|
+
|
4
13
|
$LOAD_PATH.unshift('./lib')
|
5
14
|
|
6
15
|
require 'runit-man/version'
|
@@ -23,10 +32,10 @@ rescue LoadError
|
|
23
32
|
end
|
24
33
|
|
25
34
|
begin
|
26
|
-
require '
|
27
|
-
|
28
|
-
|
35
|
+
require 'yard'
|
36
|
+
|
37
|
+
YARD::Rake::YardocTask.new
|
29
38
|
rescue LoadError
|
30
|
-
$stderr.puts "
|
39
|
+
$stderr.puts "YARD not available. Install it with: gem install yard"
|
31
40
|
end
|
32
41
|
|
@@ -65,7 +65,7 @@ class ServiceInfo::Logger < ServiceInfo::Base
|
|
65
65
|
label = "#{Utils.host_name}-#{subdirname}-#{filename}"
|
66
66
|
|
67
67
|
stats = File.stat(filepath)
|
68
|
-
stat_times = [stats.ctime.utc, stats.
|
68
|
+
stat_times = [stats.ctime.utc, stats.mtime.utc]
|
69
69
|
min_time, max_time = stat_times.min, stat_times.max
|
70
70
|
|
71
71
|
r << {
|
@@ -31,10 +31,16 @@ class ServiceInfo::Svlogd < ServiceInfo::Base
|
|
31
31
|
next unless File.readable?(path)
|
32
32
|
|
33
33
|
stats = File.stat(path)
|
34
|
-
stat_times = [stats.ctime.utc, stats.
|
34
|
+
stat_times = [stats.ctime.utc, stats.mtime.utc]
|
35
35
|
min_time, max_time = stat_times.min, stat_times.max
|
36
36
|
|
37
|
-
|
37
|
+
if min_time != max_time
|
38
|
+
stat_times = "#{I18n.l(min_time)}-#{I18n.l(max_time)}"
|
39
|
+
else
|
40
|
+
stat_times = I18n.l(min_time)
|
41
|
+
end
|
42
|
+
|
43
|
+
label = "#{Utils.host_name}-#{self.name}-#{stat_times}.log"
|
38
44
|
label = label.gsub(/[\:\s\,]/, '-').gsub(/[\\\/]/, '.')
|
39
45
|
r << {
|
40
46
|
:name => name,
|
data/lib/runit-man/utils.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
require 'socket'
|
2
2
|
require 'i18n'
|
3
3
|
|
4
|
+
# Utilities.
|
4
5
|
class Utils
|
5
6
|
class << self
|
7
|
+
# Gets local host name.
|
8
|
+
# @return [String] Host name.
|
9
|
+
# @note Caches host name on first access.
|
6
10
|
def host_name
|
7
11
|
unless @host_name
|
8
12
|
begin
|
@@ -15,8 +19,11 @@ class Utils
|
|
15
19
|
@host_name
|
16
20
|
end
|
17
21
|
|
22
|
+
# I18n.t shortcut.
|
23
|
+
# @return [String] Translated string.
|
18
24
|
def t(*args)
|
19
25
|
I18n.t(*args)
|
20
26
|
end
|
21
27
|
end
|
22
28
|
end
|
29
|
+
|
data/lib/runit-man/version.rb
CHANGED
data/runit-man.gemspec
CHANGED
@@ -13,8 +13,11 @@ spec = Gem::Specification.new do |s|
|
|
13
13
|
s.requirements << 'none'
|
14
14
|
s.require_path = 'lib'
|
15
15
|
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
16
|
+
|
16
17
|
s.extra_rdoc_files = [
|
17
|
-
"README.
|
18
|
+
"README.md",
|
19
|
+
"INSTALL.md",
|
20
|
+
"CHANGELOG.md"
|
18
21
|
]
|
19
22
|
s.files = `git ls-files`.split("\n")
|
20
23
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
@@ -30,6 +33,8 @@ spec = Gem::Specification.new do |s|
|
|
30
33
|
s.add_development_dependency 'rr'
|
31
34
|
s.add_development_dependency 'rack-test'
|
32
35
|
s.add_development_dependency 'bundler', ['~> 1.0', '> 1.0.10']
|
36
|
+
s.add_development_dependency 'yard', '~> 0.7.5'
|
37
|
+
s.add_development_dependency 'redcarpet', '~> 1.17.2'
|
33
38
|
s.description = File.open(File.join(File.dirname(__FILE__), 'DESCRIPTION')).read
|
34
39
|
end
|
35
40
|
|
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: runit-man
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
5
|
-
prerelease:
|
4
|
+
version: 2.4.0
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Akzhan Abdulin
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: yajl-ruby
|
16
|
-
requirement: &
|
16
|
+
requirement: &2153692900 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '1.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2153692900
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: haml
|
27
|
-
requirement: &
|
27
|
+
requirement: &2153692360 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '3.0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2153692360
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: sinatra
|
38
|
-
requirement: &
|
38
|
+
requirement: &2153691880 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '1.3'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2153691880
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sinatra-content-for2
|
49
|
-
requirement: &
|
49
|
+
requirement: &2153691360 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.2.4
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2153691360
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: i18n
|
60
|
-
requirement: &
|
60
|
+
requirement: &2153690820 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0.5'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2153690820
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: file-tail
|
71
|
-
requirement: &
|
71
|
+
requirement: &2153690260 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.0.7
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2153690260
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rake
|
82
|
-
requirement: &
|
82
|
+
requirement: &2153689620 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -90,10 +90,10 @@ dependencies:
|
|
90
90
|
version: 0.9.0
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
|
-
version_requirements: *
|
93
|
+
version_requirements: *2153689620
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: rspec-core
|
96
|
-
requirement: &
|
96
|
+
requirement: &2153688780 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
98
|
requirements:
|
99
99
|
- - ! '>='
|
@@ -101,10 +101,10 @@ dependencies:
|
|
101
101
|
version: '0'
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
|
-
version_requirements: *
|
104
|
+
version_requirements: *2153688780
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: rspec-expectations
|
107
|
-
requirement: &
|
107
|
+
requirement: &2153688140 !ruby/object:Gem::Requirement
|
108
108
|
none: false
|
109
109
|
requirements:
|
110
110
|
- - ! '>='
|
@@ -112,10 +112,10 @@ dependencies:
|
|
112
112
|
version: '0'
|
113
113
|
type: :development
|
114
114
|
prerelease: false
|
115
|
-
version_requirements: *
|
115
|
+
version_requirements: *2153688140
|
116
116
|
- !ruby/object:Gem::Dependency
|
117
117
|
name: rr
|
118
|
-
requirement: &
|
118
|
+
requirement: &2153686480 !ruby/object:Gem::Requirement
|
119
119
|
none: false
|
120
120
|
requirements:
|
121
121
|
- - ! '>='
|
@@ -123,10 +123,10 @@ dependencies:
|
|
123
123
|
version: '0'
|
124
124
|
type: :development
|
125
125
|
prerelease: false
|
126
|
-
version_requirements: *
|
126
|
+
version_requirements: *2153686480
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: rack-test
|
129
|
-
requirement: &
|
129
|
+
requirement: &2153685940 !ruby/object:Gem::Requirement
|
130
130
|
none: false
|
131
131
|
requirements:
|
132
132
|
- - ! '>='
|
@@ -134,10 +134,10 @@ dependencies:
|
|
134
134
|
version: '0'
|
135
135
|
type: :development
|
136
136
|
prerelease: false
|
137
|
-
version_requirements: *
|
137
|
+
version_requirements: *2153685940
|
138
138
|
- !ruby/object:Gem::Dependency
|
139
139
|
name: bundler
|
140
|
-
requirement: &
|
140
|
+
requirement: &2153685060 !ruby/object:Gem::Requirement
|
141
141
|
none: false
|
142
142
|
requirements:
|
143
143
|
- - ~>
|
@@ -148,7 +148,29 @@ dependencies:
|
|
148
148
|
version: 1.0.10
|
149
149
|
type: :development
|
150
150
|
prerelease: false
|
151
|
-
version_requirements: *
|
151
|
+
version_requirements: *2153685060
|
152
|
+
- !ruby/object:Gem::Dependency
|
153
|
+
name: yard
|
154
|
+
requirement: &2153683440 !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
156
|
+
requirements:
|
157
|
+
- - ~>
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.7.5
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: *2153683440
|
163
|
+
- !ruby/object:Gem::Dependency
|
164
|
+
name: redcarpet
|
165
|
+
requirement: &2153682560 !ruby/object:Gem::Requirement
|
166
|
+
none: false
|
167
|
+
requirements:
|
168
|
+
- - ~>
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: 1.17.2
|
171
|
+
type: :development
|
172
|
+
prerelease: false
|
173
|
+
version_requirements: *2153682560
|
152
174
|
description: ! 'Simple runit (http://smarden.org/runit/) web management tool with
|
153
175
|
i18n.
|
154
176
|
|
@@ -164,17 +186,20 @@ executables:
|
|
164
186
|
- runit-man
|
165
187
|
extensions: []
|
166
188
|
extra_rdoc_files:
|
167
|
-
- README.
|
189
|
+
- README.md
|
190
|
+
- INSTALL.md
|
191
|
+
- CHANGELOG.md
|
168
192
|
files:
|
169
193
|
- .gitignore
|
170
194
|
- .gitmodules
|
171
|
-
-
|
195
|
+
- .yardopts
|
196
|
+
- CHANGELOG.md
|
172
197
|
- DESCRIPTION
|
173
198
|
- Gemfile
|
174
|
-
- INSTALL
|
199
|
+
- INSTALL.md
|
175
200
|
- LICENSE
|
176
|
-
- README.
|
177
|
-
- README_ru.
|
201
|
+
- README.md
|
202
|
+
- README_ru.md
|
178
203
|
- Rakefile
|
179
204
|
- Vagrantfile
|
180
205
|
- bin/runit-man
|
@@ -240,13 +265,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
240
265
|
version: '0'
|
241
266
|
segments:
|
242
267
|
- 0
|
243
|
-
hash: -
|
268
|
+
hash: -2528648994926986438
|
244
269
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
245
270
|
none: false
|
246
271
|
requirements:
|
247
|
-
- - ! '
|
272
|
+
- - ! '>='
|
248
273
|
- !ruby/object:Gem::Version
|
249
|
-
version:
|
274
|
+
version: '0'
|
275
|
+
segments:
|
276
|
+
- 0
|
277
|
+
hash: -2528648994926986438
|
250
278
|
requirements:
|
251
279
|
- none
|
252
280
|
rubyforge_project:
|
@@ -257,3 +285,4 @@ summary: Runit web management tool.
|
|
257
285
|
test_files:
|
258
286
|
- spec/functional/runit-man_spec.rb
|
259
287
|
- spec/spec_helper.rb
|
288
|
+
has_rdoc:
|
data/INSTALL
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
You need ruby 1.8.6 or above and rubygems installed.
|
2
|
-
|
3
|
-
Use following command to install runit-man:
|
4
|
-
gem install runit-man
|
5
|
-
|
6
|
-
Take a look at runit-man script options:
|
7
|
-
|
8
|
-
-p - Port to listen (4567 by default)
|
9
|
-
-b - IP Address to bind (0.0.0.0 by default)
|
10
|
-
-a - Directory of activated services (/etc/service by default)
|
11
|
-
-f - Directory of all known services (/etc/sv by default)
|
12
|
-
-u - User and password delimited by ':' for HTTP authentication (disabled by default)
|
13
|
-
-r - Register runit-man as runit service (as defined by other options)
|
14
|
-
--rackup='command' - Runs specified command in folder where is runit'man's config.ru located.
|
15
|
-
|
16
|
-
Usually you need thin gem to run runit-man effectively.
|
17
|
-
gem install thin
|
18
|
-
|
19
|
-
When You need to handle large files (logs etc.) by runit-man script You need another setup:
|
20
|
-
* Install rainbows gem (it prevents memory consumption).
|
21
|
-
* Upgrade rack gem to version 1.3 or higher and install sendfile gem if possible (It decreases CPU usage in combination with rainbows).
|
22
|
-
* Run runit-man as:
|
23
|
-
|
24
|
-
runit-man --rackup='rainbows -E production -c rainbows.conf -p <PORT>'
|
25
|
-
|
26
|
-
Any localization can be done by editing of ./i18n/*.yml locale files.
|
27
|
-
Contributions are welcome.
|
28
|
-
|
29
|
-
runit home page: http://smarden.org/runit/
|
30
|
-
runit-man home page: https://github.com/Undev/runit-man
|
31
|
-
|
32
|
-
Yours sincerely,
|
33
|
-
Akzhan.
|