I don't really understand this:
"Non-cooperating services often use service discovery information in configuration, such as the backends for a load balancer defined in an HAproxy configuration. A generalized configuration rendering system is used to tie service discovery into most non-cooperating services."
The problem is to generate the config file, which etcd doesn't help.