From 1329a604d4f60bcb4b90d9256a99cca6ad9246e3 Mon Sep 17 00:00:00 2001 From: Adam Eijdenberg Date: Mon, 8 Jun 2026 22:18:09 +1000 Subject: [PATCH] feat: pass through DestinationTimestamp when pushing manifest This allows the caller to create deterministic tarballs. Signed-off-by: Adam Eijdenberg --- common/libimage/manifests/manifests.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/libimage/manifests/manifests.go b/common/libimage/manifests/manifests.go index 3caff540dd..c4196901b4 100644 --- a/common/libimage/manifests/manifests.go +++ b/common/libimage/manifests/manifests.go @@ -114,6 +114,8 @@ type PushOptions struct { MaxRetries *uint // RetryDelay used for the exponential back off of MaxRetries. RetryDelay *time.Duration + // DestinationTimestamp, if set, overwrites the timestamp entries on any tar entries + DestinationTimestamp *time.Time } // Create creates a new list containing information about the specified image, @@ -449,6 +451,7 @@ func (l *list) Push(ctx context.Context, dest types.ImageReference, options Push ForceManifestMIMEType: singleImageManifestType, EnsureCompressionVariantsExist: compressionVariants, ForceCompressionFormat: options.ForceCompressionFormat, + DestinationTimestamp: options.DestinationTimestamp, } retryOptions := retry.Options{}