From 24846d22b11f20edc03dff7ac3b3959019969873 Mon Sep 17 00:00:00 2001 From: Lavrenti Frobeen Date: Mon, 3 Apr 2023 17:34:26 +0200 Subject: [PATCH] Use correct media type for zstd layers (#2459) In my previous commits I forgot to override the media type for layers that are using zstd compression. --- pkg/executor/build.go | 3 ++- pkg/executor/push.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/executor/build.go b/pkg/executor/build.go index 02575776e..33761e746 100644 --- a/pkg/executor/build.go +++ b/pkg/executor/build.go @@ -31,6 +31,7 @@ import ( "github.com/google/go-containerregistry/pkg/v1/empty" "github.com/google/go-containerregistry/pkg/v1/mutate" "github.com/google/go-containerregistry/pkg/v1/tarball" + "github.com/google/go-containerregistry/pkg/v1/types" "github.com/moby/buildkit/frontend/dockerfile/instructions" "github.com/pkg/errors" "github.com/sirupsen/logrus" @@ -527,7 +528,7 @@ func (s *stageBuilder) saveSnapshotToLayer(tarPath string) (v1.Layer, error) { switch s.opts.Compression { case config.ZStd: - layerOpts = append(layerOpts, tarball.WithCompression("zstd")) + layerOpts = append(layerOpts, tarball.WithCompression("zstd"), tarball.WithMediaType(types.OCILayerZStd)) case config.GZip: // layer already gzipped by default diff --git a/pkg/executor/push.go b/pkg/executor/push.go index f8620dbd6..c88efbffa 100644 --- a/pkg/executor/push.go +++ b/pkg/executor/push.go @@ -41,6 +41,7 @@ import ( "github.com/google/go-containerregistry/pkg/v1/remote" "github.com/google/go-containerregistry/pkg/v1/remote/transport" "github.com/google/go-containerregistry/pkg/v1/tarball" + "github.com/google/go-containerregistry/pkg/v1/types" "github.com/pkg/errors" "github.com/sirupsen/logrus" "github.com/spf13/afero" @@ -307,7 +308,7 @@ func pushLayerToCache(opts *config.KanikoOptions, cacheKey string, tarPath strin switch opts.Compression { case config.ZStd: - layerOpts = append(layerOpts, tarball.WithCompression("zstd")) + layerOpts = append(layerOpts, tarball.WithCompression("zstd"), tarball.WithMediaType(types.OCILayerZStd)) case config.GZip: // layer already gzipped by default