diff options
Diffstat (limited to 'pkg/varlinkapi/images.go')
-rw-r--r-- | pkg/varlinkapi/images.go | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/pkg/varlinkapi/images.go b/pkg/varlinkapi/images.go index b3090d2dd..8deb4cbe2 100644 --- a/pkg/varlinkapi/images.go +++ b/pkg/varlinkapi/images.go @@ -446,9 +446,21 @@ func (i *LibpodAPI) SearchImages(call iopodman.VarlinkCall, query string, limit if tlsVerify != nil { sc.DockerInsecureSkipTLSVerify = types.NewOptionalBool(!*tlsVerify) } - registries, err := sysreg.GetRegistries() + var registries []string + + // Check if search query has a registry in it + registry, err := sysreg.GetRegistry(query) if err != nil { - return call.ReplyErrorOccurred(fmt.Sprintf("unable to get system registries: %q", err)) + return call.ReplyErrorOccurred(fmt.Sprintf("error getting registry from %q: %q", query, err)) + } + if registry != "" { + registries = append(registries, registry) + query = query[len(registry)+1:] + } else { + registries, err = sysreg.GetRegistries() + if err != nil { + return call.ReplyErrorOccurred(fmt.Sprintf("unable to get system registries: %q", err)) + } } var imageResults []iopodman.ImageSearchResult for _, reg := range registries { @@ -468,6 +480,7 @@ func (i *LibpodAPI) SearchImages(call iopodman.VarlinkCall, query string, limit } for _, result := range results { i := iopodman.ImageSearchResult{ + Registry: reg, Description: result.Description, Is_official: result.IsOfficial, Is_automated: result.IsAutomated, |