Create and maintain base bootable container images from Fedora packages.
The original Docker container model of using "layers" to model applications has been extremely successful. This project aims to apply the same technique for bootable host systems - using standard OCI/Docker containers as a transport and delivery format for base operating system updates.
The current default user experience is to build layered images on top of the official binary base images produced and tested by this project. See the documentation5 for more info.
You can build custom base images by forking this repository; however, https://gitlab.com/fedora/bootc/tracker/-/issues/32 tracks a more supportable mechanism that is not simply forking. For more information see6.
Building the images in this repo can be done with podman build
, but
note the build process uses a special podman-ecosystem specific mechanism
to create fully custom images while inside a Containerfile
.
You need to enable some privileges as nested containerization is required.
podman build --security-opt=label=disable --cap-add=all \
--device /dev/fuse -t localhost/fedora-bootc .
See the Containerfile
for more details. This builds the default tier-1
image.
You are of course also free to fork, customize, and build base images yourself. See this page6 of the documentation for more information.
There are currently 3 tiers:
- tier-1: This image is the default, what is published as https://quay.io/repository/fedora/fedora-bootc
- tier-0: This image is more of a convenient centralization point for CI and curation around a package set that we can all agree is the rough minimum necessary for a usable system. It's not meant to be used as is, but layered upon.
- tier-x: This image is not intended for end-users. It's the shared base
used by all image-based Fedora variants (IoT, Atomic Desktops, and CoreOS).
Changes to this tier may be done without accounting for external users.
To build this, pass
--build-arg=MANIFEST=fedora-tier-x.yaml
to the build command above.
tier-1 inherits from tier-x and tier-x in turn inherit from tier-0.
All non-trivial changes to tier-0 and tier-x should be ACKed by at least one stakeholder of each Fedora variant WGs.
Documentation: https://docs.fedoraproject.org/en-US/bootc/
Badge | Description | Service |
---|---|---|
Dependencies | Renovate | |
Static quality gates | pre-commit |