diff options
Diffstat (limited to 'nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix')
-rw-r--r-- | nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix index 4d3c1fa267e5..9f402b123110 100644 --- a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix +++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix @@ -10,17 +10,17 @@ in extraOpts = { group = mkOption { type = types.str; - description = '' + description = lib.mdDoc '' Group under which the postfix exporter shall be run. It should match the group that is allowed to access the - <literal>showq</literal> socket in the <literal>queue/public/</literal> directory. - Defaults to <literal>services.postfix.setgidGroup</literal> when postfix is enabled. + `showq` socket in the `queue/public/` directory. + Defaults to `services.postfix.setgidGroup` when postfix is enabled. ''; }; telemetryPath = mkOption { type = types.str; default = "/metrics"; - description = '' + description = lib.mdDoc '' Path under which to expose metrics. ''; }; @@ -28,7 +28,7 @@ in type = types.path; default = "/var/log/postfix_exporter_input.log"; example = "/var/log/mail.log"; - description = '' + description = lib.mdDoc '' Path where Postfix writes log entries. This file will be truncated by this exporter! ''; @@ -37,7 +37,7 @@ in type = types.path; default = "/var/lib/postfix/queue/public/showq"; example = "/var/spool/postfix/public/showq"; - description = '' + description = lib.mdDoc '' Path where Postfix places its showq socket. ''; }; @@ -45,40 +45,42 @@ in enable = mkOption { type = types.bool; default = true; - description = '' + description = lib.mdDoc '' Whether to enable reading metrics from the systemd journal instead of from a logfile ''; }; unit = mkOption { type = types.str; default = "postfix.service"; - description = '' + description = lib.mdDoc '' Name of the postfix systemd unit. ''; }; slice = mkOption { type = types.nullOr types.str; default = null; - description = '' + description = lib.mdDoc '' Name of the postfix systemd slice. - This overrides the <option>systemd.unit</option>. + This overrides the {option}`systemd.unit`. ''; }; journalPath = mkOption { type = types.nullOr types.path; default = null; - description = '' + description = lib.mdDoc '' Path to the systemd journal. ''; }; }; }; serviceOpts = { + after = mkIf cfg.systemd.enable [ cfg.systemd.unit ]; serviceConfig = { DynamicUser = false; # By default, each prometheus exporter only gets AF_INET & AF_INET6, # but AF_UNIX is needed to read from the `showq`-socket. RestrictAddressFamilies = [ "AF_UNIX" ]; + SupplementaryGroups = mkIf cfg.systemd.enable [ "systemd-journal" ]; ExecStart = '' ${pkgs.prometheus-postfix-exporter}/bin/postfix_exporter \ --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ |