From cf9d7b33e9e735ce7ad8c1446f76deb51fbfe8e0 Mon Sep 17 00:00:00 2001 From: jonjohnsonjr Date: Thu, 26 Nov 2020 09:12:22 -0800 Subject: [PATCH] Don't log image layers in debug logs (#836) --- pkg/v1/remote/image.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/v1/remote/image.go b/pkg/v1/remote/image.go index 84634f72f..35fee7762 100644 --- a/pkg/v1/remote/image.go +++ b/pkg/v1/remote/image.go @@ -21,6 +21,7 @@ import ( "net/url" "sync" + "github.com/google/go-containerregistry/pkg/internal/redact" "github.com/google/go-containerregistry/pkg/name" v1 "github.com/google/go-containerregistry/pkg/v1" "github.com/google/go-containerregistry/pkg/v1/partial" @@ -142,6 +143,9 @@ func (rl *remoteImageLayer) Compressed() (io.ReadCloser, error) { return nil, err } + // We don't want to log binary layers -- this can break terminals. + ctx := redact.NewContext(rl.ri.context, "omitting binary blobs from logs") + for _, s := range d.URLs { u, err := url.Parse(s) if err != nil { @@ -161,7 +165,7 @@ func (rl *remoteImageLayer) Compressed() (io.ReadCloser, error) { return nil, err } - resp, err := rl.ri.Client.Do(req.WithContext(rl.ri.context)) + resp, err := rl.ri.Client.Do(req.WithContext(ctx)) if err != nil { lastErr = err continue