Cool work ;-)
Am 01-03-2015 13:47, schrieb Thierry FOURNIER:
Thanks Willy for the introduction.
I join the first part of the document. All the function are not yet
available. The doc uses a markdown format like that uses GitHub. I join
the original format, and the HTML conversion.
The next steps are:
- collecting users ideas and bug reports,
- add missing functions like native header manipulations,
- check the usage of existing libraries,
- change the 'sleep' engine,
- add execution timeout to prevent infinite loops,
- some other tasks ...
I assume you know the lua module for nginx which is also fully non
What I like in this module is the deep integration into nginx.
Maybe it would be possible to integrate lua-scripting into the check
inject lua code over contorl socket ;-)
On Sat, 28 Feb 2015 23:33:56 +0100
Willy Tarreau <w...@1wt.eu> wrote:
this is just a quick mail to let you know that I've just merged the
work from my coworker Thierry Fournier (in Cc) about supporting Lua
in haproxy. I won't go into lengths explaining how that's supposed to
because I don't really know myself, but I'll let him provide some
and working examples. The real purpose would be to get some feedback,
suggestions, criticisms to get further into this.
At the moment it is possible to declare some Lua-based sample fetch
some converters as well and even to create new tcp-request and
actions. These last ones (the actions) support yielding so that it is
to make blocking calls from the Lua code and benefit from haproxy's
session management and scheduling to switch to something else while
are making progress. Thus the whole system is totally non-blocking and
event-driven, even if in Lua you appear to be blocking.
The long term goal is to be able to quickly provide some features that
not yet possible natively, and eventually to implement some of them
if they're often requested or have a performance impact. Some of the
complex parts such as writing authentication systems relying on
would possibly remain written in Lua only, except if we manage to see
use of certain things and we see a way to implement them cleanly.
Thierry is busy these days, and that's why I asked him to push his
prior to switching to other tasks despite the doc not being there yet.
it's possible we'll have to wait a bit for some doc, but we'll really
testing, bug reports and feedback. Nothing is set in stone yet, he
some ideas on how to improve things. I do still have some concerns
long-term stability and resource usage, as you can expect. So use it
toy first, play with it and tell us if you like it or not, and if not,