[LEDE-DEV] [OpenWrt-Devel] Any interest in adding runit to OpenWRT?
Martin Tippmann
martin.tippmann at gmail.com
Mon Dec 26 06:05:26 PST 2016
On Sun, Dec 25, 2016 at 9:01 PM, Denys Vlasenko
<vda.linux at googlemail.com> wrote:
> I decided to try to do what I can, and put together a draft
> of the proposal how daemontools-like supervision
> should be used by a distro in a way which makes
> developers/packagers life easier - they will not need
> to target a specific distro, all distros will have common API
> for installing and controlling services. It is here:
>
> https://git.busybox.net/busybox/tree/examples/var_service/README_distro_proposal.txt
>
> If you have comments about this text, please share them.
Hi, that's great and I would love to see this on OpenWRT/LEDE - maybe
as optional dependency - runit / runsvdir is afaik already in busybox.
Personally I'd would love to have some ability to use procd facilities
with runsvdir/runit. ubus access, uci triggers... but I'm not sure
what would be a good way to implement that - I guess something like a
ubus<->runit shim could do the trick. Maybe there could be some
support for runsvdir in procd - but at the moment these tools can
coexist fine.
Personally what I'm missing in procd and what runit provides is the following:
- runsvdir like funktionality. e.g. on Freifunk firmwares you have to
run do some maintaince or check tasks occasionally and cron is not
really great - beeing able to use something like
http://code.dogmap.org/runwhen/ would be great. runwhen = cron+at but
better ;)
- more flexibility for checks. busybox runit has sv check -
http://smarden.org/runit/sv.8.html - where a script can be triggered
regulary and the exit code decides wether to restart the service or
not - this allows for better checks than just pid exists - sometimes
software get's stuck but appears to be working fine from the
procd/system perspective.
- more flexibility for logging
I don't think it should be the default but it would be great to marry
procd and runit on LEDE. I'm also aware that this is not trivial but
making ubus/procd/netifd and runit talk to each other i.e. restart a
service running with runit on a netifd change would be great!
So TL;DR: procd is fine for init but having runit/runsvdir easily
usable would be a nice feature to have!
..just my 0.02c
greetings from Weimar,
Martin
More information about the Lede-dev
mailing list