From e907de2deb5371f3abf1381d82bdcbd7ec2b925c Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Tue, 24 Aug 2021 13:30:54 +0200 Subject: [PATCH] notes/notes-on-s6-init-talk-fosdem17.md --- notes/notes-on-s6-init-talk-fosdem17.md | 67 +++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 notes/notes-on-s6-init-talk-fosdem17.md diff --git a/notes/notes-on-s6-init-talk-fosdem17.md b/notes/notes-on-s6-init-talk-fosdem17.md new file mode 100644 index 0000000..1fa8fb0 --- /dev/null +++ b/notes/notes-on-s6-init-talk-fosdem17.md @@ -0,0 +1,67 @@ +--- +title: "Notes on Laurent Bercot's talk at FOSDEM 2017" +--- + +Talk more about s6 and init than s6 and supervision. + +We can get to 100% satisfaction with an init system. Lots of people +are still unhappy with their init system though. + +This talk is about design of an init system. + +4 elements: + + - /sbin/init (the startup scripts/programs/processes) + - PID 1 + - process supervision + - service management + +These 4 elements don't have to be in the same process. + +02:55 + +Process supervision: supervision tree, rooted at pid1. + +"Supervision only applies to daemons" - huh, interesting + +Service management: bring services up/down; More generally, change +from one state to another. + +Services: oneshots (short-lived, with side-effects) or longruns +(daemons). Have dependencies (enforced by service manager). + + - Ah, a oneshot might be a traditional-init-like "run a program to + set things up" so that the service is "running" even though there's + no particular process you can point to that *is* the service? + + - 10:30 - Void Linux has only longruns (?) and so "hacks", + "longruns that do nothing" are used to emulate oneshots + +05:40 + +Ah this is an interesting perspective. Bercot classifies various +systems in terms of the 4 elements: + + /sbin/init pid1 supervision svcmgr + Integrated init systems + (systemd, launchd, upstart) ✓ ✓ ✓ ✓ + + sysvinit, BSD init ✓ ✓ ✓ + - sysv-rc, /etc/rc ✓ + + OpenRC ✓ + +08:10 + +Daemontools family - daemontools (1998!), daemontools-encore, runit, +perp, s6 - supervision suites; nosh - suite of tools similar to s6 + +09:55 + +Supervision suites are not enough - only 1/4 of an init system. + +11:40 + +s6: technical aspects + +"reproducible launch environment" even for oneshots