Transactions are an optional part of the API to allow change over multiple API resources atomically.
Getting an entire snapshot of configuration data is quite compatible with this, since then the explicit use of transactions is not necessary and the dataplane can take care of it on its own.
For ideas on how to make use of the Runtime API to keep servers in a backend up-to-date dynamically, you can also take a look at a HAProxy Kubernetes Ingress Controller implementation that makes use of it here https://github.com/jcmoraisjr/haproxy-ingress#dynamic-scalin...
After 1.8 releases we plan on contributing DNS SRV capability to the controller as well.
The DNS-SD code will ship with HAProxy 1.8, and we will gladly help out by adding it to the above ingress controller after the release. A WIP of that code is up on github in case you’re interested. In fact, HAProxy is full of surprises and little known features (like the dynamic scaling via haproxy runtime api we already contributed to the controller) and we're happy to share them with everyone!
Getting an entire snapshot of configuration data is quite compatible with this, since then the explicit use of transactions is not necessary and the dataplane can take care of it on its own.