This is awesome. Would have loved to have this at my last job.
What about an HAProxy reload actually requires the service to restart? In my experience, many of the config changes I’ve made involve tweaking configs, like timeouts and adding or removing nodes. It seems like these should be easy to simply reread the config and update some values in-memory. Doe anyone understands the HAProxy code base well enough to say why this isn’t possible?
[Comment removed by author]
I’m starting to play with the SaltStack message bus and dynamic HAProxy configs
What do you mean by “dynamic config” in HAProxy? Something where you automatically update the config file and restart HAProxy (similar to what Yelp does)?
Luckily we also write our own client software and can cheat by re-trying in the event of a temporary failure due to a restart/reload
It probably is possible, but just hasn’t yet been a priority. nginx, I believe, supports graceful config reloads, for instance, as does Varnish.
You can change some of these values via the unix socket admin interface too. See section 9.2 of the manual; http://www.haproxy.org/download/1.5/doc/configuration.txt