!MthpOIxqJhTgrMNxDS:nixos.org

NixOS ACME / LetsEncrypt

103 Members
Another day, another cert renewal44 Servers

Load older messages


SenderMessageTime
17 Feb 2025
@hexa:lossy.networkhexalooks like we always call lego16:58:13
@emilazy:matrix.orgemilyperhaps we just need to pass an ARI flag then. (not sure why that wouldn't be default)16:58:42
@hexa:lossy.networkhexastill a draft16:59:00
@hexa:lossy.networkhexahttps://datatracker.ietf.org/doc/draft-ietf-acme-ari/16:59:08
@emilazy:matrix.orgemilyI think it's been deployed at Let's Encrypt for a while though17:07:42
@emilazy:matrix.orgemily(years?)17:07:48
@hexa:lossy.networkhexayeah, 2023-202417:10:23
@hexa:lossy.networkhexathey updated the spec a few times17:10:30
@hexa:lossy.networkhexa
      securit.acyme.defaultsextraLegoRenewFlags = [
        # https://datatracker.ietf.org/doc/draft-ietf-acme-ari/
        "--ari-enable"
      ];
17:10:44
@hexa:lossy.networkhexadoes nothing when the acme endpoint does not offer RenewInfo17:11:12
@hexa:lossy.networkhexahttps://letsencrypt.org/2024/04/25/guide-to-integrating-ari-into-existing-acme-clients/#step-5-selecting-a-specific-renewal-time17:12:17
@hexa:lossy.networkhexagiven that lego is not in control about when we run it again that algorithm seems moot17:12:30
@hexa:lossy.networkhexa
   --ari-wait-to-renew-duration value        The maximum duration you're willing to sleep for a renewal time returned by the renewalInfo endpoint. (default: 0s)
17:13:24
@hexa:lossy.networkhexaso this needs to stay at 0, since we cannot deviate interactively from the timer schedule17:13:41
@emilazy:matrix.orgemilyprobably we would need to rearchitect the entire timer logic to implement LE's recommendations17:13:54
@emilazy:matrix.orgemilyit's another thing where modern ACME practices are better suited to long-running manager daemons than cron jobs17:14:11
@emilazy:matrix.orgemilywe do at least randomize enough to avoid a periodic thundering herd17:14:28
@hexa:lossy.networkhexaI think for now it would be good to just enable ARI, so lego would do early renewal, even if the cert lifetime is fine17:14:31
@hexa:lossy.networkhexa* I think for now it would be good to just enable ARI, so lego would do early renewal, even if the perceived cert lifetime is fine17:14:37
@emilazy:matrix.orgemilyyes, would be a good incremental improvement, should be harmless to do by default17:14:44
@hexa:lossy.networkhexa* I think for now it would be good to just enable ARI, so lego would do early renewal, even if the perceived cert lifetime as sufficient17:15:04
@emilazy:matrix.orgemilyif this supports sleeping until lego thinks it'd be a good time to renew even if the endpoint doesn't support ARI, then maybe we could get rid of timers entirely and just run a lego renewal process per domain17:15:25
@emilazy:matrix.orgemilyI suspect not though, in which case it would be a horrible pain to bifurcate the logic17:15:34
@hexa:lossy.networkhexa
 + lego --accept-tos --path . -d juno.lossy.network --email hexa@darmstadt.ccc.de --key-type ec384 --dns rfc2136 --server https://acme-v02.api.letsencrypt.org/directory renew --no-random-sleep --ari-enable --days 30
 2025/02/17 17:17:18 [INFO] [juno.lossy.network] acme: renewalInfo endpoint indicates that renewal is not needed
 2025/02/17 17:17:18 [juno.lossy.network] The certificate expires in 89 days, the number of days defined to perform the renewal is 30: no renewal.
17:17:42
@hexa:lossy.networkhexahttps://github.com/go-acme/lego/blob/master/cmd/cmd_renew.go#L17517:18:36
@hexa:lossy.networkhexaso we could pass a willingness to sleep 23h59m for example17:19:06
@hexa:lossy.networkhexa* so we could pass a willingness to sleep 23h for example17:19:13
@hexa:lossy.networkhexaand lego wouid apparently wait sleeping17:19:38
@hexa:lossy.networkhexa
      extraLegoRenewFlags = [
        # https://datatracker.ietf.org/doc/draft-ietf-acme-ari/
        "--ari-enable"
        "--ari-wait-to-renew-duration=${toString (86400 - 3600)}s" # 23h
      ];
17:33:19
@emilazy:matrix.orgemilyyeah, but what if your ACME provider doesn't support ARI?18:52:09

Show newer messages


Back to Room ListRoom Version: 6