Over the summer, we've worked on plenty of interesting things we'd like to show you.
Although vpsAdminOS is primarily a live system, installing it to disk can be useful, for example on a single server without PXE. Installation works just like NixOS: format the disks, generate a configuration, edit it and run the installer; see the documentation. The supported bootloader is grub, and you can easily integrate SSH into the initrd to unlock encrypted disks, just as in NixOS.
We've prepared two tools for updating running or installed systems: os-rebuild (like nixos-rebuild) and nixops, a fork adding vpsAdminOS support. You can run os-rebuild directly on an installed system, or use it to update another machine over SSH. nixops manages larger server networks, something like terraform+ansible combined for NixOS. Our nixops version can manage NixOS and vpsAdminOS machines in the same network.
For data migration during OS updates, we've written a tool called osup. Updating vpsAdminOS simply replaces the system with a new version, but container configuration and data on ZFS pools need attention. Not everything is designed perfectly at the start, and changes may require reorganizing datasets, directories, and so on. osup automates these changes and runs alongside system updates through either os-rebuild or nixops. Migration scripts perform the changes, upgrading a pool to a newer version or downgrading it to an older one.
I've already mentioned the need to rework IP address management in vpsAdmin; the OS now has everything it needs. VPS network interfaces can now have routed addresses and addresses assigned to the interface separately, like ip addr/route add. For example, you can route a /64 network and assign only selected addresses from it to the interface. Transit addresses will no longer have to come first, which complicated Docker networking and masquerading in general. vpsAdmin integration is in progress, but it's fairly complex and will take a while longer.