aboutsummaryrefslogtreecommitdiff
path: root/pkg/varlinkapi/images.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/varlinkapi/images.go')
-rw-r--r--pkg/varlinkapi/images.go17
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,