Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optional reload interval and signal #5

Open
jhunt opened this issue Oct 14, 2019 · 0 comments
Open

Optional reload interval and signal #5

jhunt opened this issue Oct 14, 2019 · 0 comments
Assignees

Comments

@jhunt
Copy link
Member

jhunt commented Oct 14, 2019

Some RYODI integrations don't work as well as we would like them to. For example, Traefik is spot-on for handling Let's Encrypt certificate renewal and HTTPS traffic, since it sits in the data path of the requests, but for other tech like the mail server, it doesn't work so well.

The current integration of the Postfix / Dovecot et al. is done by supplying the certificates to the mail server containers via a bind mount, and having part of control plane (traefik-cert-dumper) regularly recreate files on disk. This works, up until the point the certificate gets renewed and neither Postfix nor Dovecot get the memo.

Having the ability to regularly reload configuration of all supervised processes (really, time-delayed signal delivery) would be super handy in these cases; init could just SIGHUP the postmaster and dovecot processes every 24h to ensure that they get the renewed certificates into memory.

Invocation might then look like this:

init --reload-every 24h -- /path/to/exec --daemon

To override the SIGHUP and use a different signal:

init --reload-every 24h --reload-signal USR2

Happily, this even helps with systems that do not handle reloading per se, by using --reload-signal TERM or the even more drastic --reload-signal KILL

@jhunt jhunt self-assigned this Oct 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant