Pacemaker bundles currently support Docker and podman as backends. A newer alternative, CRI, will likely become more important over time.
CRI is an interface standard for container runtimes, optimized for Kubernetes (and thus OpenShift). The idea is that if container backends such as Docker all provide a CRI-compliant interface, clients can use that to interact with them rather than needing to support each backend individually.
CRI is similar to Docker in that a daemon runs in the background, and the command-line interface sends requests to the daemon (as opposed to podman, which works without a daemon and directly manages the containers itself). Currently available daemon-side implementations include CRI-O and containerd.
Currently the main CRI client is the crictl command, so a new ocf:heartbeat:crictl agent might be a good approach. There is some discussion of allowing podman to interact with CRI, so another approach might be to add a new option to the podman agent, if that pans out.
Once an agent is available, we can modify pacemaker to support bundles using it.