foreman 0.67.0-mingw32 → 0.69.0-mingw32

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.
Files changed (48) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +14 -0
  3. data/data/export/upstart/process.conf.erb +1 -1
  4. data/lib/foreman.rb +0 -2
  5. data/lib/foreman/cli.rb +0 -9
  6. data/lib/foreman/engine.rb +28 -22
  7. data/lib/foreman/process.rb +2 -51
  8. data/lib/foreman/version.rb +1 -1
  9. data/man/foreman.1 +1 -1
  10. data/spec/foreman/cli_spec.rb +18 -26
  11. data/spec/foreman/engine_spec.rb +13 -13
  12. data/spec/foreman/export/base_spec.rb +1 -1
  13. data/spec/foreman/export/bluepill_spec.rb +2 -2
  14. data/spec/foreman/export/daemon_spec.rb +12 -12
  15. data/spec/foreman/export/inittab_spec.rb +2 -2
  16. data/spec/foreman/export/launchd_spec.rb +3 -3
  17. data/spec/foreman/export/runit_spec.rb +12 -12
  18. data/spec/foreman/export/supervisord_spec.rb +2 -2
  19. data/spec/foreman/export/systemd_spec.rb +13 -13
  20. data/spec/foreman/export/upstart_spec.rb +14 -14
  21. data/spec/foreman/helpers_spec.rb +4 -4
  22. data/spec/foreman/process_spec.rb +29 -6
  23. data/spec/foreman/procfile_spec.rb +9 -9
  24. data/spec/foreman_spec.rb +1 -1
  25. data/spec/helper_spec.rb +3 -2
  26. data/spec/resources/export/bluepill/app-concurrency.pill +2 -2
  27. data/spec/resources/export/bluepill/app.pill +4 -4
  28. data/spec/resources/export/runit/app-alpha-1/run +1 -0
  29. data/spec/resources/export/runit/app-alpha-2/run +1 -0
  30. data/spec/resources/export/runit/app-bravo-1/run +1 -0
  31. data/spec/resources/export/systemd/{app-alpha-1.service → concurrency/app-alpha-1.service} +0 -3
  32. data/spec/resources/export/systemd/{app-alpha-2.service → concurrency/app-alpha-2.service} +0 -3
  33. data/spec/resources/export/systemd/concurrency/app-alpha.target +3 -0
  34. data/spec/resources/export/systemd/concurrency/app.target +6 -0
  35. data/spec/resources/export/systemd/standard/app-alpha-1.service +14 -0
  36. data/spec/resources/export/systemd/standard/app-alpha.target +3 -0
  37. data/spec/resources/export/systemd/{app-bravo-1.service → standard/app-bravo-1.service} +0 -3
  38. data/spec/resources/export/systemd/standard/app-bravo.target +3 -0
  39. data/spec/resources/export/systemd/standard/app.target +6 -0
  40. data/spec/resources/export/upstart/app-alpha-1.conf +7 -1
  41. data/spec/resources/export/upstart/app-alpha-2.conf +7 -1
  42. data/spec/resources/export/upstart/app-bravo-1.conf +7 -1
  43. data/spec/resources/export/upstart/app.conf +1 -11
  44. data/spec/spec_helper.rb +8 -23
  45. metadata +16 -21
  46. data/spec/resources/export/systemd/app-alpha.target +0 -5
  47. data/spec/resources/export/systemd/app-bravo.target +0 -5
  48. data/spec/resources/export/systemd/app.target +0 -1
@@ -0,0 +1,3 @@
1
+ [Unit]
2
+ StopWhenUnneeded=true
3
+ Wants=app-alpha-1.service app-alpha-2.service
@@ -0,0 +1,6 @@
1
+ [Unit]
2
+ StopWhenUnneeded=true
3
+ Wants=app-alpha.target
4
+
5
+ [Install]
6
+ WantedBy=multi-user.target
@@ -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
@@ -0,0 +1,3 @@
1
+ [Unit]
2
+ StopWhenUnneeded=true
3
+ Wants=app-alpha-1.service
@@ -12,6 +12,3 @@ StandardOutput=syslog
12
12
  StandardError=syslog
13
13
  SyslogIdentifier=%n
14
14
  KillMode=process
15
-
16
- [Install]
17
- WantedBy=app-bravo.target
@@ -0,0 +1,3 @@
1
+ [Unit]
2
+ StopWhenUnneeded=true
3
+ Wants=app-bravo-1.service
@@ -0,0 +1,6 @@
1
+ [Unit]
2
+ StopWhenUnneeded=true
3
+ Wants=app-alpha.target app-bravo.target app-foo_bar.target app-foo-bar.target
4
+
5
+ [Install]
6
+ WantedBy=multi-user.target
@@ -2,4 +2,10 @@ start on starting app-alpha
2
2
  stop on stopping app-alpha
3
3
  respawn
4
4
 
5
- exec su - app -c 'cd /tmp/app; export PORT=5000; ./alpha >> /var/log/app/alpha-1.log 2>&1'
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
- exec su - app -c 'cd /tmp/app; export PORT=5001; ./alpha >> /var/log/app/alpha-2.log 2>&1'
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
- exec su - app -c 'cd /tmp/app; export PORT=5100; ./bravo >> /var/log/app/bravo-1.log 2>&1'
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
@@ -1,12 +1,2 @@
1
- pre-start script
2
-
3
- bash << "EOF"
4
- mkdir -p /var/log/app
5
- chown -R app /var/log/app
6
- EOF
7
-
8
- end script
9
-
10
1
  start on runlevel [2345]
11
-
12
- stop on runlevel [016]
2
+ stop on runlevel [!2345]
@@ -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
- lambda { yield }.should raise_error(Foreman::Export::Exception, message)
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
- if running_ruby_18?
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 = if running_ruby_18?
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.should raise_error(SystemExit)
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.color_enabled = true
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.67.0
5
- prerelease:
4
+ version: 0.69.0
6
5
  platform: mingw32
7
6
  authors:
8
7
  - David Dollar
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-04-24 00:00:00.000000000 Z
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
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: win32console
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -152,12 +145,15 @@ files:
152
145
  - spec/resources/export/runit/app-bravo-1/run
153
146
  - spec/resources/export/supervisord/app-alpha-1.conf
154
147
  - spec/resources/export/supervisord/app-alpha-2.conf
155
- - spec/resources/export/systemd/app-alpha-1.service
156
- - spec/resources/export/systemd/app-alpha-2.service
157
- - spec/resources/export/systemd/app-alpha.target
158
- - spec/resources/export/systemd/app-bravo-1.service
159
- - spec/resources/export/systemd/app-bravo.target
160
- - spec/resources/export/systemd/app.target
148
+ - spec/resources/export/systemd/concurrency/app-alpha-1.service
149
+ - spec/resources/export/systemd/concurrency/app-alpha-2.service
150
+ - spec/resources/export/systemd/concurrency/app-alpha.target
151
+ - spec/resources/export/systemd/concurrency/app.target
152
+ - spec/resources/export/systemd/standard/app-alpha-1.service
153
+ - spec/resources/export/systemd/standard/app-alpha.target
154
+ - spec/resources/export/systemd/standard/app-bravo-1.service
155
+ - spec/resources/export/systemd/standard/app-bravo.target
156
+ - spec/resources/export/systemd/standard/app.target
161
157
  - spec/resources/export/upstart/app-alpha-1.conf
162
158
  - spec/resources/export/upstart/app-alpha-2.conf
163
159
  - spec/resources/export/upstart/app-alpha.conf
@@ -170,27 +166,26 @@ files:
170
166
  homepage: http://github.com/ddollar/foreman
171
167
  licenses:
172
168
  - MIT
169
+ metadata: {}
173
170
  post_install_message:
174
171
  rdoc_options: []
175
172
  require_paths:
176
173
  - lib
177
174
  required_ruby_version: !ruby/object:Gem::Requirement
178
- none: false
179
175
  requirements:
180
- - - ! '>='
176
+ - - '>='
181
177
  - !ruby/object:Gem::Version
182
178
  version: '0'
183
179
  required_rubygems_version: !ruby/object:Gem::Requirement
184
- none: false
185
180
  requirements:
186
- - - ! '>='
181
+ - - '>='
187
182
  - !ruby/object:Gem::Version
188
183
  version: '0'
189
184
  requirements: []
190
185
  rubyforge_project:
191
- rubygems_version: 1.8.23
186
+ rubygems_version: 2.0.14
192
187
  signing_key:
193
- specification_version: 3
188
+ specification_version: 4
194
189
  summary: Process manager for applications with multiple components
195
190
  test_files: []
196
191
  has_rdoc:
@@ -1,5 +0,0 @@
1
- [Unit]
2
- StopWhenUnneeded=true
3
-
4
- [Install]
5
- WantedBy=app.target
@@ -1,5 +0,0 @@
1
- [Unit]
2
- StopWhenUnneeded=true
3
-
4
- [Install]
5
- WantedBy=app.target
@@ -1 +0,0 @@
1
- [Unit]