Skip to content

Show confirmed deletions while pruning - #7364

Draft
robmoss2k wants to merge 1 commit into
docker:masterfrom
robmoss2k:32193-prune-progress
Draft

robmoss2k wants to merge 1 commit into
docker:masterfrom
robmoss2k:32193-prune-progress

Conversation

@robmoss2k

@robmoss2k robmoss2k commented Oct 8, 2026 •

Copy link
Copy Markdown

Related to: moby/moby#32193

Summary

Print confirmed deletions as prune operations progress, including system prune, while preserving existing headings and final reclaimed-space totals. Consume typed prune events through the SDK result. Use the final JSON report for older API versions or response authorization fallback, without sending another prune request.

Dependent draft: requires moby/moby#53894 and publication of its API/SDK modules, followed by a normal dependency update. The currently pinned public SDK does not contain the new result methods; this draft cannot yet build independently.

AI assistance: Codex wrote most of this revision, its tests, documentation, and this description; performed self-review; and ran the automated checks. The human contributor reviewed the original implementation and this revision before publication.

Validation and limits

Rebased onto master e4078058de0a. The isolated proof checkout uses the revised API/SDK as normally vendored unpublished module fixtures; submitted dependencies are unchanged.

  • All three Moby module linters and the official CLI container lint pass.
  • Module-replace, vendor, package-import, Swagger, and generated-type validators pass.
  • Full SDK tests and the full CLI unit package selection pass; focused SDK and HTTP/reporter race tests pass.
  • Focused SDK, HTTP, CLI container/system/printer tests run natively on Windows and pass. Windows amd64 daemon/CLI and Linux arm64 daemon builds pass.
  • Populated Docker-in-Docker fixtures pass with classic vfs and containerd overlayfs: five prune endpoints, actual CLI output before the final report, exact progress/report correspondence, unchanged totals, preservation/filter checks, and API 1.55 fallback.
  • Real SDK early-iteration cancellation releases the daemon prune lock; a subsequent prune reports exactly the remaining objects. Invalid filters retain HTTP 400.
  • New integration tests pass with both image stores, including response authorization allow/deny and populated BuildKit cache.
  • Buffering, throttling, TLS proxying, Swarm overlay pruning, stalled-reader lock release, and direct mutual TLS pass.

The complete upstream CI matrix has not run for this revision. Native Windows focused tests and builds were refreshed; populated live Windows daemon tests, native ARM runtime, and rootless runtime have not been repeated for this refactor. Earlier Windows runtime evidence belongs to the previously reviewed implementation and is not claimed as proof of this revision.

CLI validation uses normally vendored, unpublished API/SDK module fixtures in an isolated proof checkout; no fake module versions or local replacement are submitted. The CLI remains a dependent draft until the API and SDK modules can be published and its normal dependency update can be committed. Its currently pinned public SDK does not contain this feature, so its submitted branch cannot yet compile independently.

Release notes (optional)

Show confirmed deletions while pruning and retain final reclaimed-space totals.

Created with: Codex

Consume typed prune object events from the SDK result and print confirmed
deletions as they arrive. Preserve final reclaimed-space totals and JSON
fallback without repeating a destructive request.

Signed-off-by: Rob Moss <15984835+robmoss2k@users.noreply.github.com>
@robmoss2k
robmoss2k force-pushed the 32193-prune-progress branch from f4e0874 to ced9ae0 Compare October 12, 2026 13:52
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