foreman 0.67.0-mingw32 → 0.69.0-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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]