!MthpOIxqJhTgrMNxDS:nixos.org

NixOS ACME / LetsEncrypt

104 Members
Another day, another cert renewal47 Servers

Load older messages


SenderMessageTime
4 Jul 2025
@ctheune:matrix.flyingcircus.ioChristian Theuneyeah, our stack is already interesting, so i'd rather not use caddy (and we have non-http requirements anyway) and the overall integration is quite nice - it's a lot more advanced than what others have, so ... yeah. I was considering replacing the scripted stuff but it's not obvious to be better as a replacement when trying to start from the ground up ... 🙂10:00:53
@ctheune:matrix.flyingcircus.ioChristian Theunei started this week with the assumption of "lets make it a proper service" but then the dependency management around it for consumers is quite complex anyway and this means doing stuff in "systemd land" isn't going away either ... 10:01:33
@ctheune:matrix.flyingcircus.ioChristian Theuneso, at the moment: this makes me understand the code base much better and maybe we can turn it into a proper service at another point in time. lego as the client is quite valuable, so traefik would be an option, but then it gets in the way with other http stuff or needs more layering)10:02:35
@emilazy:matrix.orgemilyto be clear, you can use Caddy as an "issue TLS certs to files" daemon, for HTTP-01, TLS-ALPN-01, and DNS-0110:21:59
@emilazy:matrix.orgemily without any HTTP server component (beyond serving .well-known/acme-challenge if you use HTTP-01) 10:22:10
@emilazy:matrix.orgemilyit is one of the few ACME implementations that gets most of the things in https://github.com/https-dev/docs/blob/master/acme-ops.md right (I mean, the author co-wrote that document so not too surprising, and some of them are irrelevant these days, but :) )10:23:16
@emilazy:matrix.orgemilyanyway, not the optimal solution for every setup for sure, especially if you already integrate tightly with the NixOS ACME support10:23:31
@emilazy:matrix.orgemilyjust want to throw out that it is a very competent ACME client and if you have complex scaling needs that the module isn't covering it is worth considering for that purpose10:23:54
@emilazy:matrix.orgemily(it used to use lego internally but moved to its own acmez implementation because of lego design limitations)10:25:15
@ctheune:matrix.flyingcircus.ioChristian Theunethanks for that input! 🙂10:27:56
@ctheune:matrix.flyingcircus.ioChristian Theuneinterestingly the doc is a bit outdated already, though ... 10:30:34
@emilazy:matrix.orgemilywell that is just reference material for ACME client developers from >half a decade ago11:09:15
@emilazy:matrix.orgemilymost of it is still good, it's just OCSP stapling went away and ARI changed the renewal timing landscape a bit and so on11:09:40
@ctheune:matrix.flyingcircus.ioChristian Theuneyup12:12:06
@ctheune:matrix.flyingcircus.ioChristian Theuneas an outsider that just makes it hard to estimate which parts. i did understand it that way: ocsp and ari having changed.12:12:30
@emilazy:matrix.orgemilywell, it's only really relevant for client developers, or comparing existing implementations but then you basically have to read code to see what they get right in some cases12:28:14
@emilazy:matrix.orgemilythe fundamental issue with lego is that things like ARI don't fit great into a cron job type format if you want the best implementation of them12:29:00
@emilazy:matrix.orgemilyand all the hashing etc. we have to do around it is just working around the model not being quite right12:29:20
@emilazy:matrix.orgemily(the end result does work well though at least at medium scale, it just takes a whole bunch of complexity to make the square peg fit the round hole)12:29:44
@ctheune:matrix.flyingcircus.ioChristian Theuneyup12:34:38
@ctheune:matrix.flyingcircus.ioChristian Theunedo you know what the list of supported DNS-01 provider APIs looks like in acmez compared to lego?12:35:05
@ctheune:matrix.flyingcircus.ioChristian Theuneso far that's been the reason why I decided to stick with lego for now.12:35:14
@ctheune:matrix.flyingcircus.ioChristian Theune I got a green bar on the refactoring I demoed above. Trying to get the other tests clean again now. On disk formats are all compatible ... \o/ 12:35:38
@ctheune:matrix.flyingcircus.ioChristian TheuneI need to explicitly praise the test coverage in the acme module. This helps a lot to find little glitches that I didn't properly catch.13:21:03
@ctheune:matrix.flyingcircus.ioChristian Theune🎉13:21:06
@ctheune:matrix.flyingcircus.ioChristian Theuneso ... anyway ... i'll have to clean this up a bit more. i'll also need to rework the locking (with systemd 258 we could leverage the slice parallel unit limits, but i'll do a small change to get rid of the static hashing from build time to put it into a runtime solution as an intermediate step)13:45:05
@ctheune:matrix.flyingcircus.ioChristian Theuneoff from the sprint for now ... 13:45:09
@emilazy:matrix.orgemily everything libdns supports 14:31:00
@emilazy:matrix.orgemilyit's pretty extensive14:31:05
@emilazy:matrix.orgemilyhttps://github.com/orgs/libdns/repositories?type=all14:31:20

Show newer messages


Back to Room ListRoom Version: 6