@@ -40,7 +40,7 @@ extension ImageStore {
4040 }
4141
4242 /// Pull the required image layers for the provided descriptor and platform(s) into the given directory using the provided client. Returns a descriptor to the Index manifest.
43- internal func `import`( root: Descriptor , matcher: ( ContainerizationOCI . Platform ) -> Bool ) async throws -> Descriptor {
43+ internal func `import`( root: OCIDescriptor , matcher: ( OCIPlatform ) -> Bool ) async throws -> OCIDescriptor {
4444 var toProcess = [ root]
4545 while !toProcess. isEmpty {
4646 // Count the total number of blobs and their size
@@ -61,14 +61,14 @@ extension ImageStore {
6161 toProcess = filtered. uniqued { $0. digest }
6262 }
6363
64- guard root. mediaType != MediaTypes . dockerManifestList && root. mediaType != MediaTypes . index else {
64+ guard root. mediaType != OCIMediaTypes . dockerManifestList && root. mediaType != OCIMediaTypes . index else {
6565 return root
6666 }
6767
6868 // Create an index for the root descriptor and write it to the content store
6969 let index = try await self . createIndex ( for: root)
70- // In cases where the root descriptor pointed to `MediaTypes .imageManifest`
71- // Or `MediaTypes .dockerManifest`, it is required that we check the supported platform
70+ // In cases where the root descriptor pointed to `OCIMediaTypes .imageManifest`
71+ // Or `OCIMediaTypes .dockerManifest`, it is required that we check the supported platform
7272 // matches the platforms we were asked to pull. This can be done only after we created
7373 // the Index.
7474 let supportedPlatforms = index. manifests. compactMap { $0. platform }
@@ -77,13 +77,13 @@ extension ImageStore {
7777 }
7878 let writer = try ContentWriter ( for: self . ingestDir)
7979 let result = try writer. create ( from: index)
80- return Descriptor (
81- mediaType: MediaTypes . index,
80+ return OCIDescriptor (
81+ mediaType: OCIMediaTypes . index,
8282 digest: result. digest. digestString,
8383 size: Int64 ( result. size) )
8484 }
8585
86- private func getManifestContent< T: Sendable & Codable > ( descriptor: Descriptor ) async throws -> T {
86+ private func getManifestContent< T: Sendable & Codable > ( descriptor: OCIDescriptor ) async throws -> T {
8787 do {
8888 if let content = try await self . contentStore. get ( digest: descriptor. digest. trimmingDigestPrefix) {
8989 return try content. decode ( )
@@ -97,16 +97,16 @@ extension ImageStore {
9797 }
9898 }
9999
100- private func walk( _ descriptors: [ Descriptor ] ) async throws -> [ Descriptor ] {
101- var out : [ Descriptor ] = [ ]
100+ private func walk( _ descriptors: [ OCIDescriptor ] ) async throws -> [ OCIDescriptor ] {
101+ var out : [ OCIDescriptor ] = [ ]
102102 for desc in descriptors {
103103 let mediaType = desc. mediaType
104104 switch mediaType {
105- case MediaTypes . index, MediaTypes . dockerManifestList:
106- let index : Index = try await self . getManifestContent ( descriptor: desc)
105+ case OCIMediaTypes . index, OCIMediaTypes . dockerManifestList:
106+ let index : OCIIndex = try await self . getManifestContent ( descriptor: desc)
107107 out. append ( contentsOf: index. manifests)
108- case MediaTypes . imageManifest, MediaTypes . dockerManifest:
109- let manifest : Manifest = try await self . getManifestContent ( descriptor: desc)
108+ case OCIMediaTypes . imageManifest, OCIMediaTypes . dockerManifest:
109+ let manifest : OCIManifest = try await self . getManifestContent ( descriptor: desc)
110110 out. append ( manifest. config)
111111 out. append ( contentsOf: manifest. layers)
112112 default :
@@ -117,7 +117,7 @@ extension ImageStore {
117117 return out
118118 }
119119
120- private func fetchAll( _ descriptors: [ Descriptor ] ) async throws {
120+ private func fetchAll( _ descriptors: [ OCIDescriptor ] ) async throws {
121121 try await withThrowingTaskGroup ( of: Void . self) { group in
122122 var iterator = descriptors. makeIterator ( )
123123 for _ in 0 ..< 8 {
@@ -137,7 +137,7 @@ extension ImageStore {
137137 }
138138 }
139139
140- private func fetch( _ descriptor: Descriptor ) async throws {
140+ private func fetch( _ descriptor: OCIDescriptor ) async throws {
141141 if let found = try await self . contentStore. get ( digest: descriptor. digest) {
142142 try FileManager . default. copyItem ( at: found. path, to: ingestDir. appendingPathComponent ( descriptor. digest. trimmingDigestPrefix) )
143143 await progress ? ( [
@@ -160,7 +160,7 @@ extension ImageStore {
160160 ] )
161161 }
162162
163- private func fetchBlob( _ descriptor: Descriptor ) async throws {
163+ private func fetchBlob( _ descriptor: OCIDescriptor ) async throws {
164164 let id = UUID ( ) . uuidString
165165 let fm = FileManager . default
166166 let tempFile = ingestDir. appendingPathComponent ( id)
@@ -179,7 +179,7 @@ extension ImageStore {
179179 }
180180
181181 @discardableResult
182- private func fetchData( _ descriptor: Descriptor ) async throws -> Data {
182+ private func fetchData( _ descriptor: OCIDescriptor ) async throws -> Data {
183183 let data = try await client. fetchData ( name: name, descriptor: descriptor)
184184 let writer = try ContentWriter ( for: ingestDir)
185185 let result = try writer. write ( data)
@@ -195,11 +195,11 @@ extension ImageStore {
195195 return data
196196 }
197197
198- private func createIndex( for root: Descriptor ) async throws -> Index {
198+ private func createIndex( for root: OCIDescriptor ) async throws -> OCIIndex {
199199 switch root. mediaType {
200- case MediaTypes . index, MediaTypes . dockerManifestList:
200+ case OCIMediaTypes . index, OCIMediaTypes . dockerManifestList:
201201 return try await self . getManifestContent ( descriptor: root)
202- case MediaTypes . imageManifest, MediaTypes . dockerManifest:
202+ case OCIMediaTypes . imageManifest, OCIMediaTypes . dockerManifest:
203203 let supportedPlatforms = try await getSupportedPlatforms ( for: root)
204204 guard supportedPlatforms. count == 1 else {
205205 throw ContainerizationError (
@@ -211,15 +211,15 @@ extension ImageStore {
211211 let platform = supportedPlatforms. first!
212212 var root = root
213213 root. platform = platform
214- let index = ContainerizationOCI . Index ( schemaVersion: 2 , manifests: [ root] )
214+ let index = OCIIndex ( schemaVersion: 2 , manifests: [ root] )
215215 return index
216216 default :
217217 throw ContainerizationError ( . internalError, message: " Failed to create index for descriptor \( root. digest) , media type \( root. mediaType) " )
218218 }
219219 }
220220
221- private func getSupportedPlatforms( for root: Descriptor ) async throws -> [ ContainerizationOCI . Platform ] {
222- var supportedPlatforms : [ ContainerizationOCI . Platform ] = [ ]
221+ private func getSupportedPlatforms( for root: OCIDescriptor ) async throws -> [ OCIPlatform ] {
222+ var supportedPlatforms : [ OCIPlatform ] = [ ]
223223 var toProcess = [ root]
224224 while !toProcess. isEmpty {
225225 let children = try await self . walk ( toProcess)
@@ -229,9 +229,9 @@ extension ImageStore {
229229 continue
230230 }
231231 switch child. mediaType {
232- case MediaTypes . imageConfig, MediaTypes . dockerImageConfig:
233- let config : ContainerizationOCI . Image = try await self . getManifestContent ( descriptor: child)
234- let p = ContainerizationOCI . Platform (
232+ case OCIMediaTypes . imageConfig, OCIMediaTypes . dockerImageConfig:
233+ let config : OCIImage = try await self . getManifestContent ( descriptor: child)
234+ let p = OCIPlatform (
235235 arch: config. architecture, os: config. os, osFeatures: config. osFeatures, variant: config. variant
236236 )
237237 supportedPlatforms. append ( p)
0 commit comments