FreeBSD OS upgrades are done in 3 phases:
- install new kernel
- install new userland
- upgrade all packages
Around these 3 stages, we use zfs snapshot and a git snapshot of /etc to make
rollback and diffing any releases easier. freebsd-version -ku
has been used