Skip to content

Replace sockproc based approach of calling shell commands with ngx.pipe #164

@GUI

Description

@GUI

This functionality isn't available in stable OpenResty yet, but I believe it should be bundled in the upcoming 1.15.x release. The next version will include 2 things that could simplify some things for us:

Both of these offer a built-in way to call shell scripts in a non-blocking fashion, which could replace our current reliance on sockproc and juce/lua-resty-shell. This would simplify various internal mechanics, and also allow for us to publish the package to OPM (#45).

A lot of the reasons this would be nice are outlined in the issue about a pure Lua ACME protocol implementation (#132). While I still think a pure lua-resty ACME protocol would be nice longer-term, I haven't quite found the time for tackling that (but I'm still hoping to get to it some day). This new OpenResty functionality would represent a much smaller change to lua-resty-auto-ssl (since we could still rely on the dehydrated shell script for most of the actual work), but would still offer some pretty nice benefits in terms of simplifying things.

Anyway, I just stumbled upon these new features, so I wanted to make note of it here as something to consider once the new version of OpenResty is released. We may also still want to keep compatibility with the old sockproc approach (since I know not everyone may be able to upgrade immediately), but it would at least be nice to move towards this cleaner and more officially supported way of calling shell scripts once it's out.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions