So you use Open Source? #
So you’re using an open source front end, an open source back end, and an open source database (all version‑controlled with Git, containerized with Docker, orchestrated with Kubernetes, and provisioned with Terraform) running on a Linux server inside a KVM hypervisor; however, you’re missing just one piece: the OS you’re writing all your code on.
Linux is known for many things, among them however, is not its prowess as a desktop OS. That was until Jorge Castro’s Ublue Project. They offer some bold claims:
The reliability of a Chromebook, but with the flexibility and power of a traditional Linux desktop.
Zero Maintenance: Install the system once and forget about maintenance. Updates are automatic. Upgrade your system in one-click, including all your apps.
I was skeptical at first, but after a year of rigorous testing in a production environment, I’m happy to say they deliver.
Enter Bluefin #
Bluefin is Ublue’s image of choice for developers. It’s essentially Fedora Silverblue with batteries included, but to me, those batteries make all the difference. I won’t belabor the point too much as Jack Wallen has already made a great overview; but the stand out features are containerized installations and Atomic rollbacks.
Need GUI programs? Install the Flatpak. Not available as one? Use Distrobox. Needs a CLI tool? Use brew
. No more extreme
configuration drift and dependency hell.
With Atomic rollbacks you’ve always got a functional image to boot from. Update brick something? No problem, just
rpm-ostree rollback
to the last image and continue as usual. Pin your working image with sudo ostree admin pin 0
and
you’ll be able to keep working until a fix is rolled out.
I think a standout example for me is when our teams’ AD (Active Directory) logins ceased working. Normally this would be a
catastrophic error, especially if you’re working from home. For us? Just login into the local account and run rpm-ostree rollback
and resume work unperturbed. There was quite literally 0 dev downtime (If you don’t count the 40 seconds it takes to realize
your login isn’t working).
With some help from the
Bluefin Discourse and the SSSD package managers,
the source of the bug was discovered and fixes applied. We unpinned the tree, sudo ostree admin pin --unpin 0
, and let
automated updates take the reigns. We never encountered any AD issues again.
Sounds great how do I install? #
Unfortunately despite all the benefits of its design, the initial setup to make it compatible with domain accounts and AD network shares isn’t so easy. In the following pages I’ll go through all of the modifications necessary for them to work.