Bluefin - rely on OCI layer sharing for distrobox and devcontainer

Of the 3 experiments I have performed so far, this one seems to offer the best balance of features and HD space utilization.

Problem Statement

As a developer using one of the bluefin-dx bootc images, I would like:

  • a set of OCI images that can be used for both distroboxen and dev containers

  • manage the versions of tool chains between development projects as they are encountered in a single place

  • e.g., the version of zig should be the same in a devcontainer and corresponding distrobox

  • but multiple versions of zig can be accomplished with multiple image tags (e.g., 0.13 vs nightly)

  • the version is managed by changing the value of a single ARG or shell variable (as appropriate)

  • such that most of the layers (think HD space utilization) will be shared between the distrobox and devcontainer

Please see klmcwhirter/oci-shared-images for more details and a sample implementation of this idea.

2 Likes

This would be very nice indeed
I hope it also works in Aurora.

@Blaise , I haven’t tested Aurora, but the concepts are general enough that they should not even be Fedora specific. Just my sample implementation relies on things like dnf. But those things should be easy to change.

FYI - I am using bluefin-nvidia-dx:stable and see there is an aurora-nvidia-dx.

And I make no assumptions about the base on purpose. That is kind of what started all of my experimentation. I have been challenged by bluefin to rethink all of my assumptions about working with and managing a linux development workstation.

Please do let me know what you find!

I have been wanting to do an rpm-ostree rebase ... to something else just to see how it goes.