foreman 0.67.0 → 0.69.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +14 -0
- data/data/export/upstart/process.conf.erb +1 -1
- data/lib/foreman.rb +0 -2
- data/lib/foreman/cli.rb +0 -9
- data/lib/foreman/engine.rb +28 -22
- data/lib/foreman/process.rb +2 -51
- data/lib/foreman/version.rb +1 -1
- data/man/foreman.1 +1 -1
- data/spec/foreman/cli_spec.rb +18 -26
- data/spec/foreman/engine_spec.rb +13 -13
- data/spec/foreman/export/base_spec.rb +1 -1
- data/spec/foreman/export/bluepill_spec.rb +2 -2
- data/spec/foreman/export/daemon_spec.rb +12 -12
- data/spec/foreman/export/inittab_spec.rb +2 -2
- data/spec/foreman/export/launchd_spec.rb +3 -3
- data/spec/foreman/export/runit_spec.rb +12 -12
- data/spec/foreman/export/supervisord_spec.rb +2 -2
- data/spec/foreman/export/systemd_spec.rb +13 -13
- data/spec/foreman/export/upstart_spec.rb +14 -14
- data/spec/foreman/helpers_spec.rb +4 -4
- data/spec/foreman/process_spec.rb +29 -6
- data/spec/foreman/procfile_spec.rb +9 -9
- data/spec/foreman_spec.rb +1 -1
- data/spec/helper_spec.rb +3 -2
- data/spec/resources/export/bluepill/app-concurrency.pill +2 -2
- data/spec/resources/export/bluepill/app.pill +4 -4
- data/spec/resources/export/runit/app-alpha-1/run +1 -0
- data/spec/resources/export/runit/app-alpha-2/run +1 -0
- data/spec/resources/export/runit/app-bravo-1/run +1 -0
- data/spec/resources/export/systemd/{app-alpha-1.service → concurrency/app-alpha-1.service} +0 -3
- data/spec/resources/export/systemd/{app-alpha-2.service → concurrency/app-alpha-2.service} +0 -3
- data/spec/resources/export/systemd/concurrency/app-alpha.target +3 -0
- data/spec/resources/export/systemd/concurrency/app.target +6 -0
- data/spec/resources/export/systemd/standard/app-alpha-1.service +14 -0
- data/spec/resources/export/systemd/standard/app-alpha.target +3 -0
- data/spec/resources/export/systemd/{app-bravo-1.service → standard/app-bravo-1.service} +0 -3
- data/spec/resources/export/systemd/standard/app-bravo.target +3 -0
- data/spec/resources/export/systemd/standard/app.target +6 -0
- data/spec/resources/export/upstart/app-alpha-1.conf +7 -1
- data/spec/resources/export/upstart/app-alpha-2.conf +7 -1
- data/spec/resources/export/upstart/app-bravo-1.conf +7 -1
- data/spec/resources/export/upstart/app.conf +1 -11
- data/spec/spec_helper.rb +8 -23
- metadata +16 -25
- data/spec/resources/export/systemd/app-alpha.target +0 -5
- data/spec/resources/export/systemd/app-bravo.target +0 -5
- data/spec/resources/export/systemd/app.target +0 -1
@@ -0,0 +1,14 @@
|
|
1
|
+
[Unit]
|
2
|
+
StopWhenUnneeded=true
|
3
|
+
|
4
|
+
[Service]
|
5
|
+
User=app
|
6
|
+
WorkingDirectory=/tmp/app
|
7
|
+
Environment=PORT=5000
|
8
|
+
ExecStart=/bin/bash -lc './alpha'
|
9
|
+
Restart=always
|
10
|
+
StandardInput=null
|
11
|
+
StandardOutput=syslog
|
12
|
+
StandardError=syslog
|
13
|
+
SyslogIdentifier=%n
|
14
|
+
KillMode=process
|
@@ -2,4 +2,10 @@ start on starting app-alpha
|
|
2
2
|
stop on stopping app-alpha
|
3
3
|
respawn
|
4
4
|
|
5
|
-
|
5
|
+
env PORT=5000
|
6
|
+
|
7
|
+
setuid app
|
8
|
+
|
9
|
+
chdir /tmp/app
|
10
|
+
|
11
|
+
exec ./alpha >> /var/log/app/alpha-1.log 2>&1
|
@@ -2,4 +2,10 @@ start on starting app-alpha
|
|
2
2
|
stop on stopping app-alpha
|
3
3
|
respawn
|
4
4
|
|
5
|
-
|
5
|
+
env PORT=5001
|
6
|
+
|
7
|
+
setuid app
|
8
|
+
|
9
|
+
chdir /tmp/app
|
10
|
+
|
11
|
+
exec ./alpha >> /var/log/app/alpha-2.log 2>&1
|
@@ -2,4 +2,10 @@ start on starting app-bravo
|
|
2
2
|
stop on stopping app-bravo
|
3
3
|
respawn
|
4
4
|
|
5
|
-
|
5
|
+
env PORT=5100
|
6
|
+
|
7
|
+
setuid app
|
8
|
+
|
9
|
+
chdir /tmp/app
|
10
|
+
|
11
|
+
exec ./bravo >> /var/log/app/bravo-1.log 2>&1
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require "codeclimate-test-reporter"
|
2
|
+
CodeClimate::TestReporter.start
|
3
|
+
|
1
4
|
require "simplecov"
|
2
5
|
SimpleCov.start do
|
3
6
|
add_filter "/spec/"
|
@@ -10,17 +13,8 @@ require "fakefs/spec_helpers"
|
|
10
13
|
|
11
14
|
$:.unshift File.expand_path("../../lib", __FILE__)
|
12
15
|
|
13
|
-
begin
|
14
|
-
def running_ruby_18?
|
15
|
-
defined?(RUBY_VERSION) and RUBY_VERSION =~ /^1\.8\.\d+/
|
16
|
-
end
|
17
|
-
require 'posix/spawn' if running_ruby_18?
|
18
|
-
rescue LoadError
|
19
|
-
STDERR.puts "WARNING: foreman requires gem `posix-spawn` on Ruby #{RUBY_VERSION}. Please `gem install posix-spawn`."
|
20
|
-
end
|
21
|
-
|
22
16
|
def mock_export_error(message)
|
23
|
-
|
17
|
+
expect { yield }.to raise_error(Foreman::Export::Exception, message)
|
24
18
|
end
|
25
19
|
|
26
20
|
def mock_error(subject, message)
|
@@ -45,11 +39,7 @@ end
|
|
45
39
|
|
46
40
|
def forked_foreman(args)
|
47
41
|
rd, wr = make_pipe
|
48
|
-
|
49
|
-
POSIX::Spawn.spawn({}, "bundle exec bin/foreman #{args}", :out => wr, :err => wr)
|
50
|
-
else
|
51
|
-
Process.spawn("bundle exec bin/foreman #{args}", :out => wr, :err => wr)
|
52
|
-
end
|
42
|
+
Process.spawn("bundle exec bin/foreman #{args}", :out => wr, :err => wr)
|
53
43
|
wr.close
|
54
44
|
rd.read
|
55
45
|
end
|
@@ -74,17 +64,13 @@ def fork_and_capture(&blk)
|
|
74
64
|
end
|
75
65
|
|
76
66
|
def fork_and_get_exitstatus(args)
|
77
|
-
pid =
|
78
|
-
POSIX::Spawn.spawn({}, "bundle exec bin/foreman #{args}", :out => "/dev/null", :err => "/dev/null")
|
79
|
-
else
|
80
|
-
Process.spawn("bundle exec bin/foreman #{args}", :out => "/dev/null", :err => "/dev/null")
|
81
|
-
end
|
67
|
+
pid = Process.spawn("bundle exec bin/foreman #{args}", :out => "/dev/null", :err => "/dev/null")
|
82
68
|
Process.wait(pid)
|
83
69
|
$?.exitstatus
|
84
70
|
end
|
85
71
|
|
86
72
|
def mock_exit(&block)
|
87
|
-
block.
|
73
|
+
expect(block).to raise_error(SystemExit)
|
88
74
|
end
|
89
75
|
|
90
76
|
def write_foreman_config(app)
|
@@ -173,9 +159,8 @@ end
|
|
173
159
|
|
174
160
|
RSpec.configure do |config|
|
175
161
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
176
|
-
config.
|
162
|
+
config.color = true
|
177
163
|
config.order = 'rand'
|
178
164
|
config.include FakeFS::SpecHelpers, :fakefs
|
179
165
|
config.mock_with :rr
|
180
|
-
config.backtrace_clean_patterns = []
|
181
166
|
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.69.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- David Dollar
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-06-03 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: thor
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: dotenv
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -136,12 +131,15 @@ files:
|
|
136
131
|
- spec/resources/export/runit/app-bravo-1/run
|
137
132
|
- spec/resources/export/supervisord/app-alpha-1.conf
|
138
133
|
- spec/resources/export/supervisord/app-alpha-2.conf
|
139
|
-
- spec/resources/export/systemd/app-alpha-1.service
|
140
|
-
- spec/resources/export/systemd/app-alpha-2.service
|
141
|
-
- spec/resources/export/systemd/app-alpha.target
|
142
|
-
- spec/resources/export/systemd/app
|
143
|
-
- spec/resources/export/systemd/app-
|
144
|
-
- spec/resources/export/systemd/app.target
|
134
|
+
- spec/resources/export/systemd/concurrency/app-alpha-1.service
|
135
|
+
- spec/resources/export/systemd/concurrency/app-alpha-2.service
|
136
|
+
- spec/resources/export/systemd/concurrency/app-alpha.target
|
137
|
+
- spec/resources/export/systemd/concurrency/app.target
|
138
|
+
- spec/resources/export/systemd/standard/app-alpha-1.service
|
139
|
+
- spec/resources/export/systemd/standard/app-alpha.target
|
140
|
+
- spec/resources/export/systemd/standard/app-bravo-1.service
|
141
|
+
- spec/resources/export/systemd/standard/app-bravo.target
|
142
|
+
- spec/resources/export/systemd/standard/app.target
|
145
143
|
- spec/resources/export/upstart/app-alpha-1.conf
|
146
144
|
- spec/resources/export/upstart/app-alpha-2.conf
|
147
145
|
- spec/resources/export/upstart/app-alpha.conf
|
@@ -154,33 +152,26 @@ files:
|
|
154
152
|
homepage: http://github.com/ddollar/foreman
|
155
153
|
licenses:
|
156
154
|
- MIT
|
155
|
+
metadata: {}
|
157
156
|
post_install_message:
|
158
157
|
rdoc_options: []
|
159
158
|
require_paths:
|
160
159
|
- lib
|
161
160
|
required_ruby_version: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
161
|
requirements:
|
164
|
-
- -
|
162
|
+
- - '>='
|
165
163
|
- !ruby/object:Gem::Version
|
166
164
|
version: '0'
|
167
|
-
segments:
|
168
|
-
- 0
|
169
|
-
hash: -2084842679123985083
|
170
165
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
166
|
requirements:
|
173
|
-
- -
|
167
|
+
- - '>='
|
174
168
|
- !ruby/object:Gem::Version
|
175
169
|
version: '0'
|
176
|
-
segments:
|
177
|
-
- 0
|
178
|
-
hash: -2084842679123985083
|
179
170
|
requirements: []
|
180
171
|
rubyforge_project:
|
181
|
-
rubygems_version:
|
172
|
+
rubygems_version: 2.0.14
|
182
173
|
signing_key:
|
183
|
-
specification_version:
|
174
|
+
specification_version: 4
|
184
175
|
summary: Process manager for applications with multiple components
|
185
176
|
test_files: []
|
186
177
|
has_rdoc:
|
@@ -1 +0,0 @@
|
|
1
|
-
[Unit]
|