!MthpOIxqJhTgrMNxDS:nixos.org

NixOS ACME / LetsEncrypt

86 Members
Another day, another cert renewal39 Servers

Load older messages


SenderMessageTime
4 Sep 2023
@os:matrix.flyingcircus.ioosnyx (he/him) * My take on the "let's solve it with systemd unit options alone" approach is just the idea that we must be careful to not fall into the when all you want to use is a systemd-253 hammer, everything looks like a unit option nail.
It might be a hammer you know, but that hammer bight also just be adding things to the evergrowing list of interwoven systemd unit relationships…
14:24:55
@os:matrix.flyingcircus.ioosnyx (he/him) changed their display name from Oliver Schmidt to osnyx (he/him).20:10:48
9 Sep 2023
@os:matrix.flyingcircus.ioosnyx (he/him) m1cr0man: Can you take care of the concurrency PR or shall I use the opportunity at NixCon to ask some other ACME team maintainers as well? 17:13:59
@m1cr0man:m1cr0man.comm1cr0manYo merge it? You need to ask like anyone with merge permissions. I approved it right?17:15:21
@os:matrix.flyingcircus.ioosnyx (he/him)
In reply to @m1cr0man:m1cr0man.com
Yo merge it? You need to ask like anyone with merge permissions. I approved it right?
I cannot see any approval, sorry.
17:40:41
@os:matrix.flyingcircus.ioosnyx (he/him)There's a merge party right now. So I guess I should still squash the commits I guess?17:41:07
@os:matrix.flyingcircus.ioosnyx (he/him)https://github.com/NixOS/nixpkgs/pull/24451117:41:33
@os:matrix.flyingcircus.ioosnyx (he/him)So in case I get your approval, I can certainly get it merged.17:42:26
@m1cr0man:m1cr0man.comm1cr0manAh well I can do that 17:43:06
@os:matrix.flyingcircus.ioosnyx (he/him)I'll squash the commits, give me a sec17:43:21
@os:matrix.flyingcircus.ioosnyx (he/him) m1cr0man: squashed an pushed 17:45:28
@m1cr0man:m1cr0man.comm1cr0manCool ok17:45:42
@os:matrix.flyingcircus.ioosnyx (he/him)Thanks a lot17:54:08
21 Sep 2023
@dedmunwalk:matrix.orgdedmunwalk joined the room.23:08:48
22 Sep 2023
@k900:0upti.meK900 changed their profile picture.09:53:38
25 Sep 2023
@os:matrix.flyingcircus.ioosnyx (he/him) m1cr0man: Hey, you probably want to close your alternative PR https://github.com/NixOS/nixpkgs/pull/246665 21:38:44
@m1cr0man:m1cr0man.comm1cr0manty for the reminder21:52:45
2 Oct 2023
@atra1n:matrix.orgTrain joined the room.01:42:45
@os:matrix.flyingcircus.ioosnyx (he/him)Hey, I might have run into a general issue with acme and nginx again, but wonder whether I am holding it wrong because nobody else has complained about it so far: Initial acme certificate generations fail for newly added vhosts when nginx has already been running12:33:31
@raitobezarius:matrix.orgraitobezariusI don't think I encountered this issue personally12:40:47
@raitobezarius:matrix.orgraitobezariusHow is it failing?12:40:59
@os:matrix.flyingcircus.ioosnyx (he/him) Background:
When changing the config file by e.g. adding new vhosts at switch time, nginx is not immediately reloaded and being made aware of the config changes. One of the reasons is that new vhosts might rely on certificate files yet to be generated by the acme subsystem. Reloading is thus triggered by nginx-reload-config.service.
Its dependencies are configured as such that it runs before the respective acme-domain-finished.target, but after the acme-domain.service renew service. That service though communicates with an acme registry and makes the registry fetch the validation response from nginx. With the config not being reloaded yet, nginx does not know the respective vhost and cannot serve a valid response.
12:45:48
@os:matrix.flyingcircus.ioosnyx (he/him) acme: error: 403 :: urn:ietf:params:acme:error:unauthorized 12:46:49
@os:matrix.flyingcircus.ioosnyx (he/him) Failed to fetch certificates. This may mean your DNS records are set up incorrectly. Selfsigned certs are in place and dependant services will still start. 12:47:15
@os:matrix.flyingcircus.ioosnyx (he/him) As nginx is reloaded even after failing scme service runs, the next retry of the service succeeds and after a few minutes, the certs are successfully validated. But the initial switch-to-configuration exits with a failure code. This is not very useful if you call taht switch as a part of a deployment script. 12:48:56
@os:matrix.flyingcircus.ioosnyx (he/him)

I mainly want to know whether

  1. folks here are aware of such issues
  2. this was a concious decision to live with a failing switch that repairs itself after a few minutes
  3. I am holding it wrong.
12:50:03
@os:matrix.flyingcircus.ioosnyx (he/him)The reload situation right now is <nginx.conf updated> -> <acme-selfsigned service run> -> <acme-renew run> -> <nginx-reload-config.service> -> <acme-finished target>12:52:15
@os:matrix.flyingcircus.ioosnyx (he/him)The easiest thing would be (as long as self-signed placeholder certs are used) if it was <nginx.conf updated> -> <acme-selfsigned service run> -> <nginx-reload-config.service> -> <acme-renew run> -> <nginx-reload-config.service> -> <acme-finished target>12:53:04
@os:matrix.flyingcircus.ioosnyx (he/him)Unfortunately, the same service cannot be run mutliple times within the dependency chain of a service (AFAIK). So I am thinking about duplicating the nginx reload service under 2 names to run it before and after an acme renewal. But maybe there's a better option or I am just holding thing the wrong end here.12:54:38
@os:matrix.flyingcircus.ioosnyx (he/him) * As nginx is reloaded even after failing acme service runs, the next retry of the service succeeds and after a few minutes, the certs are successfully validated. But the initial switch-to-configuration exits with a failure code. This is not very useful if you call taht switch as a part of a deployment script. 13:02:42

Show newer messages


Back to Room ListRoom Version: 6