code: func (v *Vibranium) CacheImage(opts *pb.CacheImageOptions, stream pb.CoreRPC_CacheImageServer) error {
  	v.taskAdd("CacheImage", true)
  	defer v.taskDone("CacheImage", true)
  
  	ch, err := v.cluster.CacheImage(stream.Context(), opts.Podname, opts.Nodename, opts.Images, int(opts.Step))
  	if err != nil {
  		return err
  	}
  
  	for m := range ch {
  		if err = stream.Send(toRPCCacheImageMessage(m)); err != nil {
  			v.logUnsentMessages("CacheImage", m)
  		}
  	}
  	return err
  }
docs: // CacheImage cache image