feat: report push phase transitions during OCI image export (#2797)
* feat: report push phase transitions during OCI image export
During OCI push, the Docker image export phase (docker save → temp
tarball) was completely silent — the user saw nothing while potentially
large images were exported. This adds phase reporting through the
existing PushProgress callback so the CLI can display status messages
during the export.
Rather than adding a separate callback, PushProgress is extended with
a Phase field. Phase-only updates (Phase set, byte fields zero) signal
transitions between exporting and pushing; byte-progress updates
(Phase empty) report per-layer upload progress as before. This keeps
a single callback contract for all push progress.
* use console.Infof for push phase messages instead of progress writer
Phase transitions (exporting, pushing) now print via console.Infof for
pretty CLI formatting, while per-layer progress bars continue using the
JSON progress writer.
* feat: report push phase transitions during OCI image export
During OCI push, the Docker image export phase (docker save → temp
tarball) was completely silent — the user saw nothing while potentially
large images were exported. This adds phase reporting through the
existing PushProgress callback so the CLI can display status messages
during the export.
Rather than adding a separate callback, PushProgress is extended with
a Phase field. Phase-only updates (Phase set, byte fields zero) signal
transitions between exporting and pushing; byte-progress updates
(Phase empty) report per-layer upload progress as before. This keeps
a single callback contract for all push progress.
* use console.Infof for push phase messages instead of progress writer
Phase transitions (exporting, pushing) now print via console.Infof for
pretty CLI formatting, while per-layer progress bars continue using the
JSON progress writer.
* chore: fix close/remove order
Signed-off-by: Mark Phelps <mphelps@cloudflare.com>
---------
Signed-off-by: Mark Phelps <mphelps@cloudflare.com>