mirror-coreos-chunkah/Cargo.toml
Jonathan Lebon 497884553b build: support oci: transport prefix on --output
It's silly right now how chunkah tars up an ocidir, but the primary
way this is consumed is by the containers stack, which will immediately
untar it back to consume it.

We can't avoid this in the `podman run | podman load` flow, but we can
in the Containerfile flow by simply leaving the output as an ocidir, and
then using `FROM oci:` instead of `FROM oci-archive:`.

To expose this, add support for transport prefixes on the argument
passed to `--output`; `oci:PATH` writes the OCI directory layout
directly to disk, while `oci-archive:PATH` or `PATH` preserves the
existing behavior.

Update `Containerfile.splitter` and docs to use the new format. And of
course, update the chunkah image build itself to use this!

Anyone using chunkah from a Containerfile is encouraged to switch over
to this. The efficiency gains are non-trivial. E.g. for the fedora-bootc
image, this roughly cuts in half the "handover time" from chunkah to
buildah.

Closes: #103

Assisted-by: Pi (Claude Opus 4.6)
2026-05-27 21:27:04 -04:00

37 lines
1 KiB
TOML

[package]
name = "chunkah"
version = "0.5.0"
description = "An OCI building tool for content-based layers"
authors = ["Jonathan Lebon <jonathan@jlebon.com>"]
repository = "https://github.com/coreos/chunkah"
license = "MIT OR Apache-2.0"
edition = "2024"
# Automatically bumped to match RHEL 9; see .github/workflows/msrv-bump.yml
rust-version = "1.92.0"
publish = false
[dependencies]
anyhow = "1"
camino = { version = "1", features = ["serde1"] }
cap-std-ext = { version = "5", default-features = false, features = ["fs_utf8"] }
chrono = "0.4"
clap = { version = "4", default-features = false, features = ["derive", "std", "help", "usage", "error-context", "env"] }
ctrlc = "3.5.2"
flate2 = "1"
fnv = "1.0.7"
hex = "0.4"
indexmap = "2"
libc = "0.2"
ocidir = "0.7"
openssl = "0.10"
rpm-qa = "0.3"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tar = "0.4"
tempfile = "3"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
[dev-dependencies]
fs-set-times = "0.20.3"
maplit = "1"