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)
 
The ideas of Solaris from the turn of the century (zfs, zones, smf...) remain an inexhaustible source of inspiration for FreeBSD....and there is nothing wrong with that. :-/
 
The ideas of Solaris from the turn of the century (zfs, zones, smf...) remain an inexhaustible source of inspiration for FreeBSD....and there is nothing wrong with that. :-/

Well...

and vice versa; Jails inspired Zones, kqueue inspired Event Ports to name a couple.

Also, as a reminder. The creator of BSD UNIX was a co-founder of SUN. :) But I digress.

I'm just glad FreeBSD is finally adopting something like SMF manifests. It's way more consistent and streamlined than a bunch of scripts - although backwards compatible with legacy rc.d scripts.
 
Back
Top