Skip to content

Creating an opinionated "SDK" like experience

(edited by @walters2 )

Today the bootc project is pretty low level; it only exposes some core functionality on the client and does not have opinions on how the operating system is built or tested.

In the Fedora bootc project, we have opinions on some of this, but still without "high level" sugar. For example we document Anaconda, bootc-image-builder - both of which have documented usage patterns, but are themselves generally mid-level and not high level tools.

The core flow I think we want to support (in fact must support really) is the "edit compile debug" cycle.

The https://github.com/coreos/coreos-assembler/ project for example does this in a very high level way for CoreOS, the basic cosa build; cosa run cycle. We want that for bootc across as many deployment models as possible.

References:

Goals

podman desktop bootc extension

The podman-desktop-extension-bootc project today is basically orchestrating bootc-image-builder and running VMs on its own. We need a CLI version of this. Also, it should try to hide disk images. Also, we should support Anaconda installs etc.

Replace podman-bootc

This should replace podman-bootc. The original idea of the podman-bootc project made total sense, however (related to the above) we need something with a wider scope - for example it should also cover the capabilities of bootc-image-builder and Anaconda (because those are important installation paths here) and I think those are out of scope of a podman verb. Creating an ISO or AMI has nothing to do with podman really.

Streamline the https://github.com/osbuild/bootc-image-builder/ CLI experience

Something like bck build-disk would handle the currently very verbose podman commands.

Be much less awkward than https://github.com/coreos/custom-coreos-disk-images

The coreos custom disk images project makes sense, but especially the skopeo copy containers-storage:quay.io/myorg/myrepo:mytag oci-archive:my-custom-coreos.ociarchive step is awkward and painful.

We should aim to make the container storage and registries be a center of gravity instead.

Edited by Colin Walters (Red Hat)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information