@@ -152,18 +152,20 @@ enum AllowHTTP: String, ExpressibleByArgument, CaseIterable { case source, desti
152152
153153 // MARK: Upload resource layers
154154
155- var resourceLayers : [ RegistryClient . ImageLayer ] = [ ]
155+ typealias DiffID = String
156+ var resourceLayers : [ ( descriptor: ContentDescriptor , diffID: String ) ] = [ ]
156157 for resourceDir in resources {
157- let layer = try await destination. uploadLayer (
158+ let resourceTardiff = try Archive ( ) . appendingRecursively ( atPath: resourceDir) . bytes
159+ let resourceLayer = try await destination. uploadImageLayer (
158160 repository: destination_image. repository,
159- contents : try Archive ( ) . appendingRecursively ( atPath : resourceDir ) . bytes
161+ layer : resourceTardiff
160162 )
161163
162164 if verbose {
163- log ( " resource layer: \( layer . descriptor . digest) ( \( layer . descriptor . size) bytes) " )
165+ log ( " resource layer: \( resourceLayer . digest) ( \( resourceLayer . size) bytes) " )
164166 }
165167
166- resourceLayers. append ( layer )
168+ resourceLayers. append ( ( resourceLayer , digest ( of : resourceTardiff ) ) )
167169 }
168170
169171 // MARK: Upload the application layer
@@ -176,7 +178,6 @@ enum AllowHTTP: String, ExpressibleByArgument, CaseIterable { case source, desti
176178 }
177179
178180 // MARK: Create the application configuration
179-
180181 let timestamp = Date ( timeIntervalSince1970: 0 ) . ISO8601Format ( )
181182
182183 // Inherit the configuration of the base image - UID, GID, environment etc -
0 commit comments