rcd(8) - new service manager daemon

For those who might've missed the big news on the mailing list - I decided to post it here.

Looks like the creator of pkg and poudriere (Baptiste Daroussin) has been brewing up a new modern service manager daemon for FreeBSD. From what I can tell; it's functionally similar to SMF but relies on FreeBSD features/interfaces instead of mangling the kernel.

From the original post;
Key features:

- Parallel boot via dependency DAG (no more serial rc.d execution)
- Process tracking via pdfork(2) descriptors (no PID file races)
- Subreaper via procctl(2) (no orphaned process escape)
- Socket activation (pre-bound sockets passed via fd inheritance)
- Resource control per service via rctl(2)
- Service isolation via native jail(2) integration
- OOM protection via procctl(2) PROC_SPROTECT
- UCL-based unit files (JSON Schema validated)
- Embedded Lua interpreter for inline service hooks
- Template units for per-instance services (e.g., dhclient@em0)
- Safe in-place binary upgrade (SIGUSR1: save state, re-exec)
- Per-service access control on the control socket
- Suspend/resume support

I'm really excited to try this out. Particularly it's UCL based unit files, and native jail integration (ie. Zone SMF Instances). I wonder how the unit files will be stored; in some sort of repository or in the base system path?

And most importantly... it's NOT replacing init! (I'm looking at YOU systemd)
 
Back
Top