diff --git a/pkg/client/image/remove.go b/pkg/client/image/remove.go index 80c58f0..92c2fca 100644 --- a/pkg/client/image/remove.go +++ b/pkg/client/image/remove.go @@ -3,6 +3,7 @@ package image import ( "context" + "github.com/pkg/errors" imagesv1 "github.com/rancher/kim/pkg/apis/services/images/v1alpha1" "github.com/rancher/kim/pkg/client" "github.com/sirupsen/logrus" @@ -17,6 +18,9 @@ func (s *Remove) Do(ctx context.Context, k8s *client.Interface, image string) er if err != nil { return err } + if ref == nil { + return errors.Errorf("image %q: not found", image) + } res, err := imagesClient.Remove(ctx, &imagesv1.ImageRemoveRequest{Image: ref}) logrus.Debugf("%#v", res) return err diff --git a/pkg/server/images/remove.go b/pkg/server/images/remove.go index f3564c2..101731f 100644 --- a/pkg/server/images/remove.go +++ b/pkg/server/images/remove.go @@ -19,6 +19,9 @@ func (s *Server) Remove(ctx context.Context, req *imagesv1.ImageRemoveRequest) ( return nil, err } defer done(ctx) + if req.Image == nil { + return &imagesv1.ImageRemoveResponse{}, nil + } img, err := s.Containerd.ImageService().Get(ctx, req.Image.Image) if err != nil { return nil, err