Skip to content

Commit a6bd1d5

Browse files
committed
Remove registry Service use
Looks like the service is not needed, as we always pass an empty config, so we can use ParseRepositoryInfo instead. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
1 parent 0d18f6a commit a6bd1d5

File tree

2 files changed

+8
-29
lines changed

2 files changed

+8
-29
lines changed

cli/command/plugin/install.go

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"github.com/docker/cli/cli"
99
"github.com/docker/cli/cli/command"
1010
"github.com/docker/cli/cli/command/image"
11-
"github.com/docker/cli/cli/trust"
1211
"github.com/docker/distribution/reference"
1312
"github.com/docker/docker/api/types"
1413
"github.com/docker/docker/pkg/jsonmessage"
@@ -55,28 +54,14 @@ func newInstallCommand(dockerCli command.Cli) *cobra.Command {
5554
return cmd
5655
}
5756

58-
type pluginRegistryService struct {
59-
svc *registry.Service
60-
}
61-
62-
func (s pluginRegistryService) ResolveRepository(name reference.Named) (*registry.RepositoryInfo, error) {
63-
// FIXME(thaJeztah): do we need the Service here? Or can we just use ParseRepositoryInfo?
64-
repoInfo, err := s.svc.ResolveRepository(name)
57+
func resolveRepository(name reference.Named) (*registry.RepositoryInfo, error) {
58+
repoInfo, err := registry.ParseRepositoryInfo(name)
6559
if repoInfo != nil {
6660
repoInfo.Class = "plugin"
6761
}
6862
return repoInfo, err
6963
}
7064

71-
func newRegistryService() (trust.RepositoryResolver, error) {
72-
// FIXME(thaJeztah): do we need the Service here? Or can we just use ParseRepositoryInfo? We never pass actual ServiceOptions here?
73-
svc, err := registry.NewService(registry.ServiceOptions{})
74-
if err != nil {
75-
return nil, err
76-
}
77-
return pluginRegistryService{svc: svc}, nil
78-
}
79-
8065
func buildPullConfig(ctx context.Context, dockerCli command.Cli, opts pluginOptions, cmdName string) (types.PluginInstallOptions, error) {
8166
// Names with both tag and digest will be treated by the daemon
8267
// as a pull by digest with a local name for the tag
@@ -101,12 +86,7 @@ func buildPullConfig(ctx context.Context, dockerCli command.Cli, opts pluginOpti
10186
return types.PluginInstallOptions{}, errors.Errorf("invalid name: %s", ref.String())
10287
}
10388

104-
ctx := context.Background()
105-
svc, err := newRegistryService()
106-
if err != nil {
107-
return types.PluginInstallOptions{}, err
108-
}
109-
trusted, err := image.TrustedReference(ctx, dockerCli, nt, svc)
89+
trusted, err := image.TrustedReference(context.Background(), dockerCli, nt, resolveRepository)
11090
if err != nil {
11191
return types.PluginInstallOptions{}, err
11292
}

cli/trust/trust.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -298,13 +298,12 @@ type ImageRefAndAuth struct {
298298
digest digest.Digest
299299
}
300300

301-
type RepositoryResolver interface {
302-
ResolveRepository(name reference.Named) (*registry.RepositoryInfo, error)
303-
}
301+
// RepositoryResolver returns repository info for the given reference.
302+
type RepositoryResolver func(name reference.Named) (*registry.RepositoryInfo, error)
304303

305304
// GetImageReferencesAndAuth retrieves the necessary reference and auth information for an image name
306305
// as an ImageRefAndAuth struct
307-
func GetImageReferencesAndAuth(ctx context.Context, rs RepositoryResolver,
306+
func GetImageReferencesAndAuth(ctx context.Context, resolveFn RepositoryResolver,
308307
authResolver func(ctx context.Context, index *registrytypes.IndexInfo) registrytypes.AuthConfig,
309308
imgName string,
310309
) (ImageRefAndAuth, error) {
@@ -315,8 +314,8 @@ func GetImageReferencesAndAuth(ctx context.Context, rs RepositoryResolver,
315314

316315
// Resolve the Repository name from fqn to RepositoryInfo
317316
var repoInfo *registry.RepositoryInfo
318-
if rs != nil {
319-
repoInfo, err = rs.ResolveRepository(ref)
317+
if resolveFn != nil {
318+
repoInfo, err = resolveFn(ref)
320319
} else {
321320
repoInfo, err = registry.ParseRepositoryInfo(ref)
322321
}

0 commit comments

Comments
 (0)