diff --git a/cli/internal/image/image.go b/cli/internal/image/image.go index 49af298f6..44715836f 100644 --- a/cli/internal/image/image.go +++ b/cli/internal/image/image.go @@ -54,11 +54,22 @@ func (f *Fetcher) FetchReference(ctx context.Context, config *config.Config) (st Version: ver.Version, } + url, err := imgInfoReq.URL() + if err != nil { + return "", err + } + imgInfo, err := getFromFile(f.fs, imgInfoReq) if err != nil && errors.Is(err, fs.ErrNotExist) { imgInfo, err = f.fetcher.FetchImageInfo(ctx, imgInfoReq) } - if err != nil { + + var notFoundErr *fetcher.NotFoundError + switch { + case errors.As(err, ¬FoundErr): + overridePath := imageInfoFilename(imgInfoReq) + return "", fmt.Errorf("image info file not found locally at %q or remotely at %s", overridePath, url) + case err != nil: return "", err }