Skip to content

Optional reload interval and signal #5

@jhunt

Description

@jhunt

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions