!MthpOIxqJhTgrMNxDS:nixos.org

NixOS ACME / LetsEncrypt

86 Members
Another day, another cert renewal39 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
13 Jun 2023
@emilazy:matrix.orgemilyI feel like there should be a good way to rate limit these services starting without fussing with CPU quotas or whatever.20:21:44
@emilazy:matrix.orgemily okay there is 20:22:08
@emilazy:matrix.orgemilywe have StartLimitIntervalSec/StartLimitBurst/StartLimitAction which look perfect. however, I'm guessing that we would need to switch over to @ units to use it - because otherwise all our services are entirely separate20:22:45
@emilazy:matrix.orgemilyunless it counts the bit after the @ as part of the unit for rate limiting and it's just for making restarts not spam :/20:23:03
@emilazy:matrix.orgemilywe need a systemd expert :)20:23:22
@m1cr0man:m1cr0man.comm1cr0manafaik StartLimit* only applies to services which would enter the failed state? I did consider suggesting that :) however the docs imply it's only for failure. You would need to pair it with Condition/Assert* directives in the unit section, which would be evaluated en masse and actually wouldn't stop concurrency at activation at all20:23:50
@emilazy:matrix.orgemilyit does say "Configure unit start rate limiting. Units which are started more than burst times within an interval time span are not permitted to start any more." but yeah I'm not sure if it would work20:24:32
@m1cr0man:m1cr0man.comm1cr0manI was thinking we could use unit retry logic + ConditionPathExists for really easy locking and semaphores20:24:44
@emilazy:matrix.orgemilymaybe I'm missing some verbiage that applies it's restart-specific but it seems to mostly note that as a side thing?20:25:27
@m1cr0man:m1cr0man.comm1cr0manafaik "Units which are started" means "for each unit started" rather than "for all units started", so dynamic services would all be individual services and have their own startlimits20:25:31
@emilazy:matrix.orgemilybut I have a suspicion that it may treat all @ unit instantiations as separate in which case it wouldn't help us anyway. sigh, ACME issuance should really be handled as a daemon20:25:52
@m1cr0man:m1cr0man.comm1cr0manyarp20:26:02
@m1cr0man:m1cr0man.comm1cr0manat what point do I just right NixCerts-rs20:26:15

Show newer messages


Back to Room ListRoom Version: 6