nixos/haproxy: allow to specify haproxy package

This commit is contained in:
Jan van Brügge 2023-07-30 12:53:51 +01:00
parent b1b263e5f7
commit 90da2c1223
No known key found for this signature in database
GPG Key ID: 88E0BF7B7A546481

View File

@ -17,14 +17,9 @@ with lib;
options = {
services.haproxy = {
enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether to enable HAProxy, the reliable, high performance TCP/HTTP
load balancer.
'';
};
enable = mkEnableOption (lib.mdDoc "HAProxy, the reliable, high performance TCP/HTTP load balancer.");
package = mkPackageOptionMD pkgs "haproxy" { };
user = mkOption {
type = types.str;
@ -70,15 +65,15 @@ with lib;
ExecStartPre = [
# when the master process receives USR2, it reloads itself using exec(argv[0]),
# so we create a symlink there and update it before reloading
"${pkgs.coreutils}/bin/ln -sf ${pkgs.haproxy}/sbin/haproxy /run/haproxy/haproxy"
"${pkgs.coreutils}/bin/ln -sf ${lib.getExe cfg.package} /run/haproxy/haproxy"
# when running the config test, don't be quiet so we can see what goes wrong
"/run/haproxy/haproxy -c -f ${haproxyCfg}"
];
ExecStart = "/run/haproxy/haproxy -Ws -f /etc/haproxy.cfg -p /run/haproxy/haproxy.pid";
# support reloading
ExecReload = [
"${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}"
"${pkgs.coreutils}/bin/ln -sf ${pkgs.haproxy}/sbin/haproxy /run/haproxy/haproxy"
"${lib.getExe cfg.package} -c -f ${haproxyCfg}"
"${pkgs.coreutils}/bin/ln -sf ${lib.getExe cfg.package} /run/haproxy/haproxy"
"${pkgs.coreutils}/bin/kill -USR2 $MAINPID"
];
KillMode = "mixed";