Commit graph

34 commits

Author SHA1 Message Date
Jonathan Lebon
780bcd2b4d Cargo.toml: bump version to v0.7.1 2026-10-05 17:45:02 -04:00
Jonathan Lebon
a98ed2c657 Cargo.toml: bump version to v0.7.0 2026-09-28 12:38:37 -04:00
Jonathan Lebon
8df3cb454b README: mention ALPM/pacman support
Update the Highlights and Understanding components sections to reflect
that pacman (ALPM) is now a supported component repo alongside RPM.

Assisted-by: Pi (Claude Opus 4.6)
2026-07-23 14:28:29 -04:00
Jonathan Lebon
fbfb347688 Cargo.toml: bump version to v0.6.0 2026-06-08 10:38:52 -04:00
Dusty Mabe
18f913ed47 README: add note on required minimum bootc version
For bootable containers let's add a note about minimum versions
of bootc required to use chunkah chunked images. The versions are
v1.1.3, which contains [1] for images <= 128 layers, and v1.9.0,
which contains [2], for images with > 128 layers.

[1] c49ccec505
[2] 207b7f0abf
2026-05-12 17:07:44 -04:00
Jonathan Lebon
b990a777d7 Cargo.toml: bump version to v0.5.0 2026-05-04 07:11:46 -04:00
Jonathan Lebon
8de382617c Cargo.toml: bump version to v0.4.0 2026-04-22 21:05:45 -04:00
Jonathan Lebon
dc805a69ac build: add support for -t/--tag switch
In the `podman run chunkah | podman load` flow for splitting an existing
image, it's annoying that the resulting image is unnamed. Add support
for a `-t`/`--tag` switch which sets the right annotation on the
manifest descriptor in the OCI archive that e.g. `podman` and `docker`
pay attention to.

While we're here, update the Docker docs; the containerd backend does
support OCI archives natively and that's the default backend nowadays.
So that simplifies things nicely and makes it almost identical to the
podman instructions.

Assisted-by: OpenCode (Claude Opus 4.6)
2026-04-08 23:02:06 -04:00
Jonathan Lebon
28bf91fd94 README.md: clarify update-interval on just one file
This is a natural question I think.
2026-04-01 23:10:30 -04:00
Jonathan Lebon
80e68536fd xattr: default to weekly stability if missing
This is the second part of #98. If the user didn't provide any interval
via the new xattr API, assume weekly.

Previously, we were using the fallback of (minimum stability)/2, which
(1) is way too sensitive to churny outliers in the package set, and (2)
doesn't really have a basis in what users are expressing.

I'm converting users' intent of bothering to add an xattr here
as them saying that it has _some_ amount of stability, which I'm
semi-arbitrarily ballparking as 'weekly'.

While we're here, tweak the README section on xattrs a bit more to
reflect reality.
2026-04-01 22:48:52 -04:00
Jonathan Lebon
3458232175 xattr: support user.update-interval xattr for component stability
Allow users to specify the stability of xattr components via
`user.update-interval`. The value can be either a positive integer
representing the average update interval in days (e.g. '30') or a
named label (daily, weekly, biweekly, monthly, quarterly, yearly). That
makes it easier to understand than having them plug in the probability
directly.

This plugs a notable gap we've had so far in the xattr repo, which
without this information was useful mostly when there was no to little
packing pressure. As soon as aggressive packing is required, treating a
high stability component as low can lead to suboptimal outcomes.

Closes: #98
Assisted-by: OpenCode (Claude Opus 4.6)
2026-04-01 15:26:47 -04:00
Jonathan Lebon
8031677c47 README.md: drop experimental alert box
There's real world usage of chunkah at this point in various places that
have proved it out and I feel pretty good about the current UX. It's
unlikely we'll break those users.

Let's drop the alert box to help it go farther!
2026-03-27 11:42:35 -04:00
Jonathan Lebon
19d54613d6 README.md: fix link to zstd:chunked
I like linking to the upstream source, but perhaps if it breaks again I
guess we can link to the RH blog post or something more stable.
2026-03-26 14:52:41 -04:00
Jonathan Lebon
a1b13815fd Cargo.toml: bump version to v0.3.2 2026-03-23 09:32:00 -04:00
Jonathan Lebon
30fae15149 Cargo.toml: bump version to v0.3.1 2026-03-20 12:17:37 -04:00
Jonathan Lebon
9749e62000 tree: update quay.io image references to coreos org
Past versions have been migrated from quay.io/jlebon/chunkah to
quay.io/coreos/chunkah. Update all references to point to the new
location, including the CI workflow, docs, and tooling.

Assisted-by: OpenCode (Claude Opus 4.6)
2026-03-18 16:15:48 -04:00
Jonathan Lebon
64aae45332 README.md: update with latest options
There's a bunch of things that were under-documented or not documented
at all. There's also a mention of a cap on `--max-layers` which was
never implemented.
2026-03-17 21:42:43 -04:00
Jonathan Lebon
c71df3b3d8 Cargo.toml: bump version v0.3.0 2026-03-11 10:19:39 -04:00
Jonathan Lebon
046b324596 tree: update GitHub URLs from jlebon/chunkah to coreos/chunkah
The canonical repo now lives in the coreos org.

Assisted-by: Claude Opus 4.6
2026-03-04 17:09:23 -05:00
Jonathan Lebon
0394643fa5 README.md: move note re. buildah layer annotation bug
The buildah layer annotation bug[[1]] only manifests in the buildah flow
when adding additional instructions after the final `FROM oci-archive:`.
Move the related note to that section instead and clarify this.

[1]: https://github.com/containers/buildah/issues/6652
2026-03-02 13:41:31 -05:00
Jonathan Lebon
8cd9609516 README: document support for rechunking OSTree-based bootc images
I was hesitant to document this because there's various subtle gotchas,
but people are doing it anyway, so we might as well provide guidance and
document those gotchas.

This also documents a `CHUNKAH_CONFIG_STR` build arg one could add in
the buildah flow to persist base image metadata without having to repeat
it.

Assisted-by: Claude Opus 4.6
2026-03-02 11:51:32 -05:00
Jonathan Lebon
b6ab85c4a7 Cargo.toml: bump version to v0.2.0 2026-02-15 23:59:45 -05:00
Jonathan Lebon
7cf94ac2d9 tree: add logging using tracing crate
One thing sorely missing right now is any feedback of what chunkah is
doing.

This remedies the situation quite a bit by hooking up the tracing crate
and adding logging throughout the codebase. I might've went overboard
with the trace level, though it's really nice to be able to follow
exactly the data flow for any given path, from scanning, claiming,
packing, merging, and serializing to tar.

Change all our e2e tests to use the debug level.

Assisted-by: Claude Opus 4.5

Closes: https://github.com/coreos/chunkah/issues/17
2026-02-15 23:26:33 -05:00
Jonathan Lebon
6be3b92d3d Bump buildah version check to v1.44
Buildah v1.43 was released but doesn't include
https://github.com/containers/buildah/pull/5975.

Bump the build context dir workaround version checks to v1.44.
2026-02-09 16:05:09 -05:00
Jonathan Lebon
35964bbcda README.md: add section about zstd:chunked
I think it's natural to wonder this since they both try to make OCI
updates more efficient.

Assisted-by: Claude Opus 4.6
2026-02-09 16:05:09 -05:00
Jonathan Lebon
fcbb011391 README.md: add table of contents
The README is getting a bit long now so let's add a TOC!

Assisted-by: Claude Opus 4.6
2026-02-09 16:05:09 -05:00
Jonathan Lebon
a6682fd649 README.md: bump Containerfile.splitter versioned URL
Let's just have it always match the latest release.

Generalize the `lockcheck` CI check to become `versioncheck`, which also
covers the README.md. The grep lines are a bit yucky but meh.

Assisted-by: Claude Opus 4.5
2026-02-01 23:12:28 -05:00
Jonathan Lebon
50ab64c80e README.md: fix block note rendering
Initially did this but markdownlint complained. We definitely do need
the newline though for it to render as a separate box.
2026-01-30 15:25:47 -05:00
Jonathan Lebon
3215bf9caa README.md: fix Containerfile.splitter URL
For some reason, I can't get the `latest` link to work. So let's just
use what we have for now.
2026-01-30 15:20:23 -05:00
Jonathan Lebon
e3997b9436 README.md: document annotations bug 2026-01-30 13:10:54 -05:00
Jonathan Lebon
dbb10752af README.md: add section about bootable images
Notably, that we don't support OSTree-based images.
2026-01-30 13:10:54 -05:00
tangowithfoxtrot
6e506b5f4a fix(docs): unquoted docker inspect strings
if left unquoted, the `CHUNKAH_CONFIG_STR` will just be the last line of the JSON output (`]`), breaking the usage in the examples
2026-01-20 12:39:09 -05:00
Jonathan Lebon
0b5a4b9f3a
README.md: update xattr repo section to reflect reality
We switched to always reading xattrs upfront because it's metadata we
want to persist anyway.
2026-01-20 10:33:27 -05:00
Jonathan Lebon
11ca5eb66a
tree: initial commit 2026-01-19 15:59:23 -05:00