Hi there,
I've recently released a piece of software which, among other things,
embeds an HAProxy instance as a load-balancer.
Part of the project is a Python library for controlling HAProxy over SSL
XML-RPC, optionally using client certificates.
Using SSL XML-RPC means it can be used as a standalone server that other
clients - written in languages other than Python - may use to control
HAProxy remotely in a secure way.
The library lets one validate and save HAProxy config file, grab
statistics, invoke commands, restart HAProxy and to do a couple of other
things.
This is a proper Python package and can be used outside of the bigger
project it's currently part of (though there's no PyPI release for it yet).
It's licensed under LGPL and is available on GitHub:
https://github.com/zatosource/zato/blob/master/code/zato-agent/src/zato/agent/load_balancer/server.py
It can be used by any GUI to provide remote access to HAProxy - here are
two examples of how it may look like for instance
https://zato.io/docs/web-admin/load-balancer/gui.html
https://zato.io/docs/web-admin/load-balancer/remote-commands.html
I spoke about it off-list with Willy who suggested I don't post too many
links so it all doesn't look like spam and if anyone is interested in
more details, please contact me directly - dsuch at zato.io - and I'll
lead you on - I'd be very happy to work on making a proper PyPI release
out of it with someone so that other projects can re-use the work :-)
cheers,
--
Dariusz Suchojad
https://zato.io
The next generation ESB and application server. Open-source. In Python.