▲ | rmunn 3 days ago | |||||||
I was confused by my first several readings of the projectbluefin.io site, due in part to not having prior experience with some of the techs (e.g. their 2023 announcement said "Bluefin is a custom image of Fedora Silverblue by a bunch of cloud-native nerds. ... Originally Bluefin was "Fedora Silverblue for Ubuntu Expatriates". I ... wanted Silverblue but with a more Ubuntu-like desktop." I've never used Silverblue so that told me very little. But I think I'm beginning to understand. Please correct me if I'm getting any of this wrong: - Bluefin is, fundamentally, a container image that you run with your preferred container runtime (Docker, Podman, whatever). - But where most containers are slimmed-down to run just one app, Bluefin is a Linux desktop in a container. - Bluefin includes Podman in its image, so you can run other containers inside your container. (Yo dude, I hear you like containers...) - Because Bluefin is a container image, updates are all-or-nothing, i.e. atomic. You download the updated image, then reboot into it next time you're ready to reboot. - Installing other apps once you're running Bluefin is done via flatpak, rather than snap or apt or dnf or pacman. And there's a graphical app store that connects to Flathub. (I don't yet know what the offically-recommended way is to install software that isn't yet on Flathub). Anything incorrect in that list? Anything major that I left out? (Edited only to add a newline between bullet points, because I didn't realize that Hacker News doesn't implement that part of Markdown. The fact that asterisks around words gives you italics fooled me into thinking that more of Markdown than italics was implemented.) | ||||||||
▲ | tapoxi 2 days ago | parent | next [-] | |||||||
>Bluefin is, fundamentally, a container image that you run with your preferred container runtime (Docker, Podman, whatever). Nope, you don't execute it like a container. Although it is an OCI-compatible container image and can be built using Docker/buildah/etc, it's "executed" (well, deployed) using bootc (boot container). This is a technology that basically blasts the container out to a filesystem tree using a technology called OSTree. OSTree is the same technology behind Flatpaks. The older, pre OCI-based version of this tech is called rpm-ostree. >Because Bluefin is a container image, updates are all-or-nothing, i.e. atomic. You download the updated image, then reboot into it next time you're ready to reboot. Key word being atomic, you can layer packages onto the container image. This gives you some flexibility without needing to rebuild the entire container. For example, I use Kinoite and I depend on zsh which isn't shipped in the image. If I `rpm-ostree install zsh` and reboot, I now have zsh layered and it'll be automatically re-layered after every upgrade. It's very much having your cake and eating it too. You get all the benefits of an atomic system's stability and ease of upgrades but you don't trade much flexibility for it. | ||||||||
| ||||||||
▲ | mtndew4brkfst 3 days ago | parent | prev [-] | |||||||
One foundational misunderstanding in your very first bullet - Universal Blue distros are installable operating systems that happen to use container image formats as a file representation for network distribution and update mechanisms, but you're expected to be running it on actual hardware or as a traditional VM. The outermost "container" part is largely an incidental implementation detail. You don't run these as a workload on like, a Kube cluster, or anything like that. The underlying project in question for the next conceptual layer down is rpm-ostree: | ||||||||
|