func getStoreKeyFromApp(s *store.Store, img string) (string, error) { app, err := discovery.NewAppFromString(img) if err != nil { return "", fmt.Errorf("cannot parse the image name: %v", err) } labels, err := types.LabelsFromMap(app.Labels) if err != nil { return "", fmt.Errorf("invalid labels in the name: %v", err) } key, err := s.GetACI(app.Name, labels) if err != nil { return "", fmt.Errorf("cannot find image: %v", err) } return key, nil }
func getStoreKeyFromApp(s *store.Store, img string) (string, error) { app, err := discovery.NewAppFromString(img) if err != nil { return "", fmt.Errorf("cannot parse the image name %q: %v", img, err) } labels, err := types.LabelsFromMap(app.Labels) if err != nil { return "", fmt.Errorf("invalid labels in the image %q: %v", img, err) } key, err := s.GetACI(app.Name, labels) if err != nil { switch err.(type) { case store.ACINotFoundError: return "", err default: return "", fmt.Errorf("cannot find image %q: %v", img, err) } } return key, nil }
func getKeyFromAppOrHash(s *store.Store, input string) (string, error) { var key string if _, err := types.NewHash(input); err == nil { key, err = s.ResolveKey(input) if err != nil { return "", fmt.Errorf("cannot resolve key: %v", err) } } else { app, err := discovery.NewAppFromString(input) if err != nil { return "", fmt.Errorf("cannot parse the image name: %v", err) } labels, err := types.LabelsFromMap(app.Labels) if err != nil { return "", fmt.Errorf("invalid labels in the name: %v", err) } key, err = s.GetACI(app.Name, labels) if err != nil { return "", fmt.Errorf("cannot find image: %v", err) } } return key, nil }