compose build-chunked-oci
Currently this project supports rpm-ostree compose image
which is a highly opinionated tool which consumes treefiles and outputs an OCI archive.
However, it does not support common container-native workflows such as copying content from a distinct container image.
The rpm-ostree compose build-chunked-oci
command accepts exactly one of:
- an arbitrary input container image
- a source root filesystem tree
and synthesizes a bootc (ostree container) ready image from it. This produces a chunked output image via the same process as rpm-ostree compose container-encapsulate
.
At the current time, when using an input container image, it is recommended that the input container image be derived from a reference maintained base image, such as the fedora-bootc ones. Especially if you are targeting bootc systems with this, please follow https://gitlab.com/fedora/bootc/tracker/-/issues/32.
Running
Note that the --from
and --rootfs
options are mutually-exclusive; exactly one is required. Currently both --bootc
and --format-version=1
are required options. Additional format versions may be added in the future.
Using --from
This expects a container image already fetched into a containers-storage:
instance, and can output to containers-storage:
or oci
.
podman build -t quay.io/exampleos/exampleos:build ...
...
rpm-ostree compose build-chunked-oci --bootc --format-version=1 \
--from=quay.io/exampleos/exampleos:build --output containers-storage:quay.io/exampleos/exampleos:latest
podman push quay.io/exampleos/exampleos:latest
Using --rootfs
This expects a source root filesystem tree, such as one created with rpm-ostree compose rootfs
.
# assumes package system configuration in /repos
rpm-ostree compose rootfs --source-root=/repos /path/to/input_manifest.yml /path/to/target_rootfs
rpm-ostree compose build-chunked-oci --bootc --format-version=1 --rootfs=/path/to/target_rootfs \
--output containers-storage:quay.io/exampleos/exampleos:latest
podman push quay.io/exampleos/exampleos:latest