Some RPM packages are difficult to install into a Container. This can be a big problem, especially when building a bootc image..
Building a bootc image for Red Hat Enterprise Linux (RHEL) “Image Mode” requires Red Hat Subscription Entitlement details. This can be tricky to get from the build server. Let’s fix that.
Ansible is not ideal for use with bootc, but for anyone with a lot of Ansible automation it’s hard to pivot to “the next thing”. Let’s use Ansible anyway..
To know what’s changing in a new bootc (Bootable Container) image use container tooling to generate a Software Bill of Materials (SBOM).
Getting bootc initially installed is a little different since it needs an ostree based OS. You could install a bootc image into any running Linux host, but I’ve been playing with Fedora CoreOS and using Ignition/Butane to configure Fedora CoreOS. So let’s use Fedora CoreOS on the host for bootstrapping bootc.
Red Hat UBI (Universal Base Images) are great. Except when you need to install a pervious package version, you can’t. By default RHEL Universal Base Images ship with only the latest version of packages. So how can you “rollback” if one of the package apps has a problem?
Writing a Dockerfile with long scripts inside can be very annoying. Instead use a heredoc. Please no “&& \” over and over.
bootc has the potential to be groundbreaking (for Enterprise server Linux). A scalable and Atomic OS for servers.
Ansible 2.9, or maybe just this time in history, was a great time for simple configuration management that (mostly) just worked.