s6-rc how to log oneshot services

From: Daniel Barlow <dan_at_telent.net>
Date: Tue, 07 Mar 2023 10:45:30 +0000

Hi all

I've adopted s6 and s6-rc for a small distro that's targeted at
consumer wifi routers and similar low-powered devices (same target
devices as openwrt) and so far I am appreciating the consistency and the
warm fuzzies that I get from having a supervision tree (and simple
readiness checks!) instead of a folder full of pid files that may or
may not correspond with what's actually running.

My question is: how should I handle logging for oneshot services? I
have oneshots doing things that might fail, like configuring network
interfaces or inserting modules, and I'd like those failure messages to
go somewhere useful as the longrun messages do. If I just add
a logging service to a oneshot with producer-for/consumer-for I get

s6-rc-compile: fatal: longrun wlan.module-log declares a producer wlan.module of type oneshot

so I guess that's not the answer ...

What am I missing? I guess I could convert them into longruns that do
the "up" actions then call pause(2), but that seems a bit of a
... non-traditional approach?


-dan
Received on Tue Mar 07 2023 - 11:45:30 CET

This archive was generated by hypermail 2.4.0 : Tue Mar 07 2023 - 11:46:11 CET