Hello,

I'm wondering if in principle it is possible to achieve through embedded
Lua two goals.

* Access to the same sort of information that can be obtained by issuing
HAProxy commands to its UNIX socket

* Reloading the load-balancer from Lua only, i.e. basically the
equivalent of '-sf'

The background is that we use HAProxy as an embedded load-balancer in
Zato and it works perfectly fine, it's marvelous.

However, at the time HAProxy was being used the first time, around early
HAProxy 1.4, it did not support SSL/TLS and there was no Lua so Zato
ended up with having its own agent running in front of it. This agent
accepts remote actions and either communicates with the UNIX socket or
issues reload commands with '-sf'.

https://zato.io/docs/
https://zato.io/docs/architecture/load-balancer.html

This agent does its job but it's always an additional component that, if
possible, could be removed in favour of Lua so the question is if Lua
programs have access to the complete internal API of HAProxy or are they
purposefully limited in their extent.

I am aware of topics such as 'What can and cannot be done using Lua' and
related links but they, methinks, deal with the matter from a different
perspective so I would appreciate your assistance in confirming if it is
possible as such or not really.

http://comments.gmane.org/gmane.comp.web.haproxy/28146
http://www.arpalert.org/haproxy-lua.html

I can likely find my way around HAProxy's source code later on but if by
design Lua cannot is not capable of what is needed then I would just
prefer to clarify it upfront.

best regards,

-- 
Dariusz Suchojad

https://zato.io
ESB, SOA, REST, APIs and Cloud Integrations in Python


Reply via email to