From ec4ead0bfee965be95e596d39d4b076e9fe01267 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 28 Feb 2017 00:00:57 +0100 Subject: [PATCH] phpfpm service: add target and slice --- .../services/web-servers/phpfpm/default.nix | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix index f1161c9e19ff..488bd3fe0ef1 100644 --- a/nixos/modules/services/web-servers/phpfpm/default.nix +++ b/nixos/modules/services/web-servers/phpfpm/default.nix @@ -4,6 +4,7 @@ with lib; let cfg = config.services.phpfpm; + enabled = cfg.poolConfigs != {} || cfg.pools != {}; stateDir = "/run/phpfpm"; @@ -119,18 +120,30 @@ in { }; }; - config = { + config = mkIf enabled { + + systemd.slices.phpfpm = { + description = "PHP FastCGI Process manager pools slice"; + }; + + systemd.targets.phpfpm = { + description = "PHP FastCGI Process manager pools target"; + wantedBy = [ "multi-user.target" ]; + }; + systemd.services = flip mapAttrs' poolConfigs (pool: poolConfig: nameValuePair "phpfpm-${pool}" { - description = "PHP FastCGI Process Manager for pool ${pool}"; + description = "PHP FastCGI Process Manager service for pool ${pool}"; after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "phpfpm.target" ]; + partOf = [ "phpfpm.target" ]; preStart = '' mkdir -p ${stateDir} ''; serviceConfig = let cfgFile = fpmCfgFile pool poolConfig; in { + Slice = "phpfpm.slice"; PrivateTmp = true; PrivateDevices = true; ProtectSystem = "full";