!MthpOIxqJhTgrMNxDS:nixos.org

NixOS ACME / LetsEncrypt

99 Members
Another day, another cert renewal40 Servers

Load older messages


SenderMessageTime
12 Jan 2026
@hexa:lossy.networkhexa
OPTIONS:
   --days value                              The number of days left on a certificate to renew it. (default: 30)
   --dynamic                                 Compute dynamically, based on the lifetime of the certificate(s), when to renew: use 1/3rd of the lifetime left, or 1/2 of the lifetime for short-lived certificates). This supersedes --days and will be the default behavior in Lego v5. (default: false)
00:38:09
@tom:dragar.deTom--dynamic as the new default if validMinDays isn't set?00:40:56
@hexa:lossy.networkhexawip00:42:42
@hexa:lossy.networkhexaRedacted or Malformed Event00:46:44
@hexa:lossy.networkhexa emily: imo skipping based on the remaining time can't work with ari 00:56:58
@hexa:lossy.networkhexabut we already renew "silently" and that should trigger ari based renewals00:57:43
@hexa:lossy.networkhexa and if we default to --dynamic we have nothing to compare against in the is_expiration_skippable function 00:59:49
@hexa:lossy.networkhexabut we could try to replicate the logic used in lego when to pick 1/3 and 1/2 of the remainder01:00:24
@hexa:lossy.networkhexaand then determine the total duration from the certificate01:01:04
@hexa:lossy.networkhexa* and then determine the total duration from the certificate instead01:01:08
@hexa:lossy.networkhexayeah, implemented … I think01:18:32
@emilazy:matrix.orgemilyI was just thinking we could run it much more often with no randomization if it's getting an ARI time from the CA01:28:59
@emilazy:matrix.orgemilybecause then the CA does its own load balancing across renewal times01:29:15
@emilazy:matrix.orgemilyI implemented the skew back before ARI was a thing01:29:47
@hexa:lossy.networkhexahttps://github.com/NixOS/nixpkgs/pull/47920901:50:33
@hexa:lossy.networkhexaI wish we could do something similar for the timer intervall01:51:24
@tom:dragar.deTomis there that much harm in just runniung it more often as the new default?01:53:10
@tom:dragar.deTom* is there that much harm in just running it more often as the new default?01:53:40
@hexa:lossy.networkhexawe're a multiplier, so yes it matters01:56:59
@tom:dragar.deTomfrom my understanding the check on whether to proceed with the renewal is done locally. So it would "only" affect local resources from my understanding?02:04:35
@hexa:lossy.networkhexaRedacted or Malformed Event02:05:05
@hexa:lossy.networkhexa* only while above validMinDays02:05:10
@hexa:lossy.networkhexa* we only fail if above valid min days02:05:24
@hexa:lossy.networkhexaRedacted or Malformed Event02:05:28
@hexa:lossy.networkhexawe run renew always, but only fail if below validMinDays02:06:02
@hexa:lossy.networkhexa
              if is_expiration_skippable out/full.pem; then
                echo 1>&2 "nixos-acme: Ignoring failed renewal because expiration isn't within the coming ${toString data.validMinDays} days"
              else
                # High number to avoid Systemd reserved codes.
                exit 11
02:06:31
@hexa:lossy.networkhexathat's this logic02:06:33
@hexa:lossy.networkhexa *
            if ! lego ${renewOpts} --days ${toString data.validMinDays}; then
              if is_expiration_skippable out/full.pem; then
                echo 1>&2 "nixos-acme: Ignoring failed renewal because expiration isn't within the coming ${toString data.validMinDays} days"
              else
                # High number to avoid Systemd reserved codes.
                exit 11
02:06:46
@tom:dragar.deTomah, okay02:07:36
@hexa:lossy.networkhexa Tom: feel free to test https://github.com/NixOS/nixpkgs/pull/479212 02:12:04

There are no newer messages yet.


Back to Room ListRoom Version: 6