base-images/CONTRIBUTING.md
Jonathan Lebon 0bf47996ec
Containerfile: add chunked build target
Add optional rechunker and chunked stages that use chunkah for
content-based layer splitting. This allows folding the splitting step
into the build step.

Through some build arg and redirection trickery, this leaves the
unchunked path functionally identical.

Assisted-by: OpenCode (Claude Opus 4.6)
2026-04-02 13:22:44 -04:00

1.3 KiB

Contributing to fedora-bootc base images

Prerequisites

Everything revolves around our Containerfile, but there's a high level wrapper in Justfile which you should use. So installing podman (or buildah) and just are strongly recommended.

Building and testing

Run just --list to see available targets and just show-config to see current settings. The Justfile is also what CI invokes, so anything you run locally is the same as what runs in the pipeline.

Configuration is via environment variables — see the comments at the top of the Justfile for the full list. For example:

just build                                    # defaults
TIER=minimal just build                       # different tier
FEDORA_VERSION=43 just test                   # different Fedora version
BUILDER=podman just build                     # use podman instead of buildah
just ci                                       # full CI run (validate + test all tiers)

Building a split image

The Containerfile supports building a split (content-based layered) image using chunkah via the chunked build target:

just build --chunkah

Extra arguments can be passed to chunkah via the CHUNKAH_ARGS build arg (e.g. BUILDER_EXTRA='--build-arg CHUNKAH_ARGS="--max-layers 128"' just build --chunkah).