Skip to content

feat(oci): backfill image deltas from digests - #178

Merged
abn merged 1 commit into
mainfrom
feat/image-deltas-backfill
Oct 23, 2026
Merged

abn merged 1 commit into
mainfrom
feat/image-deltas-backfill

Conversation

@abn

@abn abn commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Adds aetherpak deltas backfill, a repair path for an existing image pair. Stacked on #177.

What changed

  • deltas backfill --to-digest <digest> --from-digest <digest> generates delta layers from existing images and republishes the delta manifest and index entry without pushing the images again.
  • Repeat --from-digest for multiple sources. A bare hex digest is accepted as sha256.
  • --dry-run generates the delta without publishing it or retaining source tags.
  • Source retention works as in a normal push, and the delta manifest carries the ordered source annotation.
  • Emits target-digest, layers, smallest-bytes, and published.

Behavior

  • Use it to repair a missing or lost delta, or to add a source to an existing target.
  • It needs registry write credentials. --dry-run needs read access only.
  • If no source produces a smaller layer, it exits successfully without changing the registry.
  • The --backfill N history walk remains a follow-up. Sources are explicit digests for now.

Validation

  • Tests publish a delta between two existing test-registry images and assert the manifest, source annotation, and index entry.
  • A dry run generates a layer but writes no manifest or source tag.
  • go test -race ./..., go vet, pre-commit, and integration pass.

Notes

  • Action integration and a history-walk mode are follow-ups.

@abn
abn added this pull request to stack #175 October 23, 2026 21:03
@abn
abn added this pull request to the merge queue Oct 23, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 23, 2026
@abn
abn force-pushed the feat/image-deltas-backfill branch from 9b3257a to 069bd86 Compare October 23, 2026 21:10
@abn
abn added this pull request to the merge queue Oct 23, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 23, 2026
@abn
abn force-pushed the feat/image-deltas-backfill branch from 069bd86 to c261105 Compare October 23, 2026 21:41
@abn
abn added this pull request to the merge queue Oct 23, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 23, 2026
Base automatically changed from feat/image-deltas-prune to main October 23, 2026 21:58
@abn
abn force-pushed the feat/image-deltas-backfill branch from c261105 to c54cf6d Compare October 23, 2026 21:58
@abn
abn merged commit 4f3684e into main Oct 23, 2026
6 checks passed
@abn
abn deleted the feat/image-deltas-backfill branch October 23, 2026 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant