The last five weeks were a bit chaotic at work, forcing me to put this aside while I focused on moving a critical platform at work. To be fair that was effectively done two weeks ago, so I’ve been a bit lazier than all that. But. I come bearing gifts.
Laurent Bercot is the one behind s6 and skalibs, and he has a ready-made solution to replacing init with his own supervisor: s6-rc. Now, the current ports tree is a couple minor versions behind for s6 and skalibs, so the first thing I need to do is try to update the ports. The current maintainer is colin at his ports address at heliocat dot net; but in the meantime I just need a clean ports tree. This is done as of last week, with a vagrant image (I know what you’re thinking, but I shot myself in the foot with Poudriere last time and need to understand how I want to set it up in the future. This is faster, for the moment). I can update a local package now as mock-maintainer and get to work.
With the latest packages, and a new vagrant container, I can start mocking up a full s6-based init BSD.
I’ve also been thinking about where I want to go with this nutty project of mine, and I think I have a better idea now. Or at least a better idea of how to approach the problem. What I want isn’t to replace any current flavor of BSD, but instead provide something we don’t currently have. Find a need of mine, and hopefully of others’, which currently goes unfulfilled by the existing quadrant of BSDs.
What I’m thinking of is actually two things: some years back a group of tool enthusiasts put together a useful Linux LiveCD product called GRML, which aimed to be more of a toolbox, than a real system. It was actually useful, and pragmatic. On the other hand, as an excellent full system with everything stripped out, mfsBSD is a useful FreeBSD "fork", of a sort. What I'm actually thinking of is something in-between: not aimed at providing a full system for building things on top of, but as a one-stop workshop which can be brought up anywhere, and used as a platform on a persistent basis with all the tools at hand that a sysadmin could dream about – with local statistics and monitoring set up from the start, and with those onboard tools easily extensible to do systems analysis of anything else with. A workshop and lab, not a general-purpose system.
For this then, FreeBSD 11.1 is a good place to start: because ZFS lends itself to rapid imaging and prototyping; and because DTrace is currently the most mature on FreeBSD, than on any other system short of Illumos; and because FreeBSD currently has (so far as I know, maybe someone will enlighten me) a far more robust collection of third-party software in its ports tree that I can start setting up and including in the full system.
So my next steps, such as they are:
- Configure a dedicated "ports builder" vagrant image (done)
- Contact colin to request an update for s6 (next)
- Move on with upgrading s6 & skalibs locally (submit maintainership request if colin goes to /dev/null)
- Set up an alternate, stripped-down vagrant image (what can I throw away?)
- Set up a second (or is that third, now?) dummy image to test Bercot's s6-rc setup instructions
- Start putting together my tools wishlist. (nmap, munin, samhain/yule, ansible, Lynis, etc.)
Should be about time I started generating alternate posts with guides for stuff I've done so far, just to avoid losing track.