Merge pull request #868 from crazy-max/discard-containerd-logger

imagetools resolver: discard containerd logger output
This commit is contained in:
Tõnis Tiigi 2021-12-04 21:03:42 -08:00 committed by GitHub
commit 62bdf4d85e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 0 deletions

View File

@ -8,6 +8,7 @@ import (
"io"
"net/http"
"github.com/containerd/containerd/log"
"github.com/containerd/containerd/remotes"
"github.com/containerd/containerd/remotes/docker"
"github.com/docker/buildx/util/resolver"
@ -15,6 +16,7 @@ import (
"github.com/docker/distribution/reference"
"github.com/moby/buildkit/util/tracing"
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
"github.com/sirupsen/logrus"
)
type Auth interface {
@ -55,6 +57,12 @@ func (r *Resolver) resolver() remotes.Resolver {
}
func (r *Resolver) Resolve(ctx context.Context, in string) (string, ocispec.Descriptor, error) {
// discard containerd logger to avoid printing unnecessary info during image reference resolution.
// https://github.com/containerd/containerd/blob/1a88cf5242445657258e0c744def5017d7cfb492/remotes/docker/resolver.go#L288
logger := logrus.New()
logger.Out = io.Discard
ctx = log.WithLogger(ctx, logrus.NewEntry(logger))
ref, err := parseRef(in)
if err != nil {
return "", ocispec.Descriptor{}, err