Why FreeBSD
We love FreeBSD. So we build for it, and only for it.
FreeBSD gave the world jails, treats ZFS as a first-class citizen and ships a boot loader that understands your pool. It deserves a modern control plane. We want to be the people who know every corner of it, with a clear focus of our own.
Where jails come from
Jails arrived in FreeBSD 4.0 in the year 2000. Poul-Henning Kamp designed them, and described the idea in the paper Jails: Confining the omnipotent root: give a service its own processes, users, root and network on the same kernel, so that even root inside the jail cannot reach out of it. No virtual machine, no second kernel, no emulated hardware.
The rest of the industry followed the idea. Solaris got zones a few years later. Linux built the same thing out of namespaces and cgroups, and LXC arrived in 2008 and Docker in 2013. Containers on Linux are, in spirit, a late and more complicated answer to a question FreeBSD answered in 2000, with one clean building block instead of several.
Twenty-five years on, jails are still the leanest way to run isolated services on one machine, and they are part of the base system, not an add-on. That is the foundation JailOps is built on.
ZFS, a first-class citizen
FreeBSD has shipped ZFS since FreeBSD 7.0 in 2008. It installs onto it with the stock installer, boots from it and keeps it in the base system. ZFS is not a module you hope will keep working: it is how FreeBSD stores things.
That is what makes the rest easy. A thin jail is a clone of an image. An upgrade is a swap of the root that you can undo. A backup starts from a consistent snapshot. JailOps does not reinvent any of it; it gives it a clear interface.
A boot loader that understands your pool
The FreeBSD loader reads ZFS pools directly and boots into any boot environment, and bectl in the base system makes a boot environment a one-line operation: take one, upgrade, look, roll back. It is a small, calm piece of engineering that removes a whole class of bad nights.
It is the same safety net JailOps puts around every jail: a snapshot before every change, and one command to undo it.
A complete system, and a strong focus
The kernel, the userland, the documentation and the build system are developed together and released as one. The Handbook and the manual pages read as if somebody cared, because somebody did. The same focus gave FreeBSD jail(8), pf, ZFS and a base system you can understand from top to bottom. It is rare, and we admire it.
JailOps has a focus of its own: jails, on ZFS, on current FreeBSD. We add nothing underneath and take nothing away. We would rather know FreeBSD to the bone than support everything shallowly, so that you do not have to.