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 CHANGED
@@ -2,5 +2,7 @@
2
2
  *.gem
3
3
  .bundle/
4
4
  .vagrant
5
+ .yardoc/
6
+ doc/
5
7
  Gemfile.lock
6
8
 
@@ -0,0 +1,14 @@
1
+ --markup markdown
2
+ --markup-provider redcarpet
3
+ --charset utf-8
4
+ --no-private
5
+ --readme README.md
6
+ --title "runit-man Documentation"
7
+ -
8
+ README.md
9
+ INSTALL.md
10
+ CHANGELOG.md
11
+ README_ru.md
12
+ LICENSE
13
+ DESCRIPTION
14
+
@@ -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 <tt>bundle exec</tt> is fixed.
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's equal to ':').
27
- * Enabling of using 'bundle exec rake ...' command.
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 it's available to decrease CPU usage on serving large files.
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, that's broken from 1.11.x (thanks to verm666).
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 it's name cannot be resolved by DNS.
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 doesn't update binaries).
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
@@ -7,3 +7,7 @@ group :rainbows do
7
7
  gem "sendfile", :platforms => "mri_18"
8
8
  end
9
9
 
10
+ group :development do
11
+ gem "ripper", :platforms => "ruby_18"
12
+ end
13
+
@@ -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
- `gem install runit-man thin`
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
- This command installs runit-man as runit service (using default folders */etc/sv/* and */etc/service/*).
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 **./runit-man/files-to-view/** folder.
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 **./runit-man/urls-to-view/** folder.
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 **./runit-man/allowed-signals/** folder.
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
- `exec svlogd options log_directory_location`
95
+
96
+ ```bash
97
+ exec svlogd <options> $LOG_DIRECTORY_LOCATION
98
+ ```
90
99
 
91
100
  #### logger
92
101
  Use logger like:
93
- `exec logger -i -t "runit-man" -p local1.info`
94
- and use option -l "logger:/var/log/" where base logs directory shown after period.
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
- `gem install runit-man thin`
14
+
15
+ ```bash
16
+ gem install runit-man thin
17
+ ```
15
18
 
16
19
  Прагматично установить runit-man как один из сервисов runit, например, так:
17
- `runit-man -p 14500 -r`
20
+ ```bash
21
+ runit-man -p 14500 -r
22
+ ```
18
23
 
19
- Эта команда создаёт сервис runit-man, как один из обычных активных сервисов runit (используя каталоги */etc/sv/* and */etc/service/* по умолчанию).
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 эта утилита просматривает каталог **./runit-man/files-to-view/**.
39
+ Для каждого известного сервиса runit эта утилита просматривает каталог `./runit-man/files-to-view/`.
35
40
  Каждый симлинк в этом каталоге будет показан как ссылка на просмотр содержимого целевого файла.
36
41
 
37
42
  ### Показ ссылок, относящихся к конкретному сервису
38
43
 
39
- Для каждого известного сервиса runit эта утилита просматривает каталог **./runit-man/urls-to-view/**.
44
+ Для каждого известного сервиса runit эта утилита просматривает каталог `./runit-man/urls-to-view/`.
40
45
  Каждый файл, имеющий расширение .url, будет показан, как сылка на просмотр целевой локации (которая берётся как содержимое файла).
41
46
 
42
47
  ### Показ кнопок, которые посылают сигналы выбранному процессу
43
48
 
44
- Для каждого известного сервиса runit эта утилита просматривает каталог **./runit-man/allowed-signals/**.
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
- `exec svlogd options log_directory_location`
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
- При этом нужно использовать опцию -l "logger:/var/log/", где после двоеточия надо указывать базовый каталог логов.
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 'bundler'
27
- Bundler.setup(:default)
28
- Bundler::GemHelper.install_tasks
35
+ require 'yard'
36
+
37
+ YARD::Rake::YardocTask.new
29
38
  rescue LoadError
30
- $stderr.puts "Bundler not available. Install it with: gem install bundler"
39
+ $stderr.puts "YARD not available. Install it with: gem install yard"
31
40
  end
32
41
 
@@ -1,6 +1,8 @@
1
1
  # Namespace: Information about service
2
2
  module ServiceInfo
3
3
  class << self
4
+ # Actual descendant class used to instantiate service information instances.
5
+ # @return [Class] Actual descendant class.
4
6
  attr_accessor :klass
5
7
  end
6
8
  end
@@ -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.atime.utc, stats.mtime.utc]
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.atime.utc, stats.mtime.utc]
34
+ stat_times = [stats.ctime.utc, stats.mtime.utc]
35
35
  min_time, max_time = stat_times.min, stat_times.max
36
36
 
37
- label = "#{Utils.host_name}-#{self.name}-#{I18n.l(min_time)}-#{I18n.l(max_time)}.log"
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,
@@ -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
+
@@ -1,4 +1,6 @@
1
+ # runit-man namespace.
1
2
  module RunitMan
2
- VERSION = '2.4.0a2'.freeze
3
+ # runit-man version.
4
+ VERSION = '2.4.0'.freeze
3
5
  end
4
6
 
@@ -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.markdown"
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.0a2
5
- prerelease: 5
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-10 00:00:00.000000000 Z
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: &2158419480 !ruby/object:Gem::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: *2158419480
24
+ version_requirements: *2153692900
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: haml
27
- requirement: &2158418760 !ruby/object:Gem::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: *2158418760
35
+ version_requirements: *2153692360
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sinatra
38
- requirement: &2158418300 !ruby/object:Gem::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: *2158418300
46
+ version_requirements: *2153691880
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sinatra-content-for2
49
- requirement: &2158417420 !ruby/object:Gem::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: *2158417420
57
+ version_requirements: *2153691360
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: i18n
60
- requirement: &2158416360 !ruby/object:Gem::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: *2158416360
68
+ version_requirements: *2153690820
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: file-tail
71
- requirement: &2158414440 !ruby/object:Gem::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: *2158414440
79
+ version_requirements: *2153690260
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rake
82
- requirement: &2158413020 !ruby/object:Gem::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: *2158413020
93
+ version_requirements: *2153689620
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: rspec-core
96
- requirement: &2158412020 !ruby/object:Gem::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: *2158412020
104
+ version_requirements: *2153688780
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: rspec-expectations
107
- requirement: &2158410660 !ruby/object:Gem::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: *2158410660
115
+ version_requirements: *2153688140
116
116
  - !ruby/object:Gem::Dependency
117
117
  name: rr
118
- requirement: &2158410240 !ruby/object:Gem::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: *2158410240
126
+ version_requirements: *2153686480
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: rack-test
129
- requirement: &2158409720 !ruby/object:Gem::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: *2158409720
137
+ version_requirements: *2153685940
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: bundler
140
- requirement: &2158408740 !ruby/object:Gem::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: *2158408740
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.markdown
189
+ - README.md
190
+ - INSTALL.md
191
+ - CHANGELOG.md
168
192
  files:
169
193
  - .gitignore
170
194
  - .gitmodules
171
- - CHANGELOG.markdown
195
+ - .yardopts
196
+ - CHANGELOG.md
172
197
  - DESCRIPTION
173
198
  - Gemfile
174
- - INSTALL
199
+ - INSTALL.md
175
200
  - LICENSE
176
- - README.markdown
177
- - README_ru.markdown
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: -1381096489065286937
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: 1.3.1
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.