foreman 0.83.0 → 0.84.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.
- checksums.yaml +4 -4
- data/data/export/supervisord/app.conf.erb +0 -1
- data/data/export/systemd/process.service.erb +4 -2
- data/lib/foreman/engine.rb +8 -1
- data/lib/foreman/version.rb +1 -1
- data/man/foreman.1 +1 -1
- data/spec/foreman/export/systemd_spec.rb +6 -0
- data/spec/resources/export/supervisord/app-alpha-1.conf +0 -4
- data/spec/resources/export/supervisord/app-alpha-2.conf +0 -2
- data/spec/resources/export/systemd/app-alpha@.service +1 -1
- data/spec/resources/export/systemd/app-bravo@.service +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 07592e3ada2314429eef1c9e1c0ba6bece95ab7e
|
4
|
+
data.tar.gz: 445fb48e93a2447988598b2db0f60a78c1991b14
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 546d1fb8701f569b96ba69885e6d390385abe15a309ffbe5a03a68a4cd074a878a0ba06d7dbe7f15bf0399e72c6c72097c8bfa10f94a8552b875787a9e88f1dd
|
7
|
+
data.tar.gz: d3a0b59f02ef1203f8cb4e8b354a789182cb7eaa9afd053a17bba0450f9f34ff03b287b410be514f8a759d9a7295ee080e14d75f073be65abc8281f5cd90c1f6
|
@@ -17,7 +17,6 @@ engine.each_process do |name, process|
|
|
17
17
|
command=<%= process.command %>
|
18
18
|
autostart=true
|
19
19
|
autorestart=true
|
20
|
-
stopsignal=QUIT
|
21
20
|
stdout_logfile=<%= log %>/<%= name %>-<%= num %>.log
|
22
21
|
stderr_logfile=<%= log %>/<%= name %>-<%= num %>.error.log
|
23
22
|
user=<%= user %>
|
@@ -5,8 +5,10 @@ PartOf=<%= app %>-<%= name %>.target
|
|
5
5
|
User=<%= user %>
|
6
6
|
WorkingDirectory=<%= engine.root %>
|
7
7
|
Environment=PORT=%i
|
8
|
-
<%
|
9
|
-
|
8
|
+
<% engine.env.each_pair do |var,env| -%>
|
9
|
+
Environment="<%= var.upcase %>=<%= env %>"
|
10
|
+
<% end -%>
|
11
|
+
ExecStart=/bin/bash -lc 'exec <%= process.command %>'
|
10
12
|
Restart=always
|
11
13
|
StandardInput=null
|
12
14
|
StandardOutput=syslog
|
data/lib/foreman/engine.rb
CHANGED
@@ -10,7 +10,7 @@ class Foreman::Engine
|
|
10
10
|
|
11
11
|
# The signals that the engine cares about.
|
12
12
|
#
|
13
|
-
HANDLED_SIGNALS = [ :TERM, :INT, :HUP ]
|
13
|
+
HANDLED_SIGNALS = [ :TERM, :INT, :HUP, :USR1, :USR2 ]
|
14
14
|
|
15
15
|
attr_reader :env
|
16
16
|
attr_reader :options
|
@@ -104,6 +104,8 @@ class Foreman::Engine
|
|
104
104
|
handle_interrupt
|
105
105
|
when :HUP
|
106
106
|
handle_hangup
|
107
|
+
when *HANDLED_SIGNALS
|
108
|
+
handle_signal_forward(sig)
|
107
109
|
else
|
108
110
|
system "unhandled signal #{sig}"
|
109
111
|
end
|
@@ -130,6 +132,11 @@ class Foreman::Engine
|
|
130
132
|
@shutdown = true
|
131
133
|
end
|
132
134
|
|
135
|
+
def handle_signal_forward(signal)
|
136
|
+
system "#{signal} received, forwarding it to children"
|
137
|
+
kill_children signal
|
138
|
+
end
|
139
|
+
|
133
140
|
# Register a process to be run by this +Engine+
|
134
141
|
#
|
135
142
|
# @param [String] name A name for this process
|
data/lib/foreman/version.rb
CHANGED
data/man/foreman.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "FOREMAN" "1" "January 2017" "Foreman 0.
|
4
|
+
.TH "FOREMAN" "1" "January 2017" "Foreman 0.84.0" "Foreman Manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBforeman\fR \- manage Procfile\-based applications
|
@@ -60,6 +60,12 @@ describe Foreman::Export::Systemd, :fakefs do
|
|
60
60
|
expect(File.read("/tmp/init/app-alpha@.service")).to match(/KEY=some "value"/)
|
61
61
|
end
|
62
62
|
|
63
|
+
it "includes ExecStart line" do
|
64
|
+
engine.env['KEY'] = 'some "value"'
|
65
|
+
systemd.export
|
66
|
+
expect(File.read("/tmp/init/app-alpha@.service")).to match(/^ExecStart=/)
|
67
|
+
end
|
68
|
+
|
63
69
|
context "with a formation" do
|
64
70
|
let(:formation) { "alpha=2" }
|
65
71
|
|
@@ -2,7 +2,6 @@
|
|
2
2
|
command=./alpha
|
3
3
|
autostart=true
|
4
4
|
autorestart=true
|
5
|
-
stopsignal=QUIT
|
6
5
|
stdout_logfile=/var/log/app/alpha-1.log
|
7
6
|
stderr_logfile=/var/log/app/alpha-1.error.log
|
8
7
|
user=app
|
@@ -13,7 +12,6 @@ environment=FOO="bar",URL="http://example.com/api?foo=bar&baz=1",PORT="5000"
|
|
13
12
|
command=./bravo
|
14
13
|
autostart=true
|
15
14
|
autorestart=true
|
16
|
-
stopsignal=QUIT
|
17
15
|
stdout_logfile=/var/log/app/bravo-1.log
|
18
16
|
stderr_logfile=/var/log/app/bravo-1.error.log
|
19
17
|
user=app
|
@@ -24,7 +22,6 @@ environment=FOO="bar",URL="http://example.com/api?foo=bar&baz=1",PORT="5100"
|
|
24
22
|
command=./foo_bar
|
25
23
|
autostart=true
|
26
24
|
autorestart=true
|
27
|
-
stopsignal=QUIT
|
28
25
|
stdout_logfile=/var/log/app/foo_bar-1.log
|
29
26
|
stderr_logfile=/var/log/app/foo_bar-1.error.log
|
30
27
|
user=app
|
@@ -35,7 +32,6 @@ environment=FOO="bar",URL="http://example.com/api?foo=bar&baz=1",PORT="5200"
|
|
35
32
|
command=./foo-bar
|
36
33
|
autostart=true
|
37
34
|
autorestart=true
|
38
|
-
stopsignal=QUIT
|
39
35
|
stdout_logfile=/var/log/app/foo-bar-1.log
|
40
36
|
stderr_logfile=/var/log/app/foo-bar-1.error.log
|
41
37
|
user=app
|
@@ -2,7 +2,6 @@
|
|
2
2
|
command=./alpha
|
3
3
|
autostart=true
|
4
4
|
autorestart=true
|
5
|
-
stopsignal=QUIT
|
6
5
|
stdout_logfile=/var/log/app/alpha-1.log
|
7
6
|
stderr_logfile=/var/log/app/alpha-1.error.log
|
8
7
|
user=app
|
@@ -13,7 +12,6 @@ environment=PORT="5000"
|
|
13
12
|
command=./alpha
|
14
13
|
autostart=true
|
15
14
|
autorestart=true
|
16
|
-
stopsignal=QUIT
|
17
15
|
stdout_logfile=/var/log/app/alpha-2.log
|
18
16
|
stderr_logfile=/var/log/app/alpha-2.error.log
|
19
17
|
user=app
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.84.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Dollar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|