grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / services / logging / SystemdJournal2Gelf.nix
blob5b2f05f8c0f15677df638003c3c4cd1015239be7
1 { config, lib, pkgs, ... }:
2 let cfg = config.services.SystemdJournal2Gelf;
3 in
5 { options = {
6     services.SystemdJournal2Gelf = {
7       enable = lib.mkOption {
8         type = lib.types.bool;
9         default = false;
10         description = ''
11           Whether to enable SystemdJournal2Gelf.
12         '';
13       };
15       graylogServer = lib.mkOption {
16         type = lib.types.str;
17         example = "graylog2.example.com:11201";
18         description = ''
19           Host and port of your graylog2 input. This should be a GELF
20           UDP input.
21         '';
22       };
24       extraOptions = lib.mkOption {
25         type = lib.types.separatedString " ";
26         default = "";
27         description = ''
28           Any extra flags to pass to SystemdJournal2Gelf. Note that
29           these are basically `journalctl` flags.
30         '';
31       };
33       package = lib.mkPackageOption pkgs "systemd-journal2gelf" { };
35     };
36   };
38   config = lib.mkIf cfg.enable {
39     systemd.services.SystemdJournal2Gelf = {
40       description = "SystemdJournal2Gelf";
41       after = [ "network.target" ];
42       wantedBy = [ "multi-user.target" ];
43       serviceConfig = {
44         ExecStart = "${cfg.package}/bin/SystemdJournal2Gelf ${cfg.graylogServer} --follow ${cfg.extraOptions}";
45         Restart = "on-failure";
46         RestartSec = "30";
47       };
48     };
49   };