hhd-dev/OCI ReChunker

ReChunker allows you to repartition an existing OCI OS image into a set of equal-sized package bundles, or chunks. Between releases, only a subset of chunks are updated, reducing bandwidth use, and pulling is faster due to their larger number.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
refThe image reference that will be rechunked. Use any reference that works under `podman create <ref>`. yes
prev-refThe previous image reference, if any. Used for versioning the current image and to avoid layer shifts (important; may be skipped).
clear-planIf set, a new plan will be recreated.
prev-ref-failIf set, fail if the previous image reference is not found.
max-layersThe number of layers (chunks) the output image will have.
skip_compressionSkip compression of the output image. Use only if you are recompressing the output (e.g., zstd:chunked). Saves 3-5min or 30% of runtime.
labelsThe labels to apply to the output image, e.g., `org.opencontainers.image.title=My Image`. Separate by newline.
descriptionThe description of the image. Populates `org.opencontainers.image.description=<description>`. Can be provided as part of labels instead. However you can use this field with the | operator for multiline descriptions.
versionThe version of the image. Populates `org.opencontainers.image.version=<version>`. If the `prev-ref` image manifest contains the same version, this will be sufixed with .1, .2, etc. Use `<date>` for the current date in the format `YYMMDD` (240305). Example: `3.1_<date>` becomes `3.1_240305`. <date>
prettyThe pretty version of the image. Can be used as the <pretty> variable to make substitutions in the labels.
rechunkThe rechunker OCI image to use. Cannot use a Dockerfile, as building the image takes around 5 minutes. Always tag it with the action version. FIXME: old versions will expire after 90 days, so you might have to fork this action to your org's page or update every few months. This is temporary, until the changes to `ostree-rs-ext` are merged and the upstream version can be used, after which point the Containerfile will build in seconds. ghcr.io/hhd-dev/rechunk:latest
keep-refBy default, this action will remove the ref image provided in `ref`. This variable will disable discarding it after the OSTree commit is created. May cause the storage overflow.
changelogThe changelog of the image. Can be substituted with the <changelog> variable and will be placed
gitThe git repository to use for the action. Used for versioning the output. Defaults to the current repository.
revisionThe revision that will be recorded in the image metadata and in "org.opencontainers.image.revision". Used for the <commit> tag along with the git path. If <commit> is not used, providing it as part of a "org.opencontainers.image.revision" is the same.
formattersThe formatters to use for the changelog. The format is as follows: ``` formatter=<format> ``` Formatter is a string up to the first = and defines the formatter name. After that and until the end of the line is the format. Use \n for newlines. Different formatters use different substitutions (e.g., <name>), refer to the examples for specifics. You can use the characters `<`, `>`, `=` freely. Substitution is only performed on exact tag matches.
metaThe metadata file to use for the image. Specified as a path.
namedescription
refThe reference of the rechunked image. Will be in the form of `oci:<dir>`, with dir being the directory of the OCI image, relative to workdir.
versionThe version of the rechunked image to be used as a tag.
locationThe filesystem location of the rechunked image, so that it can be removed.
changelogThe changelog of the image, with the <changelog> variable substituted.
manifestThe skopeo manifest of the rechunked image.