nixos/prometheus-nginx-exporter: only create service if nginx exporter is enabled

On a system with nginx enabled but the prometheus exporter not enabled,
the prometheus-nginx-exporter service should not be created.

Changed files
+5 -5
nixos
modules
services
monitoring
prometheus
-3
nixos/modules/services/monitoring/prometheus/exporters.nix
···
services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey;
})] ++ [(mkIf config.services.prometheus.exporters.rtl_433.enable {
hardware.rtl-sdr.enable = mkDefault true;
-
})] ++ [(mkIf config.services.nginx.enable {
-
systemd.services.prometheus-nginx-exporter.after = [ "nginx.service" ];
-
systemd.services.prometheus-nginx-exporter.requires = [ "nginx.service" ];
})] ++ [(mkIf config.services.postfix.enable {
services.prometheus.exporters.postfix.group = mkDefault config.services.postfix.setgidGroup;
})] ++ (mapAttrsToList (name: conf:
···
services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey;
})] ++ [(mkIf config.services.prometheus.exporters.rtl_433.enable {
hardware.rtl-sdr.enable = mkDefault true;
})] ++ [(mkIf config.services.postfix.enable {
services.prometheus.exporters.postfix.group = mkDefault config.services.postfix.setgidGroup;
})] ++ (mapAttrsToList (name: conf:
+5 -2
nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
···
'';
};
};
-
serviceOpts = {
serviceConfig = {
ExecStart = ''
${pkgs.prometheus-nginx-exporter}/bin/nginx-prometheus-exporter \
···
${concatStringsSep " \\\n " cfg.extraFlags}
'';
};
-
};
imports = [
(mkRenamedOptionModule [ "telemetryEndpoint" ] [ "telemetryPath" ])
(mkRemovedOptionModule [ "insecure" ] ''
···
'';
};
};
+
serviceOpts = mkMerge ([{
serviceConfig = {
ExecStart = ''
${pkgs.prometheus-nginx-exporter}/bin/nginx-prometheus-exporter \
···
${concatStringsSep " \\\n " cfg.extraFlags}
'';
};
+
}] ++ [(mkIf config.services.nginx.enable {
+
after = [ "nginx.service" ];
+
requires = [ "nginx.service" ];
+
})]);
imports = [
(mkRenamedOptionModule [ "telemetryEndpoint" ] [ "telemetryPath" ])
(mkRemovedOptionModule [ "insecure" ] ''