server: escape hatch to not shutdown when failing to start
Created by: keegancsmith
This PR introduces IGNORE_PROCESS_DEATH
environment variable. If set to true sourcegraph/server will no longer shutdown if a subprocess has a non-zero exit code.
In particular this is targetting the situation where there is a dirty migration that requires cleaning up. You don't have any time to clean it up in the default case since frontend will die due to the dirty migration => the container shutting down => can't connect to postgres to clean it up. I don't know how our customers fixed this situation before. But this is currently occurring for our server dogfooding instance, hence the motivation to introduce it.
There are also two commits refactoring parts of Goreman to make it cleaner to introduce this change.