diff --git a/pkg/archive/gzip/gzip.go b/pkg/archive/gzip/gzip.go index 730df290938..dc2c1945c92 100644 --- a/pkg/archive/gzip/gzip.go +++ b/pkg/archive/gzip/gzip.go @@ -21,7 +21,8 @@ func (a Archive) Close() error { // New gz archive func New(target io.Writer) Archive { - gw := gzip.NewWriter(target) + // the error will be nil since the compression level is valid + gw, _ := gzip.NewWriterLevel(target, gzip.BestCompression) return Archive{ gw: gw, } diff --git a/pkg/archive/targz/targz.go b/pkg/archive/targz/targz.go index afc837be105..7ea3f41bdb1 100644 --- a/pkg/archive/targz/targz.go +++ b/pkg/archive/targz/targz.go @@ -25,7 +25,8 @@ func (a Archive) Close() error { // New tar.gz archive func New(target io.Writer) Archive { - gw := gzip.NewWriter(target) + // the error will be nil since the compression level is valid + gw, _ := gzip.NewWriterLevel(target, gzip.BestCompression) tw := tar.NewWriter(gw) return Archive{ gw: gw, diff --git a/pkg/archive/zip/zip.go b/pkg/archive/zip/zip.go index e9be3fcf56b..d1dd5ead7c1 100644 --- a/pkg/archive/zip/zip.go +++ b/pkg/archive/zip/zip.go @@ -4,6 +4,7 @@ package zip import ( "archive/zip" + "compress/flate" "io" "os" ) @@ -20,8 +21,12 @@ func (a Archive) Close() error { // New zip archive func New(target io.Writer) Archive { + compressor := zip.NewWriter(target) + compressor.RegisterCompressor(zip.Deflate, func(out io.Writer) (io.WriteCloser, error) { + return flate.NewWriter(out, flate.BestCompression) + }) return Archive{ - z: zip.NewWriter(target), + z: compressor, } }