foreman 0.19.0 → 0.20.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/lib/foreman/engine.rb +2 -2
- data/lib/foreman/export/base.rb +2 -0
- data/lib/foreman/version.rb +1 -1
- data/man/foreman.1 +16 -2
- data/spec/foreman/export/upstart_spec.rb +16 -0
- data/spec/spec_helper.rb +1 -0
- metadata +80 -87
data/lib/foreman/engine.rb
CHANGED
@@ -25,7 +25,7 @@ class Foreman::Engine
|
|
25
25
|
@processes ||= begin
|
26
26
|
@order = []
|
27
27
|
procfile.split("\n").inject({}) do |hash, line|
|
28
|
-
next if line.strip == ""
|
28
|
+
next hash if line.strip == ""
|
29
29
|
name, command = line.split(/ *: +/, 2)
|
30
30
|
unless command
|
31
31
|
warn_deprecated_procfile!
|
@@ -119,7 +119,7 @@ private ######################################################################
|
|
119
119
|
end
|
120
120
|
end
|
121
121
|
end
|
122
|
-
rescue PTY::ChildExited, Interrupt
|
122
|
+
rescue PTY::ChildExited, Interrupt, Errno::EIO
|
123
123
|
begin
|
124
124
|
info "process exiting", process
|
125
125
|
rescue Interrupt
|
data/lib/foreman/export/base.rb
CHANGED
@@ -26,6 +26,8 @@ private ######################################################################
|
|
26
26
|
def export_template(exporter, file, template_root)
|
27
27
|
if template_root && File.exist?(file_path = File.join(template_root, file))
|
28
28
|
File.read(file_path)
|
29
|
+
elsif File.exist?(file_path = File.join("~/.foreman/templates", file))
|
30
|
+
File.read(file_path)
|
29
31
|
else
|
30
32
|
File.read(File.expand_path("../../../../data/export/#{exporter}/#{file}", __FILE__))
|
31
33
|
end
|
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" "
|
4
|
+
.TH "FOREMAN" "1" "August 2011" "Foreman 0.19.0" "Foreman Manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBforeman\fR \- manage Procfile\-based applications
|
@@ -69,7 +69,7 @@ These options control all modes of foreman\'s operation\.
|
|
69
69
|
.
|
70
70
|
.TP
|
71
71
|
\fB\-e\fR, \fB\-\-env\fR
|
72
|
-
Specify
|
72
|
+
Specify an alternate environment file\.
|
73
73
|
.
|
74
74
|
.TP
|
75
75
|
\fB\-f\fR, \fB\-\-procfile\fR
|
@@ -141,6 +141,20 @@ $ foreman check
|
|
141
141
|
.
|
142
142
|
.IP "" 0
|
143
143
|
.
|
144
|
+
.SH "ENVIRONMENT"
|
145
|
+
If a \fB\.env\fR file exists in the current directory, the default environment will be read from it\. This file should contain key/value pairs, separated by \fB=\fR, with one key/value pair per line\.
|
146
|
+
.
|
147
|
+
.IP "" 4
|
148
|
+
.
|
149
|
+
.nf
|
150
|
+
|
151
|
+
FOO=bar
|
152
|
+
BAZ=qux
|
153
|
+
.
|
154
|
+
.fi
|
155
|
+
.
|
156
|
+
.IP "" 0
|
157
|
+
.
|
144
158
|
.SH "DEFAULT OPTIONS"
|
145
159
|
If a \fB\.foreman\fR file exists in the current directory, default options will be read from it\. This file should be in YAML format with the long option name as keys\. Example:
|
146
160
|
.
|
@@ -36,4 +36,20 @@ describe Foreman::Export::Upstart do
|
|
36
36
|
File.read("/tmp/init/app.conf").should == "alternate_template\n"
|
37
37
|
end
|
38
38
|
end
|
39
|
+
|
40
|
+
context "with alternate templates from home dir" do
|
41
|
+
let(:default_template_root) {File.expand_path("~/.foreman/templates")}
|
42
|
+
|
43
|
+
before do
|
44
|
+
FileUtils.mkdir_p default_template_root
|
45
|
+
File.open("#{default_template_root}/master.conf.erb", "w") { |f| f.puts "default_alternate_template" }
|
46
|
+
end
|
47
|
+
|
48
|
+
it "can export with alternate template files" do
|
49
|
+
upstart.export("/tmp/init")
|
50
|
+
|
51
|
+
File.read("/tmp/init/app.conf").should == "default_alternate_template\n"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
39
55
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,126 +1,123 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.20.0
|
4
5
|
prerelease:
|
5
|
-
version: 0.19.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- David Dollar
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
date: 2011-06-27 00:00:00 -04:00
|
12
|
+
date: 2011-08-22 00:00:00.000000000 -04:00
|
14
13
|
default_executable:
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
17
16
|
name: term-ansicolor
|
18
|
-
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &70126646392860 !ruby/object:Gem::Requirement
|
20
18
|
none: false
|
21
|
-
requirements:
|
19
|
+
requirements:
|
22
20
|
- - ~>
|
23
|
-
- !ruby/object:Gem::Version
|
21
|
+
- !ruby/object:Gem::Version
|
24
22
|
version: 1.0.5
|
25
23
|
type: :runtime
|
26
|
-
version_requirements: *id001
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: thor
|
29
24
|
prerelease: false
|
30
|
-
|
25
|
+
version_requirements: *70126646392860
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: thor
|
28
|
+
requirement: &70126646392380 !ruby/object:Gem::Requirement
|
31
29
|
none: false
|
32
|
-
requirements:
|
33
|
-
- -
|
34
|
-
- !ruby/object:Gem::Version
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
35
33
|
version: 0.13.6
|
36
34
|
type: :runtime
|
37
|
-
version_requirements: *id002
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: parka
|
40
35
|
prerelease: false
|
41
|
-
|
36
|
+
version_requirements: *70126646392380
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: parka
|
39
|
+
requirement: &70126646392000 !ruby/object:Gem::Requirement
|
42
40
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version:
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
47
45
|
type: :development
|
48
|
-
version_requirements: *id003
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: rake
|
51
46
|
prerelease: false
|
52
|
-
|
47
|
+
version_requirements: *70126646392000
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rake
|
50
|
+
requirement: &70126646391520 !ruby/object:Gem::Requirement
|
53
51
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version:
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
58
56
|
type: :development
|
59
|
-
version_requirements: *id004
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: ronn
|
62
57
|
prerelease: false
|
63
|
-
|
58
|
+
version_requirements: *70126646391520
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: ronn
|
61
|
+
requirement: &70126646391100 !ruby/object:Gem::Requirement
|
64
62
|
none: false
|
65
|
-
requirements:
|
66
|
-
- -
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version:
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
69
67
|
type: :development
|
70
|
-
version_requirements: *id005
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: fakefs
|
73
68
|
prerelease: false
|
74
|
-
|
69
|
+
version_requirements: *70126646391100
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: fakefs
|
72
|
+
requirement: &70126646390600 !ruby/object:Gem::Requirement
|
75
73
|
none: false
|
76
|
-
requirements:
|
74
|
+
requirements:
|
77
75
|
- - ~>
|
78
|
-
- !ruby/object:Gem::Version
|
76
|
+
- !ruby/object:Gem::Version
|
79
77
|
version: 0.2.1
|
80
78
|
type: :development
|
81
|
-
version_requirements: *id006
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: rcov
|
84
79
|
prerelease: false
|
85
|
-
|
80
|
+
version_requirements: *70126646390600
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: rcov
|
83
|
+
requirement: &70126646389740 !ruby/object:Gem::Requirement
|
86
84
|
none: false
|
87
|
-
requirements:
|
85
|
+
requirements:
|
88
86
|
- - ~>
|
89
|
-
- !ruby/object:Gem::Version
|
87
|
+
- !ruby/object:Gem::Version
|
90
88
|
version: 0.9.8
|
91
89
|
type: :development
|
92
|
-
version_requirements: *id007
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: rr
|
95
90
|
prerelease: false
|
96
|
-
|
91
|
+
version_requirements: *70126646389740
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: rr
|
94
|
+
requirement: &70126646389100 !ruby/object:Gem::Requirement
|
97
95
|
none: false
|
98
|
-
requirements:
|
96
|
+
requirements:
|
99
97
|
- - ~>
|
100
|
-
- !ruby/object:Gem::Version
|
98
|
+
- !ruby/object:Gem::Version
|
101
99
|
version: 1.0.2
|
102
100
|
type: :development
|
103
|
-
version_requirements: *id008
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: rspec
|
106
101
|
prerelease: false
|
107
|
-
|
102
|
+
version_requirements: *70126646389100
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: rspec
|
105
|
+
requirement: &70126646388400 !ruby/object:Gem::Requirement
|
108
106
|
none: false
|
109
|
-
requirements:
|
107
|
+
requirements:
|
110
108
|
- - ~>
|
111
|
-
- !ruby/object:Gem::Version
|
109
|
+
- !ruby/object:Gem::Version
|
112
110
|
version: 2.6.0
|
113
111
|
type: :development
|
114
|
-
|
112
|
+
prerelease: false
|
113
|
+
version_requirements: *70126646388400
|
115
114
|
description: Process manager for applications with multiple components
|
116
115
|
email: ddollar@gmail.com
|
117
|
-
executables:
|
116
|
+
executables:
|
118
117
|
- foreman
|
119
118
|
extensions: []
|
120
|
-
|
121
119
|
extra_rdoc_files: []
|
122
|
-
|
123
|
-
files:
|
120
|
+
files:
|
124
121
|
- bin/foreman
|
125
122
|
- bin/foreman-runner
|
126
123
|
- data/example/error
|
@@ -159,30 +156,26 @@ files:
|
|
159
156
|
has_rdoc: true
|
160
157
|
homepage: http://github.com/ddollar/foreman
|
161
158
|
licenses: []
|
162
|
-
|
163
159
|
post_install_message:
|
164
160
|
rdoc_options: []
|
165
|
-
|
166
|
-
require_paths:
|
161
|
+
require_paths:
|
167
162
|
- lib
|
168
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
163
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
169
164
|
none: false
|
170
|
-
requirements:
|
171
|
-
- -
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version:
|
174
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ! '>='
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: '0'
|
169
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
170
|
none: false
|
176
|
-
requirements:
|
177
|
-
- -
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version:
|
171
|
+
requirements:
|
172
|
+
- - ! '>='
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '0'
|
180
175
|
requirements: []
|
181
|
-
|
182
176
|
rubyforge_project:
|
183
177
|
rubygems_version: 1.6.2
|
184
178
|
signing_key:
|
185
179
|
specification_version: 3
|
186
180
|
summary: Process manager for applications with multiple components
|
187
181
|
test_files: []
|
188
|
-
|