Skip to content

Add experimental runit support

Jacob Vosmaer requested to merge jv-runit-experiment into master

Update: demo: https://youtu.be/uMRG9_TazcE https://youtu.be/njukxpVM1L0

Because foreman drives me nuts, here is an experiment with using Runit.

This doesn't replace foreman but gives you the option to build a runit config based on your Procfile.

Closes #443 (closed)

Adds:

  • gdk start, also gdk start webpack, gdk start rails-web rails-background-jobs etc.
  • gdk stop, gdk restart, gdk status all with optional service args
  • gdk foreground rails-web in case you want to use pry pry in puma doesn't work anyway because it's multi-process. Leaving this as out of scope
  • gdk tail, gdk tail gitaly etc. with merged logs, comparable to normal output of foreman

Does not address:

  • Tasks where we boot services on demand, like when we start Postgres during initial setup, still use Foreman. I don't think it makes sense to convert those before we have decided we like Runit.
  • Does not add Runit-related subcommands to documentation (e.g. missing from gdk help)
  • Does not add documentation for installing Runit (e.g. brew install runit)
Edited by Jacob Vosmaer

Merge request reports