Unverified Commit 8ea61130 authored by Martin Weinelt's avatar Martin Weinelt Committed by GitHub
Browse files

nixos/tlsrpt: enable TLSRPT in Postfix (#459781)

parents d7cdece3 ba5974d5
Loading
Loading
Loading
Loading
+74 −63
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ let
  inherit (lib)
    mkEnableOption
    mkIf
    mkMerge
    mkOption
    mkPackageOption
    types
@@ -59,8 +60,6 @@ let
  reportdConfigFile = format.generate "tlsrpt-reportd.cfg" {
    tlsrpt_reportd = dropNullValues cfg.reportd.settings;
  };

  withPostfix = config.services.postfix.enable && cfg.configurePostfix;
in

{
@@ -286,7 +285,24 @@ in
    };
  };

  config = mkIf cfg.enable {
  config = mkMerge [
    (mkIf (cfg.enable && config.services.postfix.enable && cfg.configurePostfix) {
      users.users.postfix.extraGroups = [
        "tlsrpt"
      ];

      services.postfix.settings.main = {
        smtp_tlsrpt_enable = true;
        smtp_tlsrpt_socket_name = cfg.collectd.settings.socketname;
      };

      systemd.services.tlsrpt-reportd.serviceConfig = {
        ReadWritePaths = [ "/var/lib/postfix/queue/maildrop" ];
        SupplementaryGroups = [ "postdrop" ];
      };
    })

    (mkIf cfg.enable {
      environment.etc = {
        "tlsrpt/collectd.cfg".source = collectdConfigFile;
        "tlsrpt/fetcher.cfg".source = fetcherConfigFile;
@@ -299,10 +315,6 @@ in
      };
      users.groups.tlsrpt = { };

    users.users.postfix.extraGroups = lib.mkIf withPostfix [
      "tlsrpt"
    ];

      systemd.services.tlsrpt-collectd = {
        description = "TLSRPT datagram collector";
        documentation = [ "man:tlsrpt-collectd(1)" ];
@@ -347,10 +359,9 @@ in
            "AF_INET6"
            "AF_NETLINK"
          ];
        ReadWritePaths = lib.optionals withPostfix [ "/var/lib/postfix/queue/maildrop" ];
        SupplementaryGroups = lib.optionals withPostfix [ "postdrop" ];
          UMask = "0077";
        };
      };
  };
    })
  ];
}