!MthpOIxqJhTgrMNxDS:nixos.org

NixOS ACME / LetsEncrypt

103 Members
Another day, another cert renewal42 Servers

Load older messages


SenderMessageTime
19 Feb 2025
@emilazy:matrix.orgemilythis isn't helpful, the discussion is about the interface lego is providing for it16:53:28
@sandro:supersandro.deSandro 🐧I just wanted to make sure we are all on the same page, didn't know that you already know everything16:54:12
@emilazy:matrix.orgemily this is the sticking point, it doesn't seem like a low --ari-wait-to-renew-duration will actually give you a normal "poll for renewal" interface 16:54:51
@emilazy:matrix.orgemilyit will just look at the recommended renewal and go "nope that's too long" and do it early16:55:01
@emilazy:matrix.orgemily(again, based on my quick reading of the Go that could be wrong)16:55:07
@emilazy:matrix.orgemilyso it seems like we need to let it block indefinitely, which is a total inversion of how our current module works, and we can't even conditionalize on whether certs are using ARI in the Nix code because that's downstream of server-side config16:55:37
@emilazy:matrix.orgemilymaybe we can just let it wait indefinitely and the timer will only fire once?16:55:52
@emilazy:matrix.orgemilythis is why ACME really wants a long-lived daemon :(16:56:07
@hexa:lossy.networkhexasorry, I don't follow your conclusion here16:56:37
@emilazy:matrix.orgemily ok, let's say ARI is enabled, the ACME server says "renew in 2 months", but you pass --ari-wait-to-renew-duration 5m 16:57:22
@hexa:lossy.networkhexahttps://github.com/go-acme/lego/blob/v4.22.2/certificate/renewal.go16:57:49
@emilazy:matrix.orgemilyoh hmm16:57:52
@hexa:lossy.networkhexabeyond my willingless to sleep16:57:52
@hexa:lossy.networkhexaso returns nil16:58:00
@emilazy:matrix.orgemily ok I think I misread ShouldRenewAt 16:58:01
@emilazy:matrix.orgemilyright16:58:08
@emilazy:matrix.orgemilyok, then I think we just set it to a time that will definitely not overlap with the next timer. 23h is too long because of our time skewing16:58:24
@emilazy:matrix.orgemilyI think theoretically you can end up with it running at 23:59 one day and 00:01 the next. not sure how it works exactly16:58:57
@emilazy:matrix.orgemilybut I guess systemd timers will never start twice at once?16:59:01
@hexa:lossy.networkhexa oh yeah, we do AccuracySecs=14400s 16:59:03
@hexa:lossy.networkhexagood call16:59:04
@emilazy:matrix.orgemily I'm not sure what Type= we have on the ACME services 16:59:08
@hexa:lossy.networkhexaoneshot16:59:18
@emilazy:matrix.orgemilyoneshots are only considered started after they complete, right?16:59:29
@emilazy:matrix.orgemilyso the timer can probably start two of them at once? which would be bad. we should probably not be using oneshot16:59:40
@hexa:lossy.networkhexa

the service manager will consider the unit up after the main process exits

17:00:16
@hexa:lossy.networkhexa *

similar to simple; however, the service manager will consider the unit up after the main process exits

17:00:26
@emilazy:matrix.orgemilyright17:00:34
@emilazy:matrix.orgemilywell I dunno, it's probably safe to specify like 12–24 hours assuming that the timer will not try to run lego again if it's still running from the previous timer run17:00:54
@emilazy:matrix.orgemilyI don't understand oneshot well enough to say whether that's the case17:01:00

Show newer messages


Back to Room ListRoom Version: 6