Add platform filtering on children handler

Fixes pulling of multi-arch images by limiting the expansion
of the index by filtering to the current default platform.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
This commit is contained in:
Derek McGowan
2017-09-20 14:23:26 -07:00
parent 9934acb271
commit eef47ffad3
6 changed files with 27 additions and 10 deletions

View File

@@ -9,6 +9,7 @@ import (
"github.com/containerd/containerd/content"
"github.com/containerd/containerd/images"
"github.com/containerd/containerd/platforms"
ocispecs "github.com/opencontainers/image-spec/specs-go"
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
"github.com/pkg/errors"
@@ -32,7 +33,7 @@ func (c *Client) exportToOCITar(ctx context.Context, desc ocispec.Descriptor, wr
}
handlers := images.Handlers(
images.ChildrenHandler(cs),
images.ChildrenHandler(cs, platforms.Default()),
images.HandlerFunc(exportHandler),
)