Skip to content

Commit f56ce70

Browse files
committed
Add annotations to tar export
1 parent 09b2766 commit f56ce70

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

cmd/convertor/builder/builder.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,9 @@ func (b *graphBuilder) buildOne(ctx context.Context, src v1.Descriptor, tag bool
296296
engineBase.reserve = b.Reserve
297297
engineBase.noUpload = b.NoUpload
298298
engineBase.dumpManifest = b.DumpManifest
299+
if _, ok := b.Resolver.(*FileBasedResolver); ok {
300+
engineBase.tarExport = true
301+
}
299302

300303
var engine builderEngine
301304
switch b.Engine {

cmd/convertor/builder/builder_engine.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ type builderEngineBase struct {
116116
noUpload bool
117117
dumpManifest bool
118118
referrer bool
119+
tarExport bool
119120
}
120121

121122
func (e *builderEngineBase) isGzipLayer(ctx context.Context, idx int) (bool, error) {
@@ -171,6 +172,7 @@ func (e *builderEngineBase) mediaTypeImageLayer() string {
171172
}
172173

173174
func (e *builderEngineBase) uploadManifestAndConfig(ctx context.Context) (specs.Descriptor, error) {
175+
shouldUploadBlob := !e.noUpload || e.tarExport
174176
cbuf, err := json.Marshal(e.config)
175177
if err != nil {
176178
return specs.Descriptor{}, err
@@ -180,7 +182,7 @@ func (e *builderEngineBase) uploadManifestAndConfig(ctx context.Context) (specs.
180182
Digest: digest.FromBytes(cbuf),
181183
Size: (int64)(len(cbuf)),
182184
}
183-
if !e.noUpload {
185+
if shouldUploadBlob {
184186
if err = uploadBytes(ctx, e.pusher, e.manifest.Config, cbuf); err != nil {
185187
return specs.Descriptor{}, errors.Wrapf(err, "failed to upload config")
186188
}
@@ -204,7 +206,7 @@ func (e *builderEngineBase) uploadManifestAndConfig(ctx context.Context) (specs.
204206
Digest: digest.FromBytes(cbuf),
205207
Size: (int64)(len(cbuf)),
206208
}
207-
if !e.noUpload {
209+
if shouldUploadBlob {
208210
if err = uploadBytes(ctx, e.pusher, manifestDesc, cbuf); err != nil {
209211
return specs.Descriptor{}, errors.Wrapf(err, "failed to upload manifest")
210212
}

cmd/convertor/builder/overlaybd_builder.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ func (e *overlaybdBuilderEngine) UploadLayer(ctx context.Context, idx int) error
177177
label.OverlayBDBlobSize: fmt.Sprintf("%d", desc.Size),
178178
label.OverlayBDBlobFsType: e.fstype,
179179
}
180-
if !e.noUpload {
180+
shouldUploadBlob := !e.noUpload || e.tarExport
181+
if shouldUploadBlob {
181182
if err := uploadBlob(ctx, e.pusher, path.Join(layerDir, commitFile), desc); err != nil {
182183
return errors.Wrapf(err, "failed to upload layer %d", idx)
183184
}
@@ -467,7 +468,8 @@ func (e *overlaybdBuilderEngine) uploadBaseLayer(ctx context.Context) (specs.Des
467468
label.OverlayBDBlobFsType: e.fstype,
468469
},
469470
}
470-
if !e.noUpload {
471+
shouldUploadBlob := !e.noUpload || e.tarExport
472+
if shouldUploadBlob {
471473
if err = uploadBlob(ctx, e.pusher, tarFile, baseDesc); err != nil {
472474
return specs.Descriptor{}, errors.Wrapf(err, "failed to upload baselayer")
473475
}

0 commit comments

Comments
 (0)