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:
- https://github.com/coreos/coreos-assembler/
- https://github.com/ublue-os/image-template
- https://github.com/containers/podman-bootc/pull/28
- https://gitlab.com/CentOS/automotive/sample-images
- https://github.com/cgwalters/cstor-dist
- https://github.com/systemd/mkosi/blob/main/mkosi/qemu.py
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.
https://github.com/osbuild/bootc-image-builder/ CLI experience
Streamline theSomething like bck build-disk
would handle the currently very verbose podman commands.
https://github.com/coreos/custom-coreos-disk-images
Be much less awkward thanThe 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.