Conversation
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)
There was a problem hiding this comment.
Code Review
This pull request introduces a new -t/--tag option for the chunkah build command, allowing users to specify a tag for the generated OCI image archive. This tag is then utilized by podman load and docker load to automatically tag the loaded image, simplifying the image loading workflow. The README.md has been updated to reflect this new functionality, including details on Docker's containerd image store requirements. The implementation involves adding the tag argument to the BuildArgs struct, passing it to the Builder, and updating the ocibuilder to set the org.opencontainers.image.ref.name annotation on the manifest descriptor. The end-to-end tests have also been updated to use this new tagging functionality. The review comments suggest an improvement to the Builder::tag method to accept a &str instead of String to avoid unnecessary string cloning and improve performance, aligning with idiomatic Rust practices.
In the
podman run chunkah | podman loadflow for splitting an existing image, it's annoying that the resulting image is unnamed. Add support for a-t/--tagswitch which sets the right annotation on the manifest descriptor in the OCI archive that e.g.podmananddockerpay 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)