From a5ff1828c7b515c439c497db91c39bf9f0cc514a Mon Sep 17 00:00:00 2001 From: Shiwei Zhang Date: Thu, 28 Oct 2021 13:50:20 +0800 Subject: [PATCH] fix auth scope claim Signed-off-by: Shiwei Zhang --- pkg/remotes/docker/artifacts.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkg/remotes/docker/artifacts.go b/pkg/remotes/docker/artifacts.go index 5b6899143..d161a0da2 100644 --- a/pkg/remotes/docker/artifacts.go +++ b/pkg/remotes/docker/artifacts.go @@ -10,6 +10,7 @@ import ( "github.com/containerd/containerd/content" "github.com/containerd/containerd/errdefs" + "github.com/containerd/containerd/reference" "github.com/containerd/containerd/remotes" "github.com/containerd/containerd/remotes/docker" remoteserrors "github.com/containerd/containerd/remotes/errors" @@ -27,6 +28,15 @@ func (d *dockerDiscoverer) Pusher(ctx context.Context, ref string) (remotes.Push func (d *dockerDiscoverer) Push(ctx context.Context, desc ocispec.Descriptor) (content.Writer, error) { switch desc.MediaType { case artifactspec.MediaTypeArtifactManifest: + r, err := reference.Parse(d.reference) + if err != nil { + return nil, err + } + ctx, err := docker.ContextWithRepositoryScope(ctx, r, true) + if err != nil { + return nil, err + } + h, err := d.filterHosts(docker.HostCapabilityPush) if err != nil { return nil, err