mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-01 15:11:25 +00:00
Updated fcgiwrap's systemd unit to match upstream version.
This commit is contained in:
parent
519c696bcf
commit
d9078d03a3
@ -4,7 +4,6 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.fcgiwrap;
|
||||
|
||||
in {
|
||||
|
||||
options = {
|
||||
@ -21,29 +20,53 @@ in {
|
||||
description = "Number of processes to prefork.";
|
||||
};
|
||||
|
||||
bindSocket = mkOption {
|
||||
type = types.string;
|
||||
default = "unix:/run/fcgiwrap.sock";
|
||||
description = ''
|
||||
Socket to bind to. Valid socket URLs are:
|
||||
unix:/path/to/socket for Unix sockets
|
||||
tcp:dot.ted.qu.ad:port for IPv4 sockets
|
||||
tcp6:[ipv6_addr]:port for IPv6 sockets
|
||||
'';
|
||||
socketType = mkOption {
|
||||
type = types.addCheck types.str (t: t == "unix" || t == "tcp" || t == "tcp6");
|
||||
default = "unix";
|
||||
description = "Socket type: 'unix', 'tcp' or 'tcp6'.";
|
||||
};
|
||||
|
||||
socketAddress = mkOption {
|
||||
type = types.str;
|
||||
default = "/run/fcgiwrap.sock";
|
||||
example = "1.2.3.4:5678";
|
||||
description = "Socket address. In case of a UNIX socket, this should be its filesystem path.";
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "User permissions for the socket.";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Group permissions for the socket.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
systemd.services.fcgiwrap = {
|
||||
after = [ "nss-user-lookup.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wantedBy = optional (cfg.socketType != "unix") "multi-user.target";
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${builtins.toString cfg.preforkProcesses} -s ${cfg.bindSocket}";
|
||||
};
|
||||
ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${builtins.toString cfg.preforkProcesses} ${
|
||||
if (cfg.socketType != "unix") then "-s ${cfg.socketType}:${cfg.socketAddress}" else ""
|
||||
}";
|
||||
} // (if cfg.user != null && cfg.group != null then {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
} else { } );
|
||||
};
|
||||
|
||||
systemd.sockets = if (cfg.socketType == "unix") then {
|
||||
fcgiwrap = {
|
||||
wantedBy = [ "sockets.target" ];
|
||||
socketConfig.ListenStream = cfg.socketAddress;
|
||||
};
|
||||
} else { };
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user