Forwarding this, that was seemingly meant to the list. My reply comes right afterwards. ------ Forwarded Message ------
From "grin" <[email protected]>
To [email protected] Date 19/02/2026 21:12:46 Subject First time user experiences Hello list, Let me share my first time user experiences, while they're fresh. Hope it helps. (Read it with a positive, helpful tone.) So, installed s6 from Debian (which contains the base tools but not s6-rc for example), with the webpages but no package pre-created supervision structure. It was okay, I went to the documentation. I am mainly about this. There seem to be very simple introductory materials AND very tech reference docs but nothing in-between. I was looking for some simple architectural scheme, like: s6-svscan - manages supervise daemons \ |--s6-supervise daemon1 - spawns and monitors daemon1 | \- /usr/bin/daemon1 args \--s6-supervise daemon1/log - spawns and monitors log of daemon1 \- s6-log T /var/log/s6/daemon1 and some suggested directory structure like /etc/s6/sv/ - collection of daemons sv/daemon1/run - + sample sv/daemon1/type - + sample sv/daemon1/log/run - ... /service/ - the live services symlink to ../sv/daemon1 and that it's started by `s6-scsvan /etc/s6/supervise`. And some tutorial like example what the huge amount of separate tools are for. Yes, it is possible to decode that from the reference pages, but that's usually for later, when the admin got the feeling how it works, what tools to use for what. (The tools have absolute minimal nondescriptive help, with nondescript switches. Debian shipping with the webpages but not the manpages doesn't help either.) Then I started to test stuff and it just works. Nice. (Okay, it's easy for me coming from runit.) Some quirks I have noticed. - if supervise is killed the daemon keeps running, while a new supervise tries to start a new one. Is this intentional? Definitely not convenient. - the restarted supervise seem to lose the death-toll immediately, including any proof that the daemon was running or dying or killed. - you're in love with TAI64N which is fine, but the provided tai64nlocal isn't intelligent enough to match it in the middle of a text, like the output of s6-svdt or in `ls -la`. It's super human unfriendly this way. Without specific examples I'm not even sure how some tools would work, like svlink, svlisten* and various event based tools. Yes, I could spend much more time to read through all reference pages (with no examples) and try to figure it out, but I am not sure what would give me the motivation for that, beyond the sometimes pretty abstract gains compared to, say, runit. Do not take me wrong: I think the code is fine, but possibly the documentation, especially the onboarding would need more love, and possibly more specific examples, especially for more complex cases. I'll check back from time to time to see how it goes. :-) Thanks for S6! g
