Commit Graph

827 Commits

Author SHA1 Message Date
199e7de97c update gems. 2014-03-17 20:12:11 +00:00
dlage
defc40b911 Merge pull request #5 from phemmer/systemd-dependencies
export: fix systemd dependencies
2014-03-17 19:39:14 +00:00
dlage
37dcba0e33 Merge pull request #3 from phemmer/shellfix
Shellfix
2014-03-17 19:37:20 +00:00
dlage
d205e3ba2e Merge pull request #4 from phemmer/run-nofork
don't fork on 'run'
2014-03-17 19:37:05 +00:00
dlage
9905334f01 Merge pull request #2 from ged/better-357-fix
A better fix for #357.
2014-03-17 19:29:45 +00:00
dlage
dd292ed7da Merge pull request #1 from petergoldstein/feature/add_2_1_0
Feature/add 2 1 0
2014-03-17 19:25:46 +00:00
Patrick Hemmer
67ffbe2aa2 export: fix systemd dependencies
With the previous way systemd services were exported, you had to enable every single process one by one to get the service operational.

Consider the following Procfile:

    web: bundle exec thin start
    worker: bundle exec worker start

Exported with:

    foreman export systemd /usr/lib/systemd/system -a myapp -c worker=3

You will have to perform the following to start the service:

    systemctl enable myapp-web-1.service
    systemctl enable myapp-worker-1.service
    systemctl enable myapp-worker-2.service
    systemctl enable myapp-worker-3.service
    systemctl enable myapp-web.target
    systemctl enable myapp-worker.target
    systemctl start myapp.target

Thats 7 commands, and you have to know the names of each service. Nasty.

With the changes here, you will have to perform the following:

    systemctl enable myapp.target
    systemctl start myapp.target

You can also `systemctl start myapp.target` without enabling as well. Previously if you tried to start `myapp.target` without enabling each individual process it would not work.

---

Additionally, this change also adds the dependency to 'multi-user.target' (the default behavior for all services). This will properly shut down (or start) the app when the system changes runlevels. The previous method did not do this.
2014-02-17 00:40:39 -05:00
Peter M. Goldstein
da8bba5941 Use a 1.9.2 compatible version of rdiscount 2014-01-13 17:38:11 -08:00
Peter M. Goldstein
2aa1cbf94f Bump up gem versions in Gemfile.lock. Minor changes to eliminate deprecation warnings. 2014-01-13 17:30:58 -08:00
Peter M. Goldstein
34a1163fe9 Add Ruby 2.1.0, clean up references in allow_failures to now un-tested rvms. 2014-01-13 15:28:47 -08:00
Patrick Hemmer
2e5f610b76 don't fork on 'run'
This removes the fork when doing `foreman run`. The fork results in an unnecessary process laying around. The parent process doesn't do anything other than fork and wait for the child to exit.
2013-11-26 00:09:19 -05:00
Michael Granger
20392d98a1 A better fix for #357.
This is a better fix for several reasons:

- It's more portable; the arguments/options to 'ps' vary widely across
  platforms.
- Killing children by forking yet more children (i.e., via backtick) is
  problematic when you're trying to kill processes because of resource
  starvation.
- Processes should not signal processes other than their own children,
  especially in a generic task-runner like Foreman. If the signal
  should propagate, then the sub-process should propagate signals to its
  children itself. There's no way to know what cleanup or preparation
  is necessary for a clean shutdown (e.g., SIGINT/SIGTERM), and
  in what order grandchild processes should be shut down to properly
  release locks, close files, etc.
- foreman-runner doesn't (shouldn't?) create grandchild processes; the
  last thing it does is `exec` the program it's launching, which
  will replace the program of the *current* process with the one
  being started up.
2013-11-05 11:56:13 -08:00
Patrick Hemmer
e8538d9f45 exec on upstart to prevent useless procs floating around 2013-10-02 20:41:51 -04:00
Patrick Hemmer
4a51a2aa8a specify a shell when using upstart 2013-10-02 20:08:47 -04:00
David Dollar
1905a7c310 Merge pull request #388 from brixen/patch-1
Update README.md
2013-09-04 16:49:36 -07:00
Brian Shirai
134b31f599 Update README.md 2013-09-04 16:47:09 -07:00
David Dollar
2b97cb458a Merge pull request #366 from wfarr/tgz-install-foreman-to-bin
Install tgz/foreman to bin/foreman in tgz package
2013-05-27 14:06:42 -07:00
Will Farrington
03d76d4254 Install tgz/foreman to bin/foreman in tgz package 2013-05-26 07:49:18 -07:00
David Dollar
133228f247 Merge pull request #305 from marclennox/master
Add start-stop-daemon export support with upstart
2013-05-03 13:27:54 -07:00
David Dollar
bfba2cad71 Merge pull request #360 from kjwierenga/feature/require-posix-spawn
Feature/require posix spawn
2013-05-03 12:55:16 -07:00
Klaas Jan Wierenga
e245026f65 Fail with an error on Ruby 1.8 when posix-spawn is not present. 2013-05-03 21:44:57 +02:00
Klaas Jan Wierenga
ffc73366b2 Require and use 'posix/spawn' when running ruby 1.8 without using Foreman.ruby_18? (which is the subject under test). 2013-05-03 21:29:17 +02:00
Marc Lennox
284503899a Added start-stop-daemon support. 2013-05-03 12:54:08 -04:00
David Dollar
144be02bbd Merge pull request #353 from austiniam/master
added support for directories with single quote
2013-05-03 07:29:17 -07:00
Austin Cherry
9734a2ed65 fixed conflicts 2013-05-03 07:25:56 -07:00
Austin
0fff148fe0 modified to use shellescape instead of gsub 2013-05-03 07:23:25 -07:00
Austin
d19a9aa043 added support for directories with single quotes. fixes #315 2013-05-03 07:22:16 -07:00
David Dollar
c3abaad353 kill the children, not self 2013-05-03 09:54:20 -04:00
David Dollar
b1f91d4505 fix docs, thanks to @Invizory 2013-05-03 09:49:31 -04:00
David Dollar
0c7b8ddd79 not sure how this snuck in, not in the exporter format 2013-05-03 09:44:25 -04:00
David Dollar
189b751d9f update docs 2013-05-03 09:44:25 -04:00
David Dollar
619bd03bb8 Merge pull request #340 from ldmosquera/set_env_var_with_process_name
Set FOREMAN_PROCESS_NAME env var for spawned procs
2013-05-03 06:42:04 -07:00
David Dollar
fd836b46c0 Merge pull request #355 from JoeyButler/fix_typo_in_man
Fix typo in manual page.
2013-05-03 06:38:42 -07:00
David Dollar
2379259b33 Merge pull request #359 from kjwierenga/feature/make-ruby-18-compatible
Fix specs that were broken on ruby 1.8. Use POSIX::Spawn.spawn to make foreman robust on ruby 1.8.7.
2013-05-03 06:32:01 -07:00
Klaas Jan Wierenga
baf842cdd4 The wrapped_command has spaces which triggers Ruby to fork a system shell (with /bin/sh -c). This causes orphaned processes on some systems (i.e. Linux). Fix this by splitting the command using String#shellsplit and using ruby's splat operator (*) to pass discrete arguments to spawn. 2013-05-02 16:30:39 +02:00
Klaas Jan Wierenga
5c06aaaa57 Enable ruby 1.8.7 building on Travis. All specs should pass now on ruby 1.8.7. 2013-05-02 12:49:05 +02:00
Klaas Jan Wierenga
75b782b664 Use POSIX::Spawn to make foreman ruby 1.8 compatible and have all specs passing. 2013-05-02 12:39:23 +02:00
Klaas Jan Wierenga
9b4bd10cdb Use pipe factory method to handle 1.8 incompatible signature for IO.pipe. 2013-05-02 12:37:06 +02:00
Klaas Jan Wierenga
fff82dc685 Ruby 1.8 doesn't have the concept of string encodings. Compare to the string as is. 2013-05-02 11:00:47 +02:00
David Dollar
da0a9f2de3 Merge pull request #294 from bfulton/master
add systemd export
2013-04-22 20:37:39 -07:00
Bright Fulton
7d77d8ff1a updated systemd export spec after rebasing included 5ef8bbdb 2013-04-20 13:48:27 -04:00
Joey Butler
51e181da29 Fix typo in manual page. 2013-04-17 10:47:03 -07:00
Leonardo Mosquera
9866a341ca Add unit test for PS env var 2013-04-16 22:31:34 -03:00
Leonardo Mosquera
90848e7dea Change FOREMAN_PROCESS_NAME to just PS 2013-04-16 22:31:15 -03:00
David Dollar
a92e24b17c changelog 2013-04-15 15:35:21 -04:00
David Dollar
0da42cf7d2 0.63.0 v0.63.0 2013-04-15 15:33:51 -04:00
David Dollar
23561b963c fix dotenv dependency 2013-04-15 15:32:27 -04:00
David Dollar
cc51ab2cb1 fix up tests 2013-04-15 15:32:22 -04:00
David Dollar
403d40b277 Revert "Merge pull request #292 from andrewsmedina/master"
Does not pass tests

This reverts commit 17a8a316b8, reversing
changes made to 9e1d590734.
2013-04-15 15:31:38 -04:00
Bright Fulton
669a920c1e fix spec after d4ab495 2013-04-15 14:43:02 -04:00