CRI-O

https://github.com/cri-o/cri-o

Its whole purpose is to be the CRI for container orchestrators like k8s
So it can do what CRI should do, e.g. transfer of images, image storage, networking, container monitoring, etc and NOTHING else like building images, or letting user start containers via CLI
Refer to the scope of CRI-O

Like podman, CRI-O depends on other opensource libraries like image, storage, cni, conmon, and OCI runtimes like runc

CRI-O is developed by redhat, intel, ibm, suse and hyper.

CRI-O can only PULL images, not PUSH
because ImagerService in CRI spec only supports pull operation
Anyway CRI-O relies on external library container/images which is capable of pull/push.