From 3ff2521262c5c09fc095b24d1d8e3f0a67c8e212 Mon Sep 17 00:00:00 2001 From: Antonio Gamez Diaz Date: Fri, 4 Mar 2022 19:11:25 +0100 Subject: [PATCH] feat(helm): add 'ClientOptResolver' ClientOption This is a way to make the containerd resolver configurable by third-party users. Related #10623 Signed-off-by: Antonio Gamez Diaz --- pkg/registry/client.go | 7 +++++++ pkg/registry/client_test.go | 1 + 2 files changed, 8 insertions(+) diff --git a/pkg/registry/client.go b/pkg/registry/client.go index 3a50f5fe2..50c9e3fe5 100644 --- a/pkg/registry/client.go +++ b/pkg/registry/client.go @@ -183,6 +183,13 @@ func (c *Client) WithResolver(insecure, plainHTTP bool) error { return nil } +// ClientOptResolver returns a function that sets the resolver setting on a client options set +func ClientOptResolver(resolver remotes.Resolver) ClientOption { + return func(client *Client) { + client.resolver = resolver + } +} + type ( // LoginOption allows specifying various settings on login LoginOption func(*loginOperation) diff --git a/pkg/registry/client_test.go b/pkg/registry/client_test.go index abec6975a..c7c7549ab 100644 --- a/pkg/registry/client_test.go +++ b/pkg/registry/client_test.go @@ -72,6 +72,7 @@ func (suite *RegistryClientTestSuite) SetupSuite() { ClientOptDebug(true), ClientOptWriter(suite.Out), ClientOptCredentialsFile(credentialsFile), + ClientOptResolver(nil), ) suite.Nil(err, "no error creating registry client")