!MthpOIxqJhTgrMNxDS:nixos.org

NixOS ACME / LetsEncrypt

105 Members
Another day, another cert renewal43 Servers

Load older messages


SenderMessageTime
11 Jan 2026
@hexa:lossy.networkhexa
[Timer]
AccuracySec=17280s
FixedRandomDelay=true
OnCalendar=3/6:00:00
Persistent=yes
RandomizedDelaySec=24h
16:07:40
@hexa:lossy.networkhexaso between 6 and 24 hours16:08:07
@tom:dragar.deTomAFAIK there also is some sort of problem with minica not beeing able to generate placeholder certs for IPv6 addresses. but haven't dug deeper then noticing that there seems to be a a problem in that area16:14:55
@tom:dragar.deTomah, the problem might not be minica but how it's beeing used16:21:19
@tom:dragar.deTom

https://github.com/NixOS/nixpkgs/blob/05f7778bc209d5579d5976cc0e7dc02afa21d1e4/nixos/modules/security/acme/default.nix#L390-L393

$ minica --domains 3fff::1
Invalid domain name "3fff::1"

$ minica --ip-addresses 3fff::1
16:41:14
@arianvp:matrix.orgArian
In reply to @hexa:lossy.network
we hardcode RandomizedDelaySec=24h, which means my 6 hour interval gets stretched by up to 24 hours
Lol oops
18:19:52
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

Show newer messages


Back to Room ListRoom Version: 6