Skip to content

External program provider support from a container #2973

Description

@polettix

Welcome

  • Yes, I've searched for similar issues on GitHub and didn't find any.

How do you use lego?

Docker image

Effective version of lego

v4.33.0 (I think)

Detailed Description

I use Dokku and its letsencrypt plugin, that is based on lego and is run within a Docker image. The only way to "drive" it is through environment variables and as I see it there's no way to provide the code to be run. Hence, as I understand it, this is the only provider that is not supported there.

I see different ways to address this, one on the letsencrypt plugin in Dokku, one here. I'll probably ask the same question there, but I wonder if it's of interest also here, considering that lego itself is also distributed as a Docker image. Of course, solving the issue here would also solve the problem there, so this is why I'm starting here.

One way to provide the code to execute would be in an environment variable itself, like EXEC_CODE or EXEC_CODE_BASE64. This has the pro of being straightforward and the drawback of environment size (it seems that the limit is about 32 kbyte or so).

Another way would be to set a path to somewhere in the net in an environment variable like EXEC_SOURCE or EXEC_URL, from where the program could be downloaded. This is slightly more complicated to setup (it needs something that is capable of providing the code via network) but would stick to using environment variables for data and not for code.

In either case, the new environment variable would allow ensuring the program pointed by EXEC_PATH exists.

It's all for my 2c suggestion, thank you for your attention!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions