3.5 KiB
Goals
This project's toplevel goal is to maintain default definitions for base bootable container images, locked with Fedora ELN and CentOS Stream 9.
Status
This is an in-development project not intended for production use yet.
Container images
The primary output of this project is container images. The current main development targets are Fedora ELN and CentOS Stream 9.
Distribution locked images
These images are intended to exactly match the content of the underlying distribution.
quay.io/centos-boot/fedora-tier-1:elnquay.io/centos-boot/centos-tier-1:stream9
Layered images
There are also layered images; for more information on these, see the centos-boot-layered repository.
Development images
Some components of this project move quickly, and it's often useful to see things
as they appear in git main instead of waiting for package releases.
The following images track git main of selected components:
quay.io/centos-boot/fedora-tier-1-dev:elnquay.io/centos-boot/centos-tier-1-dev:stream9
For more information, see the dev repository.
Trying it out
See install.md.
Differences from Fedora CoreOS
Fedora CoreOS today is not small; there are multiple reasons for this, but primarily because it was created in a pre-bootable-container time. Not everyone wants e.g. moby-engine.
But going beyond size, the images produced by this project will focus on a container-native flow. We will ship a (container) image that does not include Ignition for example.
Differences from RHEL CoreOS
We sometimes say that RHEL CoreOS has FCOS as an upstream but this is only kind of true; RHEL CoreOS includes a subset of FCOS content, and is lifecycled with OCP.
An explicit goal of this project is to produce bootable container images that can be used as base images for RHEL CoreOS; for more on this, see e.g. https://github.com/openshift/os/issues/799
Differences from RHEL for Edge
It is an explicit goal that CentOS boot also becomes a "base input" to RHEL for Edge.
Understanding "tiers"
There is a "tier-0" image, but it is not yet being automatically built. The "tier-0" contains:
- kernel
- systemd
- bootc
- selinux-policy-targeted
The tier-1 is a reasonably large system:
- NetworkManager, chrony
- openssh-server
- dnf (for installing packages in container builds)
- rpm-ostree (A lot of tooling uses this too)
The content set for these images is subject to change.
Building
Here's an example command:
sudo rpm-ostree compose image --authfile ~/.config/containers/myquay.json --cachedir=cache -i --format=ociarchive centos-tier-0-stream9.yaml centos-tier-0-stream9.ociarchive
In some situations, copying to a local .ociarchive file is convenient. You
can also push to a registry with --format=registry.
More information at https://coreos.github.io/rpm-ostree/container/
Badges
| Badge | Description | Service |
|---|---|---|
| Dependencies | Renovate | |
| Static quality gates | pre-commit |