Go to file
Colin Walters (Red Hat) 2d19347f1b Merge branch 'pr/tier-1-inherit' into 'main'
tier-1: inherit from tier-x

See merge request fedora/bootc/base-images!53
2024-09-18 20:43:44 +00:00
tier-0 Merge branch 'pr/iptables-nft' into 'main' 2024-09-17 18:14:41 +00:00
tier-1 tier-1: drop a bunch of redundant packages 2024-09-18 15:32:40 -04:00
tier-x tier-1: drop a bunch of redundant packages 2024-09-18 15:32:40 -04:00
.gitlab-ci.yml CI: also build tier-0 and tier-x 2024-09-17 22:35:11 -04:00
.mdl_style.rb Update .mdl_style.rb 2023-11-09 16:14:45 +02:00
.mdlrc Update .mdlrc 2023-11-09 16:18:33 +02:00
.pre-commit-config.yaml chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v4.6.0 2024-06-03 00:05:58 +00:00
COPYING Enable pre-commit 2023-10-30 22:27:12 +02:00
Containerfile Only rawhide 2024-05-28 19:53:56 +03:00
LICENSE Initial split from Fedora CoreOS 2022-12-09 15:32:25 -05:00
README.md tier-1: inherit from tier-x 2024-09-18 15:16:46 -04:00
fedora-bootc-config.json Only rawhide 2024-05-28 19:53:56 +03:00
fedora-bootc.yaml Add fedora-repos-archive 2024-05-28 17:15:53 -04:00
fedora-generic.yaml Add fedora-repos-archive 2024-05-28 17:15:53 -04:00
fedora-tier-0.yaml Add fedora-repos-archive 2024-05-28 17:15:53 -04:00
fedora-tier-1.yaml CI: also build tier-0 and tier-x 2024-09-17 22:35:11 -04:00
fedora-tier-x.yaml tier-x: new tier for cross-variant collaboration 2024-09-16 16:52:36 -04:00
fedora.repo fedora.repo: Drop trailing whitespace 2024-04-18 16:33:36 -04:00
renovate.json Update renovate.json 2024-08-21 07:22:28 +00:00

README.md

Fedora bootc base images

Create and maintain base bootable container images from Fedora packages.

Motivation

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.

Building

First, the expectation is that most users will want to build layered images on top of the official base images. See the documentation5 for more info.

Building the images in this repo can be done with podman build as with any other application image (note that building with docker is not currently supported). You need to enable some privileges for technical reasons.

podman build --security-opt=label=disable --cap-add=all \
  --device /dev/fuse -t localhost/fedora-bootc .

See the Containerfile for more details.

You are of course also free to fork, customize, and build base images yourself. See this page6 of the documentation for more information.

Tiers

There are currently 3 tiers:

  • 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-1: This image is much larger and notably includes networking and firmwares. It's a good starting point onto which you can do less customizations to get what you need.
  • 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.

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.

More information

Documentation: https://docs.fedoraproject.org/en-US/bootc/

Badges

Badge Description Service
Renovate Dependencies Renovate
Pre-commit Static quality gates pre-commit